Performs a Boolean subtraction operation with two surfaces: this one and another specified surface.
Parameters
Parameters
Description
pSurface
[in] Pointer to the other surface to be subtracted from this surface.
pNewSurface
[out] Pointer to a new surface that represents the subtraction operation result.
Returns
eOk if the subtraction operation is successfully performed, or an appropriate error code otherwise.
Remarks
Implemented for ModelerGeometry and Spatial Modeler, not supported in the C3D modeler.
pSurface is not erased unlike booleanOper.
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 pNewSurface.
The resulting surface is not included in the database, so the caller is responsible for the correct handling of the memory pointed to with pNewSurface.
If the resulting surface is empty then eNoIntersections is returned, NULL is returned as a value of pNewSurface and this surface is not changed.
If the subtraction operation fails, NULL is returned as a value of pNewSurface and this surface is not changed.