Pvedit (lx-pvedit.hpp)

From The Foundry MODO SDK wiki
Jump to: navigation, search
There are security restrictions on this page

Slice Polygons COM Object

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

(1) SDK: PolygonSlice::SetAxis
         LXxMETHOD(  LxResult,
 SetAxis) (
         LXtObjectID              self,
         unsigned                 axis);

(2) SDK: PolygonSlice::SetAxisByVector
         LXxMETHOD(  LxResult,
 SetAxisByVector) (
         LXtObjectID              self,
         const LXtVector          axis);

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.

(3) SDK: PolygonSlice::Start
         LXxMETHOD(  LxResult,
 Start) (
         LXtObjectID              self,
         LXtObjectID              meshObj,
         LXtPolygonID             pol,
         unsigned                 setAxis);

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

(4) SDK: PolygonSlice::ByLine
         LXxMETHOD(  LxResult,
 ByLine) (
         LXtObjectID              self,
         const LXtVector          pos0,
         const LXtVector          pos1);

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.

(5) SDK: PolygonSlice::Done
         LXxMETHOD(  int,
 Done) (
         LXtObjectID              self);

(6) SDK: LXa_POLYGONSLICE, etc. defines
 #define LXa_POLYGONSLICE        "polygonSlice"
 #define LXu_POLYGONSLICE        "99C623EE-0873-4DB5-90DF-CC9460DA8FA8"

(7) SDK: empty PolygonSlice User Class

(8) PY: empty PolygonSlice user class

SolidDrill COM Object

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

Clear the solid drill context.

(9) SDK: SolidDrill::Clear
         LXxMETHOD(  LxResult,
 Clear) (
         LXtObjectID              self);

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.

(10) SDK: SolidDrill::AddMesh
         LXxMETHOD(  LxResult,
 AddMesh) (
         LXtObjectID              self,
         LXtObjectID              meshObj,
         const LXtMatrix4         xfrm);

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.

(11) SDK: SolidDrill::Execute
         LXxMETHOD(  LxResult,
 Execute) (
         LXtObjectID              self,
         LXtObjectID              meshObj,
         const LXtMatrix4         xfrm,
         LXtMarkMode              pick,
         unsigned int             mode,
         const char              *sten,
         LXtObjectID              monitor);

(12) SDK: LXi_SDRILLv_CORE, etc. defines

(13) SDK: LXa_SOLIDDRILL, etc. defines
 #define LXa_SOLIDDRILL  "solidDrill"
 #define LXu_SOLIDDRILL  "0D6D30C6-0DEB-4848-A9F9-731472255BA9"

(14) SDK: empty SolidDrill User Class

(15) PY: empty SolidDrill user class