Close

Relief for ODA Team in Ukraine

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

Performs a Boolean intersection operation for two surfaces: this one and another specified surface. Entities representing the intersections between two surfaces are appended to an array. 

 

Parameters
Description
pSurface
[in] Pointer to the other surface 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. 

pSurface is not erased unlike booleanOper. 

If the intersection of the surfaces 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 surfaces is a surface, no intersection curves or points are retrieved. If this surface is not derived from OdDbSurface or surfaces are coplanar OdDbPlaneSurface-s, 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 surfaces 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.