SmApiPolyBoolean#

Defined in SM_API/inc/SmApiPolygons.h

SmApiStatus SmApiPolyBoolean(
SmPolyBrep *pPolyBrep1,
SmPolyBrep *pPolyBrep2,
SmPolyBooleanOperationType lOperation,
SmPolyBrep *&rpResult,
)#

Ownership contract for the PolyBrep Booleans: pPolyBrep1 is modified in place and returned as rpResult; pPolyBrep2 is deleted on success, except for SM_PBO_PARTIAL_MERGE. SM_PBO_IMPRINT does delete pPolyBrep2. A NULL operand or pPolyBrep1 == pPolyBrep2 returns SM_ERR_INVALID_INPUT with both inputs untouched.

Parameters:
  • pPolyBrep1 – [in/out]: Primary brep; modified and returned as rpResult

  • pPolyBrep2 – [in/out]: Second brep; deleted on success (see contract above)

  • lOperation – [in ]: specify boolean operation

  • rpResult – [out]: Resulting SmBrep