API Reference > OdDb Classes > OdDb3dSolid Class > OdDb3dSolid Methods > getSlice Method > OdDb3dSolid::getSlice Method (OdGePlane&, bool, OdDb3dSolidPtr &)
OdDb3dSolid::getSlice Method (OdGePlane&, bool, OdDb3dSolidPtr &)
Syntax
C++
virtual OdResult getSlice(const OdGePlane& plane, bool bGetNegHalfToo, OdDb3dSolidPtr & pNegHalfSolid);
Parameters 
Description 
const OdGePlane& plane 
[in] Reference to a slicing plane.  
bool bGetNegHalfToo 
[in] Flag determining whether the other (negative) part of the native solid should be created as a separate solid (when true).  
OdDb3dSolidPtr & pNegHalfSolid 
[out] Reference to a pointer to the created solid representing the negative half of the native solid. If bGetNegHalfToo is false, the NULL value is returned.
 

eOk if the native solid was successfully sliced or an appropriate error code in other case. If the slicing plane does not intersect the solid, the solid is left unchanged, pNegHalfSolid is set to NULL, and eOk is returned.

Slices the solid with a plane and transforms the native solid to be the portion remaining on the positive side of the normal of the slicing plane. 

 

The caller of this function is responsible for the memory used by the object pointed to by pNegHalfSolid (negative part of the sliced solid) when the function finishes. In case when pNegHalfSolid is added to a database, the database takes responsibility for the memory. In case when pNegHalfSolid is not added to a database, the caller must release memory when it is no longer needed to avoid a memory leak. 

This method is implemented only for Spatial modeler and returns the eNotImplementedYet status for other modelers.

Copyright © 2002–2021. Open Design Alliance. All rights reserved.