Close

Relief for ODA Team in Ukraine

Learn more
ODA Drawings SDK
OdDbSurface::booleanIntersect Method (const OdDb3dSolid*, OdDbEntityPtrArray&)
Syntax
C++
virtual OdResult booleanIntersect(const OdDb3dSolid* pSolid, OdDbEntityPtrArray& intersectionEntities);

Performs a Boolean intersection operation between this surface and the specified solid object. Entities representing the intersections between two surfaces are appended to an array. 

 

Parameters
Description
pSolid
[in] Pointer to the solid object to be intersected with the surface.
intersectionEntities
[out] Reference to the entity array for storing the results of the intersection operation. The resulting array can contain entities of the following types: one OdDbSurface or one or more OdDbLine, OdDbCircle, OdDbArc, OdDbEllipse, OdDbSpline and OdDbPoint.

eOk if the intersection operation is successfully performed, or an appropriate error code otherwise.

Implemented for ModelerGeometry and Spatial Modeler, not supported in the C3D modeler. 

pSolid is not erased unlike booleanOper. 

If the intersection of the surface and the solid is not a surface, all intersection curves and points are stored in the intersectionEntities array and this surface is not changed. 

If the intersection of the surface and the solid is a surface, no intersection curves or points are retrieved. If this surface is not derived from OdDbSurface, the resulting surface is stored in this surface. Otherwise, this surface is not changed and the result is stored in intersectionEntities. 

Resulting entities are not included in the database, so the caller is responsible for the correct handling of the memory pointed to with the resulting array's items. 

If the surface and the solid don't intersect, then eNoIntersections is returned and this surface is not changed. 

If the intersection operation fails, this surface is not changed.

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