CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Public Types | Static Public Attributes | List of all members
OdGe Struct Reference

#include <Ge.h>

Public Types

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 , 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
}
 

Static Public Attributes

static const OdGeLibVersion gLibVersion
 

Detailed Description

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

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

Definition at line 42 of file Ge.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
eGood 
eBad 

Definition at line 51 of file Ge.h.

◆ BooleanType

Represents type of Boolean operation.

Enumerator
kUnion 

Boolean union.

kSubtract 

Boolean subtraction.

kCommon 

Boolean intersection.

Definition at line 366 of file Ge.h.

◆ ClipCondition

Represents clip condition.

Enumerator
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.

Definition at line 392 of file Ge.h.

◆ ClipError

Represents clip error.

Enumerator
eOk 

No error.

eInvalidClipBoundary 

Invalid clip boundary.

eNotInitialized 

Clip boundary was not initialized.

Definition at line 379 of file Ge.h.

◆ csiConfig

Represents configuration details about a curve-surface intersection.

Enumerator
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.

Definition at line 449 of file Ge.h.

◆ EntityId

Represents type of a geometrical entity.

Enumerator
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.

Definition at line 61 of file Ge.h.

◆ ErrorCondition

Represents error codes that methods receive during execution.

Enumerator
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.

Definition at line 412 of file Ge.h.

◆ ExternalEntityKind

Represents type of an external entity.

Enumerator
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

Definition at line 259 of file Ge.h.

◆ NurbSurfaceProperties

Represents properties for the U and V parameters in a nurb surface.

Enumerator
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.

Definition at line 291 of file Ge.h.

◆ OdGeIntersectError

Represents status of an intersection operation.

Enumerator
kXXOk 

No error.

kXXIndexOutOfRange 

Index out of range.

kXXWrongDimensionAtIndex 

Wrong dimension at index.

kXXUnknown 

Unknown error.

Definition at line 498 of file Ge.h.

◆ OdGeKnotParameterization

Represents knot parameterization type.

Enumerator
kChord 

Chord parametrization.

kSqrtChord 

Chord square root parametrization.

kUniform 

Uniform parametrization.

kCustomParameterization 

Custom parametrization.

kNotDefinedKnotParam 

Knot parametrization isn't defined.

Definition at line 513 of file Ge.h.

◆ OdGeXConfig

Represents configuration of first curve at the intersection point with respect to second curve and with respect to the specified plane normal.

Enumerator
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.

Definition at line 329 of file Ge.h.

◆ OffsetCrvExtType

Represents offset curve extension type.

Enumerator
kFillet 

Fillet.

kChamfer 

Chamfer.

kExtend 

Extend.

Definition at line 316 of file Ge.h.

◆ PointContainment

Represents point containmant in the boundary.

Enumerator
kInside 

Point is inside the boundary.

kOutside 

Point is outside the boundary.

kOnBoundary 

Point is the boundary.

Definition at line 278 of file Ge.h.

◆ ssiConfig

Represents configuration details about a surface-surface intersection.

Enumerator
kSSIUnknown 

Unknown configuration.

kSSIOut 

Neighborhood is outside this surface.

kSSIIn 

Neighborhood is inside this surface.

kSSICoincident 

Non-zero area intersection.

Definition at line 483 of file Ge.h.

◆ ssiType

Represents types of a surface-surface intersection.

Enumerator
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.

Definition at line 470 of file Ge.h.

Member Data Documentation

◆ gLibVersion

const OdGeLibVersion OdGe::gLibVersion
static

Version of the OdGe library being used

Definition at line 47 of file Ge.h.


The documentation for this struct was generated from the following file: