AcGe 结构

 

AcGe 结构

gelib提供一个类似名称空间的结构。

头文件gegblabb.h包含AcGe结构中的枚举类型值的常数定义,因此它们可在没有“AcGe::”范围解析符情况下使用。例如,如果头文件gegblabb.h包含在源文件中,则以下声明

const AcGe::EntityId kEntity2d = AcGe::kEntity2d;

被使用且kEntity2d可以用于代替AcGe::kEntity2d

这只在确定没有名称冲突时才能使用。

继承自

包含文件

gegblge.h

成员

枚举

AcGe::(unnamed) 枚举

(unnamed)

名称

说明

eGood

 

 

eBad

 

 

AcGe::AcGeIntersectError 枚举

头文件gegblabb.h包含AcGeIntersectError值的常数定义,因此它们可在没有“AcGe::”范围解析符情况下使用。这只在确定没有名称冲突时才能使用。

AcGeIntersectError

名称

说明

kXXOk

 

 

kXXIndexOutOfRange

 

 

kXXWrongDimensionAtIndex

 

 

kXXUnknown

 

 

AcGe::AcGeXConfig 枚举

AcGeXConfig

名称

说明

kNotDefined

1 << 0

 

kUnknown

1 << 1

 

kLeftRight

1 << 2

 

kRightLeft

1 << 3

 

kLeftLeft

1 << 4

 

kRightRight

1 << 5

 

kPointLeft

1 << 6

 

kPointRight

1 << 7

 

kLeftOverlap

1 << 8

 

kOverlapLeft

1 << 9

 

kRightOverlap

1 << 10

 

kOverlapRight

1 << 11

 

kOverlapStart

1 << 12

 

kOverlapEnd

1 << 13

 

kOverlapOverlap

1 << 14

 

AcGe::BooleanType 枚举

BooleanType

名称

说明

kUnion

 

 

kSubtract

 

 

kCommon

 

 

AcGe::ClipCondition 枚举

ClipCondition

名称

说明

kInvalid

 

 

kAllSegmentsInside

 

 

kSegmentsIntersect

 

 

kAllSegmentsOutsideZeroWinds

 

 

kAllSegmentsOutsideOddWinds

 

 

kAllSegmentsOutsideEvenWinds

 

 

AcGe::ClipError 枚举

ClipError

名称

说明

eOk

 

 

eInvalidClipBoundary

 

 

eNotInitialized

 

 

AcGe::csiConfig 枚举

曲线/曲面相交配置。

这些值对相交进行分类且对与曲线/曲面相交上邻接或下邻接的曲线进行分类。上或下是相对曲线参数而言。如果一个相交为非空的、非重合的或非相切的,则相交为贯穿的。面的内侧或外侧是相对于它的表面法向方向而言。

csiConfig

名称

说明

kXUnknown

 

 

kXOut

 

贯穿的。相邻曲线在面外侧。

kXIn

 

贯穿的。相邻曲线在面内侧。

kXTanOut

 

相切的。相邻曲线在面外侧。

kXTanIn

 

相切的。相邻曲线在面内侧。

kXCoincident

 

非零长度。点在相交边界上。

kXCoincidentUnbounded

 

非零长度。点是无限大的相交集上的任意点。

AcGe::EntityId 枚举

头文件gegblabb.h包含EntityId值的常数定义,因此它们可在没有“AcGe::”范围解析符情况下使用。这只在确定没有名称冲突时才能使用。

EntityId

名称

说明

kEntity2d

 

 

kEntity3d

 

 

kPointEnt2d

 

 

kPointEnt3d

 

 

kPosition2d

 

 

kPosition3d

 

 

kPointOnCurve2d

 

 

kPointOnCurve3d

 

 

kPointOnSurface

 

 

kBoundedPlane

 

 

kCircArc2d

 

 

kCircArc3d

 

 

kConic2d

 

 

kConic3d

 

 

kCurve2d

 

 

kCurve3d

 

 

kEllipArc2d

 

 

kEllipArc3d

 

 

kLine2d

 

 

kLine3d

 

 

kLinearEnt2d

 

 

kLinearEnt3d

 

 

kLineSeg2d

 

 

kLineSeg3d

 

 

kPlanarEnt

 

 

kPlane

 

 

kRay2d

 

 

kRay3d

 

 

kSurface

 

 

kSphere

 

 

kCylinder

 

 

kTorus

 

 

kCone

 

 

kSplineEnt2d

 

 

kPolyline2d

 

 

kAugPolyline2d

 

 

kNurbCurve2d

 

 

kDSpline2d

 

 

kCubicSplineCurve2d

 

 

kSplineEnt3d

 

 

kPolyline3d

 

 

kAugPolyline3d

 

 

kNurbCurve3d

 

 

kDSpline3d

 

 

kCubicSplineCurve3d

 

 

kTrimmedCrv2d

 

 

kCompositeCrv2d

 

 

kCompositeCrv3d

 

 

kExternalSurface

 

 

kNurbSurface

 

 

kTrimmedSurface

 

 

kOffsetSurface

 

 

kEnvelope2d

 

 

kCurveBoundedSurface

 

 

kExternalCurve3d

 

 

kExternalCurve2d

 

 

kSurfaceCurve2dTo3d

 

 

kSurfaceCurve3dTo2d

 

 

kExternalBoundedSurface

 

 

kCurveCurveInt2d

 

 

kCurveCurveInt3d

 

 

kBoundBlock2d

 

 

kBoundBlock3d

 

 

kOffsetCurve2d

 

 

kOffsetCurve3d

 

 

kPolynomCurve3d

 

 

kBezierCurve3d

 

 

kObject

 

 

kFitData3d

 

 

kHatch

 

 

kTrimmedCurve2d

 

 

kTrimmedCurve3d

 

 

kCurveSampleData

 

 

kEllipCone

 

 

kEllipCylinder

 

 

kIntervalBoundBlock

 

 

kClipBoundary2d

 

 

kExternalObject

 

 

kCurveSurfaceInt

 

 

kSurfaceSurfaceInt

 

 

AcGe::ErrorCondition 枚举

头文件gegblabb.h包含ErrorCondition值的常数定义,因此它们可在没有“AcGe::”范围解析符情况下使用。这只在确定没有名称冲突时才能使用。

ErrorCondition

名称

说明

kOk

 

 

k0This

 

 

k0Arg1

 

 

k0Arg2

 

 

kPerpendicularArg1Arg2

 

 

kEqualArg1Arg2

 

 

kEqualArg1Arg3

 

 

kEqualArg2Arg3

 

 

kLinearlyDependentArg1Arg2Arg3

 

 

kArg1TooBig

 

 

kArg1OnThis

 

 

kArg1InsideThis

 

 

AcGe::ExternalEntityKind 枚举

头文件gegblabb.h包含ExternalEntitykind值的常数定义,因此它们可在没有“AcGe::”范围解析符情况下使用。这只在确定没有名称冲突时才能使用。

ExternalEntityKind

名称

说明

kAcisEntity

0

 

kExternalEntityUndefined

 

 

AcGe::NurbSurfaceProperties 枚举

头文件gegblabb.h包含NurbSurfaceProperties值的常数定义,因此它们可在没有“AcGe::”范围解析符情况下使用。这只在确定没有名称冲突时才能使用。

NurbSurfaceProperties

名称

说明

kOpen

0x01

 

kClosed

0x02

 

kPeriodic

0x04

 

kRational

0x08

 

kNoPoles

0x10

 

kPoleAtMin

0x20

 

kPoleAtMax

0x40

 

kPoleAtBoth

0x80

 

AcGe::OffsetCrvExtType 枚举

OffsetCrvExtType

名称

说明

kFillet

 

 

kChamfer

 

 

kExtend

 

 

AcGe::PointContainment 枚举

头文件gegblabb.h包含PointContainment值的常数定义,因此它们可在没有“AcGe::”范围解析符情况下使用。这只在确定没有名称冲突时才能使用。

PointContainment

名称

说明

kInside

 

 

kOutside

 

 

kOnBoundary

 

 

AcGe::ssiConfig 枚举

曲面/曲面相交配置。

这些值将曲面/曲面相交曲线的相邻的左边或右边的一个面的相邻面相对于其他曲面进行分类。内侧(外侧)相对于其他面的面法向方向表示相邻面在其他面的内部(外部)。曲面上的一条曲线的左边和右边的曲面是相对于它的面法向方向和曲线参数的方向而言。

ssiConfig

名称

说明

kSSIUnknown

 

 

kSSIOut

 

相邻曲面在曲面外侧。

kSSIIn

 

相邻曲面在曲面内侧。

kSSICoincident

 

非零面积相交。

AcGe::ssiType 枚举

这些值对曲面/曲面相交部分进行分类。

ssiType

名称

说明

kSSITransverse

 

非相切相交。

kSSITangent

 

切线相交。面法向矢量在组分中任何点上相同。

kSSIAntiTangent

 

切线相交。面法向矢量在组分中任何点上相反。

成员数据

const AcGeLibVersion gLibVersion

 

 

AcGeContext 结构

AcGeContext结构为一个误差数据值和一些在AcGe库中使用的函数提供一个名称空间。

继承自

包含文件

gegbl.h

成员

成员数据

AcGeTol gTol

 

提供一个全局的默认偏差对象。这是包含默认的AcGeTol偏差值(equalPointequalVector偏差设为1.e-10)的一个AcGeTol对象。

void (*gSetExternalStore)(const void*)

void (*gErrorFunc)()

 

此函数指针可被设为指向可用于处理错误的一个函数。默认情况下,这个指针指向一个空函数(即,只执行返回的函数)。

void (*gOrthoVector)(const AcGeVector3d&,AcGeVector3d&)

 

此函数指针指向用于计算与vec正交的矢量且将orthoVec设置为结果的函数。
如果XY组分的绝对值均小于1/64,则:
orthoVec.x
设为vec.z
orthoVec.y
设为0.0
orthoVec.z
设为-vec.x
否则:
orthoVec.x
设为vec.y
orthoVec.y
设为vec.x
orthoVec.z
设为0.0

void* (*gAllocMem)(size_t)

此函数指针指向一个用于分配内存的用户定义函数。

所有gelib中的新操作使用gAllocMem指向的函数。如果一个应用程序使用一个与gelib不同的内存管理器,则此函数指针可被设为指向应用程序的自身的内存分配函数。这将避免了应用程序将由gelib使用一个不同于应用程序的内存管理器创建的对象删除时可能引起的问题。

void (*gFreeMem)(void*)

 

此函数指针指向一个用户定义的函数用于释放内存。所有gelib中的删除操作使用gFreeMem指向的函数。

void* (*gAllocMemNear) (size_t, AcGe::metaTypeIndex, const void* )

void* (*gAllocMemNearVector) (size_t, AcGe::metaTypeIndex, unsigned int, const void* )

void* (*gAllocMemLeak)(size_t, const char *, int)