|
CFx SDK Documentation 2026 SP0
|
#include <GiIntersectionsCalculator.h>
Classes | |
| struct | DetectedCollision |
Protected Types | |
| enum | CollisionOption { kOption_IntersectionOnly = 1 , kOption_Clearance = 2 , kOption_CalcDistance = 4 , kOption_CheckAll = 8 } |
Protected Member Functions | |
| virtual bool | notifyObjectPlacedAtNode (OdGiTriangleForIntersectTest *pTriang, int objectType, OdGiExtents3dSpaceNode_Gi *pNode) |
| void | computeIntersections (OdInt32 containerID, OdGeExtents3d &extents) |
| void | processPathCalculation (OdUInt32 idObjTested) |
| void | removeEdgeInfo (OdInt32 objID) |
| OdList< OdGiExtents3dSpaceChainPolyline * > & | finalIntersectionPathes () |
| OdArray< OdGiExtents3dSpacePoint * > * | intersectionVertices () |
| OdArray< OdGiEdgeForIntersectTest * > * | intersectionEdges () |
| bool | collideTriangles (OdUInt32 idObjA, OdUInt32 trIdA, OdUInt32 idObjB, OdUInt32 trIdB, OdUInt32 idObjTested, const OdGeTol &tol) |
| OdUInt32 | checkPointsPlacement (const OdGeVector3d *pPlaneNormalA, double D_A, const OdGePoint3d *pPointsTriangleB, const OdGeTol &tol) |
Protected Member Functions inherited from OdGiIntersectionsCalculator | |
| void | intersectTriangles (OdUInt32 idObjA, OdUInt32 trIdA, OdUInt32 idObjB, OdUInt32 trIdB, OdUInt32 idObjTested, const OdGeTol &tol) |
This class is a detector for collision of triangular representations of entities.
<group OdGi_Classes>
Definition at line 255 of file GiIntersectionsCalculator.h.
|
protected |
| Enumerator | |
|---|---|
| kOption_IntersectionOnly | |
| kOption_Clearance | |
| kOption_CalcDistance | |
| kOption_CheckAll | |
Definition at line 397 of file GiIntersectionsCalculator.h.
| OdGiCollisionDetector::OdGiCollisionDetector | ( | ) |
Default constructor for the OdGiCollisionDetector class.
|
inlinevirtual |
Destructor for the OdGiCollisionDetector class.
Definition at line 266 of file GiIntersectionsCalculator.h.
|
protected |
| void OdGiCollisionDetector::clearContainersToBeTested | ( | ) |
Clears all triangle containers that were marked for collision detection calculations.
|
protected |
|
inlineprotected |
Definition at line 273 of file GiIntersectionsCalculator.h.
| void OdGiCollisionDetector::detectCollisions | ( | OdInt32 | containerID, |
| const OdGeExtents3d & | extents ) |
Detects collisions between a specified triangle container and all triangle containers that are marked as "container to be tested".
| containerID | [in] Triangle container. |
| extents | [in] Not used. |
|
inlineprotected |
Definition at line 276 of file GiIntersectionsCalculator.h.
|
virtual |
Finalizes calculations, i.e. resets the triangles tree, removes triangles info and releases all data related to collision detection.
Reimplemented from OdGiIntersectionsCalculator.
|
inline |
Checks whether collision detection calculates collision distance.
Definition at line 360 of file GiIntersectionsCalculator.h.
|
inline |
Checks whether collision detection checks all faces instead of detecting the first collision.
Definition at line 373 of file GiIntersectionsCalculator.h.
|
inline |
Retrieves a distance for the clearance mode when objects that are "too close" are detected as intersections.
Definition at line 347 of file GiIntersectionsCalculator.h.
| bool OdGiCollisionDetector::getCollisionDistance | ( | OdUInt32 | collisionIndex, |
| double & | result ) const |
Retrieves a collision distance at the specified index.
| collisionIndex | [in] Index of a collision for which to get the distance. |
| result | [out] Receives collision distance. |
Gets a list of all detected collisions.
| result | [out] Recieves results of collision detection. |
|
inlineprotected |
Definition at line 278 of file GiIntersectionsCalculator.h.
|
inlineprotected |
Definition at line 277 of file GiIntersectionsCalculator.h.
|
inline |
Checks whether clearance mode for detecting collisions is enabled. This method detects collisions between intersectiong, touching and objects that are "too close".
Definition at line 342 of file GiIntersectionsCalculator.h.
|
inline |
Checks whether only intersected objects are detected as collisions.
Definition at line 325 of file GiIntersectionsCalculator.h.
|
protectedvirtual |
Reimplemented from OdGiIntersectionsCalculator.
Definition at line 274 of file GiIntersectionsCalculator.h.
Definition at line 275 of file GiIntersectionsCalculator.h.
|
inline |
Specifies whether collision detection should calculate collision distance.
| b | [in] The flag that indicates that collision detection should calculate collision distance. |
Definition at line 353 of file GiIntersectionsCalculator.h.
|
inline |
Specifies whether collision detection should check all faces instead of detecting the first collision.
| b | [in] If true, collision detection checks all faces instead of detecting the first collision. |
Definition at line 366 of file GiIntersectionsCalculator.h.
|
inline |
Specifies a distance for the clearance mode when objects that are "too close" are detected as intersections.
| cl | [in] Clearance distance. Object which have less distance than this value are considered collided in the clearance mode. |
Definition at line 331 of file GiIntersectionsCalculator.h.
|
inline |
Specifies whether to detect collisions only when collided objects intersect.
| b | [in] Flag that specifies whether to detect only intersecting objects. If true, touches are not detected. |
Definition at line 318 of file GiIntersectionsCalculator.h.
|
protected |
Definition at line 406 of file GiIntersectionsCalculator.h.
|
protected |
Definition at line 404 of file GiIntersectionsCalculator.h.
|
protected |
Definition at line 389 of file GiIntersectionsCalculator.h.
|
protected |
Definition at line 390 of file GiIntersectionsCalculator.h.
|
protected |
Definition at line 386 of file GiIntersectionsCalculator.h.
|
protected |
Definition at line 388 of file GiIntersectionsCalculator.h.