API Reference > OdGe Classes > OdGe Structure
OdGe Structure
Syntax
C++
struct OdGe { const OdGeLibVersion gLibVersion; enum { eGood, eBad }; enum 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, kHelix, kSpunSurface, kSegmentChain2d, kRevolvedSurface, kRuled, kDummy1, kDummy2, kDummy3, kDummy4, kDummy5, kDummy6, kDummy7, kDummy8, kDummy9 }; enum ExternalEntityKind { kAcisEntity = 0, kGe3dCurveEntity = 1, kGe3dSurfaceEntity = 2, kExternalEntityUndefined, kBimEntity }; enum PointContainment { kInside, kOutside, kOnBoundary }; enum NurbSurfaceProperties { kUninit = 0x00, kOpen = 0x01, kClosed = 0x02, kPeriodic = 0x04, kRational = 0x08, kNoPoles = 0x10, kPoleAtMin = 0x20, kPoleAtMax = 0x40, kPoleAtBoth = 0x80 }; enum OffsetCrvExtType { kFillet, kChamfer, kExtend }; enum OdGeXConfig { 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 }; enum BooleanType { kUnion, kSubtract, kCommon }; enum ClipError { eOk, eInvalidClipBoundary, eNotInitialized }; enum ClipCondition { kInvalid, kAllSegmentsInside, kSegmentsIntersect, kAllSegmentsOutsideZeroWinds, kAllSegmentsOutsideOddWinds, kAllSegmentsOutsideEvenWinds }; enum ErrorCondition { kOk, k0This, k0Arg1, k0Arg2, kPerpendicularArg1Arg2, kEqualArg1Arg2, kEqualArg1Arg3, kEqualArg2Arg3, kLinearlyDependentArg1Arg2Arg3, kArg1TooBig, kArg1OnThis, kArg1InsideThis, kNonCoplanarGeometry, kDegenerateGeometry, kSingularPoint }; enum csiConfig { kXUnknown, kXOut, kXIn, kXTanOut, kXTanIn, kXCoincident, kXCoincidentUnbounded }; enum ssiType { kSSITransverse, kSSITangent, kSSIAntiTangent }; enum ssiConfig { kSSIUnknown, kSSIOut, kSSIIn, kSSICoincident }; enum OdGeIntersectError { kXXOk, kXXIndexOutOfRange, kXXWrongDimensionAtIndex, kXXUnknown }; enum OdGeKnotParameterization { kChord = 0x0, kSqrtChord = 0x1, kUniform = 0x2, kCustomParameterization = 0xF, kNotDefinedKnotParam = 0x10 }; };

Ge.h

Members 
Description 
kAcisEntity = 0 
External Entity is an ACIS entity 
kGe3dCurveEntity = 1 
External Entity is an OdGeCurve3d* entity 
kGe3dSurfaceEntity = 2 
External Entity is an OdGeSurface3d* entity 
kExternalEntityUndefined 
External Entity is undefined. 
kInside 
Point is inside the boundary. 
kOutside 
Point is outside the boundary. 
kOnBoundary 
Point on the boundary. 
kUninit = 0x00 
Uninit 
kOpen = 0x01 
Open 
kClosed = 0x02 
Closed 
kPeriodic = 0x04 
Periodic 
kRational = 0x08 
Rational 
kNoPoles = 0x10 
No Poles 
kPoleAtMin = 0x20 
Pole at Min 
kPoleAtMax = 0x40 
Pole at Max 
kPoleAtBoth = 0x80 
Pole at Both 
kUnion 
Union 
kSubtract 
Subtraction 
kCommon 
Intersection 
eOk 
OK 
eInvalidClipBoundary 
Invalid Clip Boundary 
eNotInitialized 
Clip Boundary was not Initialized 
kInvalid 
An error occurred, probably due to invalid initialization of clipping object. 
kAllSegmentsInside 
All segments are inside the clip boundary. 
kSegmentsIntersect 
At least one segment crosses the clip boundary. 
kAllSegmentsOutsideZeroWinds 
The clip boundary is outside, and not encircled by, the clip boundary. 
kAllSegmentsOutsideOddWinds 
The clip boundary is inside, and encircled by, the clip boundary. 
kAllSegmentsOutsideEvenWinds 
The clip boundary is outside, but, encircled by, the clip boundary. 
kOk 
OK 
k0This 
This object is 0. 
k0Arg1 
Argument 1 is 0. 
k0Arg2 
Argument 2 is 0. 
kPerpendicularArg1Arg2 
Arguments 1 and 2 are perpendicular to each other. 
kEqualArg1Arg2 
Arguments 1 and 2 are equal. 
kEqualArg1Arg3 
Arguments 1 and 3 are equal. 
kEqualArg2Arg3 
Arguments 2 and 3 are equal. 
kLinearlyDependentArg1Arg2Arg3 
Arguments 1, 2, and 3 are linearly dependent. 
kArg1TooBig 
Argument 1 is too big. 
kArg1OnThis 
Argument 1 is on this object. 
kArg1InsideThis 
Argument 1 is inside this object. 
kNonCoplanarGeometry 
Geometry is not coplanar. 
kDegenerateGeometry 
Geometry is degenerate. 
kSingularPoint 
Geometry is one point. 
kXUnknown 
Unknown. 
kXOut 
Transverse -- Curve neighborhood is outside this surface. 
kXIn 
Transverse -- Curve neighborhood is inside this surface. 
kXTanOut 
Tangent -- Curve neighborhood is outside this surface. 
kXTanIn 
Tangent -- Curve neighborhood is inside this surface. 
kXCoincident 
Non-zero length -- Point is on the intersection boundary. 
kXCoincidentUnbounded 
Non-zero length -- Point is on an arbitrary *point* on an unbounded intersection. 
kSSITransverse 
Non-tangent intersection. 
kSSITangent 
Tangent intersection with surface normals codirectional at any point within the component. 
kSSIAntiTangent 
Tangent intersection with surface normals antidirectional at any point within the component. 
kSSIUnknown 
Unknown. 
kSSIOut 
Neighborhood is outside this surface. 
kSSIIn 
Neighborhood is inside this surface. 
kSSICoincident 
Non-zero area intersection. 
kXXOk 
OK 
kXXIndexOutOfRange 
Index out of range 
kXXWrongDimensionAtIndex 
Wrong dimension at index. 
kXXUnknown 
Unknown. 
kChord = 0x0 
Chord parametrization 
kSqrtChord = 0x1 
Chord square root parametrization 
kUniform = 0x2 
Uniform parametrization 
kCustomParameterization = 0xF 
Custom parametrization 
kNotDefinedKnotParam = 0x10 
Knot parametrization isn't defined 

The OdGe classes are used to carry out general 2D and 3D geometric operations. 

Corresponding C++ library: TD_Ge 

 

Copyright © 2002–2020. Open Design Alliance. All rights reserved.