CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
Ge.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24
25
26
27#ifndef OD_GEGBLGE_H
28#define OD_GEGBLGE_H
29
30#include "TD_PackPush.h"
31
32#include "Ge/GeExport.h"
33#include "Ge/GeLibVersion.h"
34
42struct OdGe
43{
48
49 //unused
50 //DOM-IGNORE-BEGIN
51 enum
52 {
55 };
56 //DOM-IGNORE-END
57
62 {
229
256 };
257
276
289
294 {
296 kUninit = 0x00,
298 kOpen = 0x01,
300 kClosed = 0x02,
302 kPeriodic = 0x04,
304 kRational = 0x08,
306 kNoPoles = 0x10,
313 };
314
326
332 {
334 kNotDefined = 1 << 0,
336 kUnknown = 1 << 1,
338 kLeftRight = 1 << 2,
340 kRightLeft = 1 << 3,
342 kLeftLeft = 1 << 4,
344 kRightRight = 1 << 5,
346 kPointLeft = 1 << 6,
348 kPointRight = 1 << 7,
350 kLeftOverlap = 1 << 8,
352 kOverlapLeft = 1 << 9,
354 kRightOverlap = 1 << 10,
356 kOverlapRight = 1 << 11,
358 kOverlapStart = 1 << 12,
360 kOverlapEnd = 1 << 13,
363 };
364
377
390
410
447
468
481
496
511
527};
528
536
545
546//FELIX_CHANGE_BEGIN
547/*
548#define DECLARE_GE_RTTI() \
549 virtual bool isKindOf (OdGe::EntityId entType) const;\
550 virtual OdGe::EntityId type() const
551*/
552#define DECLARE_GE_RTTI() \
553 virtual bool isKindOf (OdGe::EntityId entType) const;\
554 virtual OdGe::EntityId type() const;\
555 friend class CFxGeExtension;
556
559//FELIX_CHANGE_END
560
561#define DEFINE_GE_RTTI(Class,Parent,TYPE) \
562 bool Class::isKindOf(OdGe::EntityId entType) const\
563 {\
564 if ( entType == OdGe::TYPE ) return true;\
565 return Parent::isKindOf( entType );\
566 }\
567 OdGe::EntityId Class::type() const { return OdGe::TYPE; }
568
573
574#include "TD_PackPop.h"
575
576#endif // AC_GEGBLGE_H
577
GE_TOOLKIT_EXPORT void EnableGeProtection(bool bVal)
OdGe::ErrorCondition OdGeError
Definition Ge.h:535
OdGe::OdGeKnotParameterization OdGeKnotParameterization
Definition Ge.h:544
OdGe::OdGeIntersectError OdGeIntersectError
Definition Ge.h:543
GE_TOOLKIT_EXPORT void odgeHeapCleanup()
GE_TOOLKIT_EXPORT bool IsGeProtectionEnabled()
#define GE_TOOLKIT_EXPORT
Definition GeExport.h:35
Definition Ge.h:43
static const OdGeLibVersion gLibVersion
Definition Ge.h:47
@ eGood
Definition Ge.h:53
@ eBad
Definition Ge.h:54
OdGeXConfig
Definition Ge.h:332
@ kRightRight
Definition Ge.h:344
@ kOverlapOverlap
Definition Ge.h:362
@ kRightLeft
Definition Ge.h:340
@ kPointRight
Definition Ge.h:348
@ kUnknown
Definition Ge.h:336
@ kNotDefined
Definition Ge.h:334
@ kPointLeft
Definition Ge.h:346
@ kOverlapEnd
Definition Ge.h:360
@ kRightOverlap
Definition Ge.h:354
@ kOverlapLeft
Definition Ge.h:352
@ kLeftLeft
Definition Ge.h:342
@ kLeftRight
Definition Ge.h:338
@ kLeftOverlap
Definition Ge.h:350
@ kOverlapStart
Definition Ge.h:358
@ kOverlapRight
Definition Ge.h:356
csiConfig
Definition Ge.h:452
@ kXOut
Definition Ge.h:456
@ kXIn
Definition Ge.h:458
@ kXTanOut
Definition Ge.h:460
@ kXUnknown
Definition Ge.h:454
@ kXCoincidentUnbounded
Definition Ge.h:466
@ kXTanIn
Definition Ge.h:462
@ kXCoincident
Definition Ge.h:464
ExternalEntityKind
Definition Ge.h:262
@ kExternalEntityUndefined
Definition Ge.h:270
@ kBimEntity
Definition Ge.h:272
@ kIfcEntity
Definition Ge.h:274
@ kGe3dCurveEntity
Definition Ge.h:266
@ kGeSurfaceEntity
Definition Ge.h:268
@ kAcisEntity
Definition Ge.h:264
ErrorCondition
Definition Ge.h:415
@ kOk
Definition Ge.h:417
@ kSingularPoint
Definition Ge.h:445
@ kPerpendicularArg1Arg2
Definition Ge.h:425
@ kArg1TooBig
Definition Ge.h:435
@ kEqualArg1Arg2
Definition Ge.h:427
@ kLinearlyDependentArg1Arg2Arg3
Definition Ge.h:433
@ k0Arg1
Definition Ge.h:421
@ kEqualArg1Arg3
Definition Ge.h:429
@ k0This
Definition Ge.h:419
@ kDegenerateGeometry
Definition Ge.h:443
@ kArg1InsideThis
Definition Ge.h:439
@ kArg1OnThis
Definition Ge.h:437
@ kNonCoplanarGeometry
Definition Ge.h:441
@ k0Arg2
Definition Ge.h:423
@ kEqualArg2Arg3
Definition Ge.h:431
OdGeIntersectError
Definition Ge.h:501
@ kXXWrongDimensionAtIndex
Definition Ge.h:507
@ kXXUnknown
Definition Ge.h:509
@ kXXIndexOutOfRange
Definition Ge.h:505
@ kXXOk
Definition Ge.h:503
EntityId
Definition Ge.h:62
@ kPolyline3d
Definition Ge.h:144
@ kPointEnt2d
Definition Ge.h:68
@ kPosition2d
Definition Ge.h:72
@ kConic3d
Definition Ge.h:90
@ kCurveCurveInt2d
Definition Ge.h:182
@ kTrimmedSurface
Definition Ge.h:164
@ kObject
Definition Ge.h:198
@ kDummy6
Definition Ge.h:249
@ kCompositeCrv2d
Definition Ge.h:156
@ kEnvelope2d
Definition Ge.h:168
@ kSurfaceCurve3dTo2d
Definition Ge.h:178
@ kEllipArc2d
Definition Ge.h:96
@ kPosition3d
Definition Ge.h:74
@ kEntity3d
Definition Ge.h:66
@ kSurface
Definition Ge.h:120
@ kCircArc2d
Definition Ge.h:84
@ kLinearEnt2d
Definition Ge.h:104
@ kDummy9
Definition Ge.h:255
@ kExternalSurface
Definition Ge.h:160
@ kCone
Definition Ge.h:128
@ kRevolvedSurface
Definition Ge.h:231
@ kOffsetSurface
Definition Ge.h:166
@ kFitData3d
Definition Ge.h:200
@ kBoundBlock2d
Definition Ge.h:186
@ kBezierCurve3d
Definition Ge.h:196
@ kCurveSampleData
Definition Ge.h:208
@ kEllipCone
Definition Ge.h:210
@ kDSpline2d
Definition Ge.h:138
@ kRay3d
Definition Ge.h:118
@ kAugPolyline3d
Definition Ge.h:146
@ kCompositeCrv3d
Definition Ge.h:158
@ kPlanarEnt
Definition Ge.h:112
@ kDummy7
Definition Ge.h:251
@ kDummy5
Definition Ge.h:247
@ kSphere
Definition Ge.h:122
@ kSplineEnt3d
Definition Ge.h:142
@ kBoundedPlane
Definition Ge.h:82
@ kExternalCurve2d
Definition Ge.h:174
@ kEdgeCurve
Definition Ge.h:235
@ kExternalObject
Definition Ge.h:218
@ kEllipArc3d
Definition Ge.h:98
@ kLine2d
Definition Ge.h:100
@ kSurfaceSurfaceInt
Definition Ge.h:222
@ kTrimmedCrv2d
Definition Ge.h:154
@ kAugPolyline2d
Definition Ge.h:134
@ kNurbCurve3d
Definition Ge.h:148
@ kCylinder
Definition Ge.h:124
@ kInvalidEntity
Definition Ge.h:237
@ kOffsetCurve2d
Definition Ge.h:190
@ kRay2d
Definition Ge.h:116
@ kRuled
Definition Ge.h:233
@ kCurveCurveInt3d
Definition Ge.h:184
@ kSplineEnt2d
Definition Ge.h:130
@ kHatch
Definition Ge.h:202
@ kEntity2d
Definition Ge.h:64
@ kLine3d
Definition Ge.h:102
@ kDummy2
Definition Ge.h:241
@ kBoundBlock3d
Definition Ge.h:188
@ kLineSeg2d
Definition Ge.h:108
@ kCurve3d
Definition Ge.h:94
@ kNurbSurface
Definition Ge.h:162
@ kPolyline2d
Definition Ge.h:132
@ kDummy8
Definition Ge.h:253
@ kNurbCurve2d
Definition Ge.h:136
@ kCurveBoundedSurface
Definition Ge.h:170
@ kIntervalBoundBlock
Definition Ge.h:214
@ kTrimmedCurve2d
Definition Ge.h:204
@ kClipBoundary2d
Definition Ge.h:216
@ kExternalCurve3d
Definition Ge.h:172
@ kPolynomCurve3d
Definition Ge.h:194
@ kEllipCylinder
Definition Ge.h:212
@ kPointOnCurve2d
Definition Ge.h:76
@ kTrimmedCurve3d
Definition Ge.h:206
@ kPlane
Definition Ge.h:114
@ kCubicSplineCurve3d
Definition Ge.h:152
@ kCircArc3d
Definition Ge.h:86
@ kConic2d
Definition Ge.h:88
@ kPointOnSurface
Definition Ge.h:80
@ kPointEnt3d
Definition Ge.h:70
@ kDSpline3d
Definition Ge.h:150
@ kDummy1
Definition Ge.h:239
@ kCurveSurfaceInt
Definition Ge.h:220
@ kExternalBoundedSurface
Definition Ge.h:180
@ kLineSeg3d
Definition Ge.h:110
@ kDummy3
Definition Ge.h:243
@ kSpunSurface
Definition Ge.h:226
@ kDummy4
Definition Ge.h:245
@ kCurve2d
Definition Ge.h:92
@ kPointOnCurve3d
Definition Ge.h:78
@ kLinearEnt3d
Definition Ge.h:106
@ kSurfaceCurve2dTo3d
Definition Ge.h:176
@ kHelix
Definition Ge.h:224
@ kOffsetCurve3d
Definition Ge.h:192
@ kCubicSplineCurve2d
Definition Ge.h:140
@ kSegmentChain2d
Definition Ge.h:228
@ kTorus
Definition Ge.h:126
BooleanType
Definition Ge.h:369
@ kCommon
Definition Ge.h:375
@ kUnion
Definition Ge.h:371
@ kSubtract
Definition Ge.h:373
ClipCondition
Definition Ge.h:395
@ kAllSegmentsOutsideOddWinds
Definition Ge.h:406
@ kAllSegmentsOutsideZeroWinds
Definition Ge.h:403
@ kInvalid
Definition Ge.h:397
@ kAllSegmentsInside
Definition Ge.h:399
@ kSegmentsIntersect
Definition Ge.h:401
@ kAllSegmentsOutsideEvenWinds
Definition Ge.h:408
PointContainment
Definition Ge.h:281
@ kOutside
Definition Ge.h:285
@ kOnBoundary
Definition Ge.h:287
@ kInside
Definition Ge.h:283
ssiType
Definition Ge.h:473
@ kSSIAntiTangent
Definition Ge.h:479
@ kSSITangent
Definition Ge.h:477
@ kSSITransverse
Definition Ge.h:475
ssiConfig
Definition Ge.h:486
@ kSSIOut
Definition Ge.h:490
@ kSSIUnknown
Definition Ge.h:488
@ kSSICoincident
Definition Ge.h:494
@ kSSIIn
Definition Ge.h:492
OffsetCrvExtType
Definition Ge.h:318
@ kExtend
Definition Ge.h:324
@ kChamfer
Definition Ge.h:322
@ kFillet
Definition Ge.h:320
NurbSurfaceProperties
Definition Ge.h:294
@ kOpen
Definition Ge.h:298
@ kRational
Definition Ge.h:304
@ kNoPoles
Definition Ge.h:306
@ kPoleAtBoth
Definition Ge.h:312
@ kUninit
Definition Ge.h:296
@ kPoleAtMax
Definition Ge.h:310
@ kPoleAtMin
Definition Ge.h:308
@ kPeriodic
Definition Ge.h:302
@ kClosed
Definition Ge.h:300
ClipError
Definition Ge.h:382
@ eNotInitialized
Definition Ge.h:388
@ eOk
Definition Ge.h:384
@ eInvalidClipBoundary
Definition Ge.h:386
OdGeKnotParameterization
Definition Ge.h:515
@ kNotDefinedKnotParam
Definition Ge.h:525
@ kCustomParameterization
Definition Ge.h:523
@ kUniform
Definition Ge.h:521
@ kChord
Definition Ge.h:517
@ kSqrtChord
Definition Ge.h:519