Close

Relief for ODA Team in Ukraine

Learn more
ODA Kernel SDK
OdGe Structure
Syntax
C++
struct OdGe { const OdGeLibVersion gLibVersion; 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, kEdgeCurve, kDummy1, kDummy2, kDummy3, kDummy4, kDummy5, kDummy6, kDummy7, kDummy8, kDummy9 }; enum ExternalEntityKind { kAcisEntity = 0, kGe3dCurveEntity = 1, kGeSurfaceEntity = 2, kExternalEntityUndefined, kBimEntity, kIfcEntity }; 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 }; };
Members
Description
gLibVersion
Version of the OdGe library being used
kEntity2d
Entity 2d.
kEntity3d
Entity 3d.
kPointEnt2d
Point entity 2d.
kPointEnt3d
Point entity 3d.
kPosition2d
Position 2d.
kPosition3d
Position 3d.
kPointOnCurve2d
Point on curve 2d.
kPointOnCurve3d
Point on curve 3d.
kPointOnSurface
Point on surface.
kBoundedPlane
Bounded plane.
kCircArc2d
Circular arc 2d.
kCircArc3d
Circular arc 3d.
kConic2d
Conic 2d.
kConic3d
Conic 3d.
kCurve2d
Curve 2d.
kCurve3d
Curve 3d.
kEllipArc2d
Elliptical arc 2d.
kEllipArc3d
Elliptical arc 3d.
kLine2d
Line 2d.
kLine3d
Line 3d.
kLinearEnt2d
Linear entity 2d.
kLinearEnt3d
Linear entity 3d.
kLineSeg2d
Line segment 2d.
kLineSeg3d
Line segment 3d.
kPlanarEnt
Planar entity.
kPlane
Plane.
kRay2d
Ray 2d.
kRay3d
Ray 3d.
kSurface
Surface.
kSphere
Sphere.
kCylinder
Cylinder.
kTorus
Torus.
kCone
Cone.
kSplineEnt2d
Spline entity 2d.
kPolyline2d
Polyline 2d.
kAugPolyline2d
Augmented polyline 2d.
kNurbCurve2d
Nurb curve 2d.
kDSpline2d
DSpline 2d.
kCubicSplineCurve2d
Cubic spline curve 2d.
kSplineEnt3d
Spline entity 3d.
kPolyline3d
Polyline 3d.
kAugPolyline3d
Augmented polyline 3d.
kNurbCurve3d
NurbCurve3d.
kDSpline3d
DSpline 3d.
kCubicSplineCurve3d
Cubic spline curve 3d.
kTrimmedCrv2d
Trimmed Curve 2d.
kCompositeCrv2d
Composite curve 2d.
kCompositeCrv3d
Composite curve 3d.
kExternalSurface
External Surface.
kNurbSurface
Nurb surface.
kTrimmedSurface
Trimmed surface.
kOffsetSurface
Offset surface.
kEnvelope2d
Envelope 2d.
kCurveBoundedSurface
Curve bounded surface.
kExternalCurve3d
External curve 3d.
kExternalCurve2d
External curve 2d.
kSurfaceCurve2dTo3d
Surface curve 2d to 3d.
kSurfaceCurve3dTo2d
Surface curve 3d to 2d.
kExternalBoundedSurface
External bounded surface.
kCurveCurveInt2d
Curve-curve intersector 2d.
kCurveCurveInt3d
Curve-curve intersector 3d.
kBoundBlock2d
Bounding block 2d.
kBoundBlock3d
Bounding block 3d.
kOffsetCurve2d
Offset curve 2d.
kOffsetCurve3d
Offset curve 3d.
kPolynomCurve3d
Polynomial curve 3d.
kBezierCurve3d
Bezier curve 3d.
kObject
Object.
kFitData3d
Fit data 3d.
kHatch
Hatch.
kTrimmedCurve2d
Trimmed curve 2d.
kTrimmedCurve3d
Trimmed curve 3d.
kCurveSampleData
Curve sample data.
kEllipCone
Elliptical cone.
kEllipCylinder
Elliptical cylinder.
kIntervalBoundBlock
Interval bounding block.
kClipBoundary2d
Clip boundary 2d.
kExternalObject
External object.
kCurveSurfaceInt
Curve-surface intersector.
kSurfaceSurfaceInt
Surface-surface intersector.
kHelix
Helix.
kSpunSurface
Spun surface.
kSegmentChain2d
Segment chain 2d.
kRevolvedSurface
Revolved surface.
kRuled
Ruled surface.
kEdgeCurve
Edge curve (for internal use only).
kDummy1
Dummy value 1.
kDummy2
Dummy value 2.
kDummy3
Dummy value 3.
kDummy4
Dummy value 4.
kDummy5
Dummy value 5.
kDummy6
Dummy value 6.
kDummy7
Dummy value 7.
kDummy8
Dummy value 8.
kDummy9
Dummy value 9.
kAcisEntity
External Entity is an ACIS entity.
kGe3dCurveEntity
External Entity is an OdGeCurve3d* entity.
kGeSurfaceEntity
External Entity is an OdGeSurface* entity.
kExternalEntityUndefined
External Entity is undefined.
kBimEntity
External Entity is a BimRv entity.
kIfcEntity
External Entity is IFC entity
kInside
Point is inside the boundary.
kOutside
Point is outside the boundary.
kOnBoundary
Point is the boundary.
kUninit
Nurb surface is uninitialized.
kOpen
Nurb surface is open.
kClosed
Nurb surface is closed.
kPeriodic
Nurb surface is periodic.
kRational
Nurb surface is rational.
kNoPoles
Nurb surface has no poles.
kPoleAtMin
Nurb surface has a pole at the lower bound.
kPoleAtMax
Nurb surface has a pole at the upper bound.
kPoleAtBoth
Nurb surface has poles at the lower and upper bounds.
kFillet
Fillet.
kChamfer
Chamfer.
kExtend
Extend.
kNotDefined
Configuration is not defined.
kUnknown
Unknown configuration.
kLeftRight
First curve crosses the second curve from left to right.
kRightLeft
First curve crosses the second curve from right to left.
kLeftLeft
First curve touches the second curve from the left.
kRightRight
First curve touches the second curve from the right.
kPointLeft
First curve starts or ends in the intersection point and is to the left from the second curve.
kPointRight
First curve starts or ends in the intersection point and is to the right from the second curve.
kLeftOverlap
First curve is to the left from the second curve before the intersection point and curves are overlapping after the intersection point.
kOverlapLeft
Curves are overlapping before the intersection point and first curve is to the left from the second curve after the intersection point.
kRightOverlap
First curve is to the right from the second curve before the intersection point and curves are overlapping after the intersection point.
kOverlapRight
Curves are overlapping before the intersection point and first curve is to the right from the second curve after the intersection point.
kOverlapStart
First curve starts in the intersection point and is overlapping with the second curve nearby.
kOverlapEnd
First curve ends in the intersection point and is overlapping with the second curve nearby.
kOverlapOverlap
Curves are overlapping before and after the intersection point.
kUnion
Boolean union.
kSubtract
Boolean subtraction.
kCommon
Boolean intersection.
eOk
No error.
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 clipped polygon is outside the clip region, and the clip region is not encircled by the clipped polygon.
kAllSegmentsOutsideOddWinds
The clipped polygon is outside the clip region, and the clip region is encircled by the clipped polygon an odd number of times. This normally indicates that the clip region is inside the region enclosed by the input polygon.
kAllSegmentsOutsideEvenWinds
The clipped polygon is outside the clip region, and the clip region is encircled by the clipped polygon an even number of times.
kOk
No error.
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 configuration.
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 configuration.
kSSIOut
Neighborhood is outside this surface.
kSSIIn
Neighborhood is inside this surface.
kSSICoincident
Non-zero area intersection.
kXXOk
No error.
kXXIndexOutOfRange
Index out of range.
kXXWrongDimensionAtIndex
Wrong dimension at index.
kXXUnknown
Unknown error.
kChord
Chord parametrization.
kSqrtChord
Chord square root parametrization.
kUniform
Uniform parametrization.
kCustomParameterization
Custom parametrization.
kNotDefinedKnotParam
Knot parametrization isn't defined.

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

Corresponding C++ library: TD_Ge 

 

File: Ge.h 

Module: API Reference 

Copyright © 2002-2022. Open Design Alliance All rights reserved.