class ILxPolygonSlice

Public Functions

LxResult SetAxis(LXtObjectID self, unsigned axis)

Set the polygon slicing plane. This can be set at any time, but must be set before any knives are applied.

LxResult SetAxisByVector(LXtObjectID self, const LXtVector axis)
LxResult Start(LXtObjectID self, LXtObjectID meshObj, LXtPolygonID pol, unsigned setAxis)

Initialize the slice data for the given polygon. This decomposes the polygon into edges and is ready for knife action. If “setAxis” is true, the slice axis will be set based on the polygon.

LxResult ByLine(LXtObjectID self, const LXtVector pos0, const LXtVector pos1)

Cut the polygon by the line segment given by two positions.

int Done(LXtObjectID self)

Complete the slicing of a polygon. This will either leave the polygon unmarked if it was untouched by any knife, or it will leave the polygon marked for deletion and create a set of new polygons to replace the old, after having been sliced by all the knives.


class ILxSolidDrill

Public Functions

LxResult Clear(LXtObjectID self)

This object provides the interface to access internal solid drill and CSG boolean functions. Clear the solid drill context.

LxResult AddMesh(LXtObjectID self, LXtObjectID meshObj, const LXtMatrix4 xfrm)

Add a mesh to drill the edit mesh. The xfrm is the matrix to convert the vertex positions in the driver mesh to the local space for the edit mesh. If the space of driver mesh is same as the edit mesh, “xfrm” can be null. The solid drill uses only FACE polygons and the mesh shape must be closed. This must be called in the main thread.

LxResult Execute(LXtObjectID self, LXtObjectID meshObj, const LXtMatrix4 xfrm, LXtMarkMode pick, unsigned int mode, const char *sten, LXtObjectID monitor)

Execute the given operation to the edit mesh by added driver meshes. The operation modes are exact same as options from solid drill and CSG boolean commands. “sten” is a string for STENCIL mode. This must be called in the main thread.