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: ILxPolygonSlice interface
         LXxMETHOD(  LxResult,
 SetAxis) (
         LXtObjectID              self,
         unsigned                 axis);

(2) SDK: ILxPolygonSlice interface
         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: ILxPolygonSlice interface
         LXxMETHOD(  LxResult,
 Start) (
         LXtObjectID              self,
         LXtObjectID              meshObj,
         LXtPolygonID             pol,
         unsigned                 setAxis);

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

(4) SDK: ILxPolygonSlice interface
         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: ILxPolygonSlice interface
         LXxMETHOD(  int,
 Done) (
         LXtObjectID              self);

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

(7) User Class: PolygonSlice method

(8) PY: PolygonSlice method
 pass

SolidDrill COM Object

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

Clear the solid drill context.

(9) SDK: ILxSolidDrill interface
         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: ILxSolidDrill interface
         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: ILxSolidDrill interface
         LXxMETHOD(  LxResult,
 Execute) (
         LXtObjectID              self,
         LXtObjectID              meshObj,
         const LXtMatrix4         xfrm,
         LXtMarkMode              pick,
         unsigned int             mode,
         const char              *sten,
         LXtObjectID              monitor);

(12) SDK: Declarations

(13) SDK: Declarations
 #define LXa_SOLIDDRILL  "solidDrill"
 #define LXu_SOLIDDRILL  "0D6D30C6-0DEB-4848-A9F9-731472255BA9"

(14) User Class: SolidDrill method

(15) PY: SolidDrill method
 pass