3ds Max C++ API Reference
|
This class is the published interface for Edit Poly modifiers. More...
#include <iEPolyMod.h>
Public Member Functions | |
FN_0 (epmod_get_sel_level, TYPE_ENUM, GetEPolySelLevel) | |
FN_0 (epmod_get_mn_sel_level, TYPE_ENUM, GetMNSelLevel) | |
VFN_1 (epmod_set_sel_level, SetEPolySelLevel, TYPE_ENUM) | |
FN_3 (epmod_convert_selection, TYPE_INT, EpModConvertSelection, TYPE_ENUM, TYPE_ENUM, TYPE_bool) | |
FN_0 (epmod_get_operation, TYPE_ENUM, GetPolyOperationID) | |
VFN_1 (epmod_set_operation, EpModSetOperation, TYPE_ENUM) | |
VFN_1 (epmod_popup_dialog, EpModPopupDialog, TYPE_ENUM) | |
VFN_1 (epmod_button_op, EpModButtonOp, TYPE_ENUM) | |
VFN_0 (epmod_repeat_last, EpModRepeatLast) | |
VFNT_0 (epmod_commit, EpModCommit) | |
VFNT_0 (epmod_commit_unless_animating, EpModCommitUnlessAnimating) | |
VFNT_0 (epmod_commit_and_repeat, EpModCommitAndRepeat) | |
VFN_0 (epmod_cancel_operation, EpModCancel) | |
FN_2 (epmod_get_selection, TYPE_BITARRAY, EpModGetSelection, TYPE_ENUM, TYPE_INODE) | |
FN_3 (epmod_set_selection, TYPE_bool, EpModSetSelection, TYPE_ENUM, TYPE_BITARRAY_BR, TYPE_INODE) | |
FN_5 (epmod_select, TYPE_bool, EpModSelect, TYPE_ENUM, TYPE_BITARRAY_BR, TYPE_bool, TYPE_bool, TYPE_INODE) | |
VFN_1 (epmod_set_primary_node, EpModSetPrimaryNode, TYPE_INODE) | |
VFN_1 (epmod_toggle_command_mode, EpModToggleCommandMode, TYPE_ENUM) | |
VFN_1 (epmod_enter_command_mode, EpModEnterCommandMode, TYPE_ENUM) | |
FN_0 (epmod_get_command_mode, TYPE_ENUM, EpModGetCommandMode) | |
VFN_1 (epmod_enter_pick_mode, EpModEnterPickMode, TYPE_ENUM) | |
FN_0 (epmod_get_pick_mode, TYPE_ENUM, EpModGetPickMode) | |
VFNT_4 (epmod_move_selection, EpModMoveSelection, TYPE_POINT3_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR, TYPE_BOOL) | |
VFNT_4 (epmod_rotate_selection, EpModRotateSelection, TYPE_QUAT_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR, TYPE_BOOL) | |
VFNT_4 (epmod_scale_selection, EpModScaleSelection, TYPE_POINT3_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR, TYPE_BOOL) | |
VFNT_3 (epmod_move_slicer, EpModMoveSlicePlane, TYPE_POINT3_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR) | |
VFNT_4 (epmod_rotate_slicer, EpModRotateSlicePlane, TYPE_QUAT_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR, TYPE_BOOL) | |
VFNT_4 (epmod_scale_slicer, EpModScaleSlicePlane, TYPE_POINT3_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR, TYPE_BOOL) | |
FN_0 (epmod_in_slice_mode, TYPE_bool, EpInSliceMode) | |
VFN_0 (epmod_reset_slice_plane, EpResetSlicePlane) | |
FNT_0 (epmod_get_slice_plane_tm, TYPE_MATRIX3_BV, EpGetSlicePlaneTM) | |
VFNT_2 (epmod_get_slice_plane, EpGetSlicePlane, TYPE_POINT3_BR, TYPE_POINT3_BR) | |
VFNT_2 (epmod_set_slice_plane, EpSetSlicePlane, TYPE_POINT3_BR, TYPE_POINT3_BR) | |
FN_2 (epmod_create_vertex, TYPE_INDEX, EpModCreateVertex, TYPE_POINT3, TYPE_INODE) | |
FN_2 (epmod_create_face, TYPE_INDEX, EpModCreateFace, TYPE_INDEX_TAB, TYPE_INODE) | |
FN_3 (epmod_create_edge, TYPE_INDEX, EpModCreateEdge, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
VFN_3 (epmod_set_diagonal, EpModSetDiagonal, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
VFN_5 (epmod_cut, EpModCut, TYPE_ENUM, TYPE_INDEX, TYPE_POINT3, TYPE_POINT3, TYPE_INODE) | |
VFN_3 (epmod_target_weld_vertex, EpModWeldVerts, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
VFN_3 (epmod_target_weld_edge, EpModWeldEdges, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
VFNT_2 (epmod_attach_node, EpModAttach, TYPE_INODE, TYPE_INODE) | |
VFNT_2 (epmod_attach_nodes, EpModMultiAttach, TYPE_INODE_TAB_BR, TYPE_INODE) | |
VFNT_1 (epmod_detach_to_object, EpModDetachToObject, TYPE_TSTR_BR) | |
VFNT_1 (epmod_create_shape, EpModCreateShape, TYPE_TSTR_BR) | |
VFN_3 (epmod_set_hinge_edge, EpModSetHingeEdge, TYPE_INDEX, TYPE_MATRIX3, TYPE_INODE) | |
FN_1 (epmod_get_hinge_edge, TYPE_INDEX, EpModGetHingeEdge, TYPE_INODE) | |
VFN_3 (epmod_bridge_borders, EpModBridgeBorders, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
VFN_3 (epmod_bridge_polygons, EpModBridgePolygons, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
FN_0 (epmod_get_bridge_node, TYPE_INODE, EpModGetBridgeNode) | |
VFN_1 (epmod_set_bridge_node, EpModSetBridgeNode, TYPE_INODE) | |
FN_0 (epmod_ready_to_bridge_selected, TYPE_bool, EpModReadyToBridgeSelected) | |
FN_1 (epmod_get_preserve_map, TYPE_bool, EpModGetPreserveMap, TYPE_INT) | |
VFN_2 (epmod_set_preserve_map, EpModSetPreserveMap, TYPE_INT, TYPE_bool) | |
VFN_3 (epmod_turn_diagonal, EpModTurnDiagonal, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
FN_1 (epmod_get_num_vertices, TYPE_INT, EpMeshGetNumVertices, TYPE_INODE) | |
FN_2 (epmod_get_vertex, TYPE_POINT3_BV, EpMeshGetVertex, TYPE_INDEX, TYPE_INODE) | |
FN_2 (epmod_get_vertex_face_count, TYPE_INT, EpMeshGetVertexFaceCount, TYPE_INDEX, TYPE_INODE) | |
FN_3 (epmod_get_vertex_face, TYPE_INDEX, EpMeshGetVertexFace, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
FN_2 (epmod_get_vertex_edge_count, TYPE_INT, EpMeshGetVertexEdgeCount, TYPE_INDEX, TYPE_INODE) | |
FN_3 (epmod_get_vertex_edge, TYPE_INDEX, EpMeshGetVertexEdge, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
FN_1 (epmod_get_num_edges, TYPE_INT, EpMeshGetNumEdges, TYPE_INODE) | |
FN_3 (epmod_get_edge_vertex, TYPE_INDEX, EpMeshGetEdgeVertex, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
FN_3 (epmod_get_edge_face, TYPE_INDEX, EpMeshGetEdgeFace, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
FN_1 (epmod_get_num_faces, TYPE_INT, EpMeshGetNumFaces, TYPE_INODE) | |
FN_2 (epmod_get_face_degree, TYPE_INT, EpMeshGetFaceDegree, TYPE_INDEX, TYPE_INODE) | |
FN_3 (epmod_get_face_vertex, TYPE_INDEX, EpMeshGetFaceVertex, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
FN_3 (epmod_get_face_edge, TYPE_INDEX, EpMeshGetFaceEdge, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
FN_4 (epmod_get_face_diagonal, TYPE_INDEX, EpMeshGetFaceDiagonal, TYPE_INDEX, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
FN_2 (epmod_get_face_material, TYPE_INDEX, EpMeshGetFaceMaterial, TYPE_INDEX, TYPE_INODE) | |
FN_2 (epmod_get_face_smoothing_group, TYPE_DWORD, EpMeshGetFaceSmoothingGroup, TYPE_INDEX, TYPE_INODE) | |
FN_1 (epmod_get_num_map_channels, TYPE_INT, EpMeshGetNumMapChannels, TYPE_INODE) | |
FN_2 (epmod_get_map_channel_active, TYPE_bool, EpMeshGetMapChannelActive, TYPE_INT, TYPE_INODE) | |
FN_2 (epmod_get_num_map_vertices, TYPE_INT, EpMeshGetNumMapVertices, TYPE_INT, TYPE_INODE) | |
FN_3 (epmod_get_map_vertex, TYPE_POINT3_BV, EpMeshGetMapVertex, TYPE_INT, TYPE_INDEX, TYPE_INODE) | |
FN_4 (epmod_get_map_face_vertex, TYPE_INDEX, EpMeshGetMapFaceVertex, TYPE_INT, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
VFN_1 (epmod_list_operations, EpModListOperations, TYPE_INODE) | |
VFN_1 (epmod_local_data_changed, EpModLocalDataChanged, TYPE_DWORD) | |
VFN_0 (epmod_refresh_screen, EpModRefreshScreen) | |
FN_0 (epmod_in_slice, TYPE_bool, EpInSlice) | |
FN_0 (epmod_show_operation_dialog, TYPE_bool, EpModShowOperationDialog) | |
FN_0 (epmod_showing_operation_dialog, TYPE_bool, EpModShowingOperationDialog) | |
VFN_0 (epmod_close_operation_dialog, EpModCloseOperationDialog) | |
FN_0 (epmod_get_primary_node, TYPE_INODE, EpModGetPrimaryNode) | |
FNT_1 (epmod_get_node_tm, TYPE_MATRIX3_BV, EpModGetNodeTM_FPS, TYPE_INODE) | |
VFN_2 (epmod_set_cut_end, EpModSetCutEnd, TYPE_POINT3, TYPE_INODE) | |
FN_0 (epmod_get_last_cut_end, TYPE_INDEX, EpModGetLastCutEnd) | |
VFN_0 (epmod_clear_last_cut_end, EpModClearLastCutEnd) | |
VFN_1 (epmod_cut_cancel, EpModCutCancel, TYPE_INODE) | |
VFN_3 (epmod_divide_edge, EpModDivideEdge, TYPE_INDEX, TYPE_FLOAT, TYPE_INODE) | |
VFN_3 (epmod_divide_face, EpModDivideFace, TYPE_INDEX, TYPE_FLOAT_TAB, TYPE_INODE) | |
VFN_3 (epmod_bridge_edges, EpModBridgeEdges, TYPE_INDEX, TYPE_INDEX, TYPE_INODE) | |
VFN_3 (epmod_ring_sel, EpModSetRingShift, TYPE_INT, TYPE_bool, TYPE_bool) | |
VFN_3 (epmod_loop_sel, EpModSetLoopShift, TYPE_INT, TYPE_bool, TYPE_bool) | |
FN_2 (epmod_convert_selection_to_border, TYPE_INT, EpModConvertSelectionToBorder, TYPE_ENUM, TYPE_ENUM) | |
VFN_0 (epmod_paintdeform_commit, EpModPaintDeformCommit) | |
VFN_0 (epmod_paintdeform_cancel, EpModPaintDeformCancel) | |
FN_2 (epmod_get_face_normal, TYPE_POINT3_BV, EPMeshGetFaceNormal, TYPE_INDEX, TYPE_INODE) | |
FN_2 (epmod_get_face_center, TYPE_POINT3_BV, EPMeshGetFaceCenter, TYPE_INDEX, TYPE_INODE) | |
FN_2 (epmod_get_face_area, TYPE_FLOAT, EPMeshGetFaceArea, TYPE_INDEX, TYPE_INODE) | |
FN_1 (epmod_get_open_edges, TYPE_BITARRAY, EPMeshGetOpenEdges, TYPE_INODE) | |
FN_4 (epmod_get_verts_by_flag, TYPE_bool, EPMeshGetVertsByFlag, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_INODE) | |
FN_4 (epmod_get_edges_by_flag, TYPE_bool, EPMeshGetEdgesByFlag, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_INODE) | |
FN_4 (epmod_get_faces_by_flag, TYPE_bool, EPMeshGetFacesByFlag, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_INODE) | |
VFN_5 (epmod_set_vertex_flags, EPMeshSetVertexFlags, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_bool, TYPE_INODE) | |
VFN_5 (epmod_set_edge_flags, EPMeshSetEdgeFlags, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_bool, TYPE_INODE) | |
VFN_5 (epmod_set_face_flags, EPMeshSetFaceFlags, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_bool, TYPE_INODE) | |
FN_2 (epmod_get_vertex_flags, TYPE_INT, EPMeshGetVertexFlags, TYPE_INDEX, TYPE_INODE) | |
FN_2 (epmod_get_edge_flags, TYPE_INT, EPMeshGetEdgeFlags, TYPE_INDEX, TYPE_INODE) | |
FN_2 (epmod_get_face_flags, TYPE_INT, EPMeshGetFaceFlags, TYPE_INDEX, TYPE_INODE) | |
VFN_3 (epmod_get_verts_using_edge, EPMeshGetVertsUsingEdge, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE) | |
VFN_3 (epmod_get_edges_using_vert, EPMeshGetEdgesUsingVert, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE) | |
VFN_3 (epmod_get_faces_using_edge, EPMeshGetFacesUsingEdge, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE) | |
VFN_4 (epmod_get_elements_using_face, EPMeshGetElementsUsingFace, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE) | |
VFN_3 (epmod_get_faces_using_vert, EPMeshGetFacesUsingVert, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE) | |
VFN_3 (epmod_get_verts_using_face, EPMeshGetVertsUsingFace, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE) | |
VFN_3 (epmod_set_vert, EPMeshSetVert, TYPE_BITARRAY_BR, TYPE_POINT3_BR, TYPE_INODE) | |
VFN_0 (epmod_smgrp_floater, SmGrpFloater) | |
FN_0 (epmod_smgrp_floatervisible, TYPE_BOOL, SmGrpFloaterVisible) | |
VFN_0 (epmod_matid_floater, MatIDFloater) | |
FN_0 (epmod_matid_floatervisible, TYPE_BOOL, MatIDFloaterVisible) | |
VFN_0 (epmod_list_delta_ops, ListDeltaOps) | |
FN_0 (epmod_get_last, TYPE_INT, EpModGetLast) | |
FPInterfaceDesc * | GetDesc () |
For system use only - retrieves the function publishing interface description. More... | |
virtual int | GetEPolySelLevel ()=0 |
Returns the Edit Poly selection level - one of the ePolyModSelLevel enum defined above, such as EPM_SL_VERTEX. More... | |
virtual int | GetMNSelLevel ()=0 |
Returns the MNMesh selection level - one of MNM_SL_OBJECT, MNM_SL_VERTEX, MNM_SL_EDGE, or MNM_SL_FACE. More... | |
virtual void | SetEPolySelLevel (int sl)=0 |
Sets the Edit Poly selection level. More... | |
virtual int | EpModConvertSelection (int epSelLevelFrom, int epSelLevelTo, bool requireAll) |
Converts selection between two Edit Poly selection levels, by selecting adjacent subobjects, such as edges using selected vertices, or vertices used by selected faces, etc. More... | |
virtual int | GetPolyOperationID () |
Returns the "current" Edit Poly operation. More... | |
virtual IParamBlock2 * | getParamBlock () |
Returns the parameter block for the Edit Poly modifier. More... | |
virtual MapBitArray | GetPreserveMapSettings () const |
Returns the Preserve settings for all map channels. More... | |
virtual void | SetPreserveMapSettings (const MapBitArray &mapSettings) |
Sets the Preserve settings for all map channels. More... | |
virtual void | EpModSetPreserveMap (int mapChannel, bool preserve) |
Sets whether a particular map channel will be "preserved" in geometric operations. More... | |
virtual bool | EpModGetPreserveMap (int mapChannel) |
Indicates whether a particular map channel is set to be "preserved" in geometric operations. More... | |
virtual void | InvalidateDistanceCache () |
Invalidates the computed distances from selected vertices that are used to generate soft selections. More... | |
virtual void | InvalidateSoftSelectionCache () |
Invalidates the computed soft selections (but not the distances from selected vertices that the soft selections are based on). More... | |
virtual void | EpModSetOperation (int opcode) |
Sets the current operation. More... | |
virtual void | EpModPopupDialog (int opcode) |
Sets the operation to the one given, and then pops up the operation dialog, if one exists. More... | |
virtual void | EpModButtonOp (int opcode) |
Applies the operation given, and commits to it immediately. More... | |
virtual void | EpModLocalDataChanged (ChannelMask channels) |
Indicates to the EditPolyMod that some channels of its mesh have changed. More... | |
virtual void | EpModRefreshScreen () |
Triggers a redraw of the viewports at the current time. More... | |
virtual void | EpModCommitUnlessAnimating (TimeValue t) |
Commits to the current operation unless we're set to "animation mode" (epm_animation_mode parameter is true) and the current operation supports animation. More... | |
virtual void | EpModCommit (TimeValue t) |
Commits to the current operation, and clears any animation. More... | |
virtual void | EpModCommitAndRepeat (TimeValue t) |
Commits to the current operation, but maintains it as the current operation with the same settings (and any animation in those parameters). More... | |
virtual void | EpModCancel () |
Cancels the current operation. More... | |
virtual void | EpModToggleCommandMode (int mode) |
Toggles a given command mode - if it's not currently in this mode it will enter it, otherwise it will exit it. More... | |
virtual void | EpModEnterCommandMode (int mode) |
Exits any previous Edit Poly command modes, and enters the command mode given. More... | |
virtual void | EpModEnterPickMode (int mode) |
Enters the pick mode given. More... | |
virtual int | EpModGetCommandMode () |
Retrieves the current Edit Poly command mode in use, if any. More... | |
virtual int | EpModGetPickMode () |
Retrieves the current Edit Poly pick mode in use, if any. More... | |
virtual BitArray * | EpModGetSelection (int meshSelectionLevel, INode *pNode=NULL) |
Returns a BitArray containing the subobject selection in the desired selection level. More... | |
virtual bool | EpModSetSelection (int meshSelectionLevel, BitArray &selection, INode *pNode=NULL) |
Sets the subobject selection explicitly. More... | |
virtual bool | EpModSelect (int meshSelectionLevel, BitArray &selection, bool invert=false, bool select=true, INode *pNode=NULL) |
Change the selection state of a subset of subobjects - select them, invert their selection, or deselect them. More... | |
virtual void | SetHitLevelOverride (DWORD hlo) |
Force any hit-testing on the Edit Poly modifier to use the hit level given, instead of the default hit level associated with the current subobject level. More... | |
virtual void | ClearHitLevelOverride () |
Clear any hit level override, and let hit-testing fall back on the normal hit level for subobject selection. More... | |
virtual DWORD | GetHitLevelOverride () |
Returns the current hit level override, or 0 if there is none. More... | |
virtual DWORD | CurrentHitLevel (int *selByVert=NULL) |
Indicates the current hit level. More... | |
virtual void | SetHitTestResult (bool ignoreNew=false) |
Normally, all hit-testing on Edit Poly meshes is done on the mesh before the "current
operation". More... | |
virtual void | ClearHitTestResult () |
Clears any HitTestResult settings, and falls back on hit-testing before the current operation. More... | |
virtual void | SetDisplayLevelOverride (DWORD dlo) |
Sets the display level override, to force display of a particular type of subobject regardless of the current subobject level. More... | |
virtual void | ClearDisplayLevelOverride () |
Clear any display level override, and let hit-testing fall back on the normal display for the current selection level. More... | |
virtual DWORD | GetDisplayLevelOverride () |
Returns any current DisplayLevelOverride. More... | |
virtual void | ForceIgnoreBackfacing (bool force) |
This method is used to temporarily force the Edit Poly to ignore backfacing subobjects when hit-testing. More... | |
virtual bool | GetForceIgnoreBackfacing () |
Indicates whether or not the Edit Poly is currently set to force ignoring backfacing subobjects. More... | |
virtual void | EpModMoveSelection (Point3 &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t) |
Move the current subobject selection. More... | |
virtual void | EpModRotateSelection (Quat &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t) |
Rotate the current subobject selection. More... | |
virtual void | EpModScaleSelection (Point3 &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t) |
Scale the current subobject selection. More... | |
virtual void | EpModMoveSlicePlane (Point3 &val, Matrix3 &partm, Matrix3 &tmAxis, TimeValue t) |
Move the Slice Plane that's used in the ep_op_slice and ep_op_slice_face operations. More... | |
virtual void | EpModRotateSlicePlane (Quat &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t) |
Rotate the Slice Plane that's used in the ep_op_slice and ep_op_slice_face operations. More... | |
virtual void | EpModScaleSlicePlane (Point3 &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t) |
Scale the Slice Plane that's used in the ep_op_slice and ep_op_slice_face operations. More... | |
virtual void | EpResetSlicePlane () |
Resets the slice plane used in the slice operations so that it lies in the XY plane in object space. More... | |
virtual Matrix3 | EpGetSlicePlaneTM (TimeValue t) |
Returns the current transform of the slice plane. More... | |
virtual void | EpGetSlicePlane (Point3 &planeNormal, Point3 &planeCenter, TimeValue t) |
Retrieves the current slice plane, by its normal and center. More... | |
virtual void | EpSetSlicePlane (Point3 &planeNormal, Point3 &planeCenter, TimeValue t) |
Sets the slice plane to use the normal and center given. More... | |
virtual bool | EpInSliceMode () |
Indicates if we're currently in the "Slice Plane" mode, which is not a command mode, but rather a different way of handling the regular (move, rotate, scale) command modes. More... | |
virtual bool | EpInSlice () |
Indicates if we're currently in a Slice operation (ep_op_slice or ep_op_slice_face). More... | |
virtual Modifier * | GetModifier ()=0 |
Returns the Edit Poly cast as a modifier. More... | |
virtual IObjParam * | EpModGetIP () |
Returns NULL if the Edit Poly is not currently up in the modifier panel, or the IObjParam interface pointer otherwise. More... | |
virtual HWND | GetDlgHandle (int paramPanelID) |
Returns the handle of the dialog specified. More... | |
virtual void | UpdateAlignParameters (TimeValue t) |
Updates the Align normal and offset parameters based on the current viewport and on the ep_align_type parameter. More... | |
virtual void | UpdateCache (TimeValue t) |
Makes sure that all the LocalModData used by the Edit Poly modifiers has an up to date cache. More... | |
virtual bool | EpModShowOperationDialog () |
Show the popup dialog associated with the current operation. More... | |
virtual bool | EpModShowingOperationDialog () |
Indicates whether or not there is currently a popup dialog being displayed with parameters for the current operation. More... | |
virtual void | EpModCloseOperationDialog () |
Close the popup dialog which shows the current operation's parameters, if it's currently being displayed. More... | |
virtual void | EpModRepeatLast () |
Repeat the last operation. More... | |
virtual INode * | EpModGetPrimaryNode () |
Get the current "Primary" node, which is used by default when node-specific commands are given and the node given is NULL. More... | |
virtual void | EpModSetPrimaryNode (INode *node) |
Set the current "Primary" node, which is used by default when node-specific commands are given and the node given is NULL. More... | |
virtual Matrix3 | EpModGetNodeTM (TimeValue t, INode *node=NULL) |
Retrieve the transform of the Edit Poly's node. More... | |
Matrix3 | EpModGetNodeTM_FPS (INode *node=NULL, TimeValue t=0) |
virtual int | EpModCreateVertex (Point3 p, INode *pNode=NULL) |
Create a new vertex in the mesh. More... | |
virtual int | EpModCreateFace (Tab< int > *vertex, INode *pNode=NULL) |
Create a new face in the mesh. More... | |
virtual int | EpModCreateEdge (int v1, int v2, INode *pNode=NULL) |
Create a new edge in the mesh. More... | |
virtual void | EpModSetDiagonal (int v1, int v2, INode *pNode=NULL) |
Change the triangulation of a polygon such that there will be a diagonal between the two vertices given. More... | |
virtual void | EpModCut (int startLevel, int startIndex, Point3 startPoint, Point3 normal, INode *pNode=NULL) |
Set up a Cut operation, starting at a specific subobject and at a specific point. More... | |
virtual void | EpModSetCutEnd (Point3 endPoint, INode *pNode=NULL) |
Set the end point of a cut. More... | |
virtual int | EpModGetLastCutEnd () |
If the last Cut we made finished successfully, this method will return the index of the vertex at the end of the cut. More... | |
virtual void | EpModClearLastCutEnd () |
Resets the "last cut end" data to -1. More... | |
virtual void | EpModCutCancel (INode *pNode=NULL) |
Please ignore - this method was never implemented, it does nothing. More... | |
virtual void | EpModDivideEdge (int edge, float prop, INode *pNode=NULL) |
Divides edge, inserting a vertex partway along its length. More... | |
virtual void | EpModDivideFace (int face, Tab< float > *bary, INode *pNode=NULL) |
Divides the face, inserting a vertex in it and splitting the face up into triangles connecting the new vertex with all the face's original edges. More... | |
virtual void | EpModWeldVerts (int v1, int v2, INode *pNode=NULL) |
Weld two vertices. More... | |
virtual void | EpModWeldEdges (int e1, int e2, INode *pNode=NULL) |
Weld two edges (by welding the vertex endpoints). More... | |
virtual void | EpModAttach (INode *node, INode *pNode=NULL, TimeValue t=0) |
Attach another mesh to this one. More... | |
virtual void | EpModMultiAttach (Tab< INode * > &nodeTab, INode *pNode=NULL, TimeValue t=0) |
Attach a bunch of other meshes to this one. More... | |
virtual void | EpModDetachToObject (MSTR &newObjectName, TimeValue t) |
Detaches the current selection to a new Editable Poly object. More... | |
virtual void | EpModCreateShape (MSTR &shapeObjectName, TimeValue t) |
Creates a shape object based on the current set of selected edges. More... | |
virtual void | EpModSetHingeEdge (int edge, Matrix3 modContextTM, INode *pNode=NULL) |
Sets the Hinge from Edge operation to use the hinge edge given. More... | |
virtual int | EpModGetHingeEdge (INode *pNode) |
Retrieves the current Hinge Edge, or -1 if no hinge edge is set (or if it's set on a different node). More... | |
virtual void | EpModBridgeBorders (int edge1, int edge2, INode *pNode=NULL) |
Create a Bridge between two border loops. More... | |
virtual void | EpModBridgePolygons (int face1, int face2, INode *pNode=NULL) |
virtual void | EpModSetBridgeNode (INode *pNode) |
virtual INode * | EpModGetBridgeNode () |
virtual bool | EpModReadyToBridgeSelected () |
virtual void | EpModTurnDiagonal (int faceIndex, int diagonal, INode *pNode=NULL) |
virtual void | EpModListOperations (INode *pNode=NULL) |
Lists the entire history of applied operations to the Maxscript listener window. More... | |
virtual MNMesh * | EpModGetMesh (INode *pNode=NULL) |
Get a pointer to the Edit Poly's cached mesh. More... | |
virtual MNMesh * | EpModGetOutputMesh (INode *pNode=NULL) |
Get a pointer to the Edit Poly's cached output mesh. More... | |
virtual int | EpMeshGetNumVertices (INode *pNode=NULL) |
Returns the number of vertices in the mesh. More... | |
virtual Point3 | EpMeshGetVertex (int vertIndex, INode *pNode=NULL) |
Returns the position (in object space) of a particular vertex in the mesh. More... | |
virtual int | EpMeshGetVertexFaceCount (int vertIndex, INode *pNode=NULL) |
Returns the number of faces using a particular vertex. More... | |
virtual int | EpMeshGetVertexFace (int vertIndex, int whichFace, INode *pNode=NULL) |
Returns a face that uses the vertex given. More... | |
virtual int | EpMeshGetVertexEdgeCount (int vertIndex, INode *pNode=NULL) |
Returns the number of edges using a particualr vertex. More... | |
virtual int | EpMeshGetVertexEdge (int vertIndex, int whichEdge, INode *pNode=NULL) |
Returns one of the edges using the vertex given. More... | |
virtual int | EpMeshGetNumEdges (INode *pNode=NULL) |
Returns the number of edges in the mesh. More... | |
virtual int | EpMeshGetEdgeVertex (int edgeIndex, int end, INode *pNode=NULL) |
Returns the vertex at one end of the edge given. More... | |
virtual int | EpMeshGetEdgeFace (int edgeIndex, int side, INode *pNode=NULL) |
Returns the face on one side of the edge given. More... | |
virtual int | EpMeshGetNumFaces (INode *pNode=NULL) |
Returns the number of faces in the mesh. More... | |
virtual int | EpMeshGetFaceDegree (int faceIndex, INode *pNode=NULL) |
Returns the degree of the indicated face. More... | |
virtual int | EpMeshGetFaceVertex (int faceIndex, int corner, INode *pNode=NULL) |
Returns the vertex in a particular corner of a particular face. More... | |
virtual int | EpMeshGetFaceEdge (int faceIndex, int side, INode *pNode=NULL) |
Returns the edge on a particular side of a particular face. More... | |
virtual int | EpMeshGetFaceDiagonal (int faceIndex, int diagonal, int end, INode *pNode=NULL) |
Returns the index of the corner used at an end of a face diagonal. More... | |
virtual int | EpMeshGetFaceMaterial (int faceIndex, INode *pNode=NULL) |
Returns the material ID used by a particular face. More... | |
virtual DWORD | EpMeshGetFaceSmoothingGroup (int faceIndex, INode *pNode=NULL) |
Returns the smoothing groups used by a particular face. More... | |
virtual int | EpMeshGetNumMapChannels (INode *pNode=NULL) |
Returns the number of positive map channels in the mesh. More... | |
virtual bool | EpMeshGetMapChannelActive (int mapChannel, INode *pNode=NULL) |
Indicates if the specified map channel is "active", that is, if it contains a set of map coordinates and map faces. More... | |
virtual int | EpMeshGetNumMapVertices (int mapChannel, INode *pNode=NULL) |
Returns the number of map vertices in the specified map. More... | |
virtual UVVert | EpMeshGetMapVertex (int mapChannel, int vertIndex, INode *pNode=NULL) |
Returns the UVVert map vertex position for a given map channel and map vertex index. More... | |
virtual int | EpMeshGetMapFaceVertex (int mapChannel, int faceIndex, int corner, INode *pNode=NULL) |
Returns the index of the map vertex used in a particular corner of a particular map face (in a particular map). More... | |
virtual void | EpModBridgeEdges (const int in_edge1, const int in_edge2, INode *in_pNode=NULL) |
Bridges individual edges, will use current parameters. More... | |
virtual void | EpModUpdateRingEdgeSelection (int in_val, INode *in_pNode=NULL) |
Changea the edge selection in the ring direction. More... | |
virtual void | EpModUpdateLoopEdgeSelection (int in_val, INode *in_pNode=NULL) |
Changes the edge selection in the loop direction. More... | |
virtual void | EpModSetRingShift (int in_newPos, bool in_moveOnly, bool in_add) |
Changes the edge selection , in the ring direction. More... | |
virtual void | EpModSetLoopShift (int in_newPos, bool in_moveOnly, bool in_add) |
Changes the edge selection , in the loop direction. More... | |
virtual int | EpModConvertSelectionToBorder (int in_epSelLevelFrom, int in_epSelLevelTo) |
Converts current sub-object selection to the specified sub-object border. More... | |
virtual void | EpModPaintDeformCommit () |
Commits any Paint Deformation as if pressing the Commit button. More... | |
virtual void | EpModPaintDeformCancel () |
Reverts any Paint Deformation as if pressing the Revert button. More... | |
virtual Point3 | EPMeshGetFaceNormal (const int in_faceIndex, INode *in_pNode=NULL) |
Returns the normal of the face specified. More... | |
virtual Point3 | EPMeshGetFaceCenter (const int in_faceIndex, INode *in_pNode=NULL) |
Returns the center of the face specified. More... | |
virtual float | EPMeshGetFaceArea (const int in_faceIndex, INode *in_pNode=NULL) |
Returns the area of the face specified. More... | |
virtual BitArray * | EPMeshGetOpenEdges (INode *in_pNode=NULL) |
Returns a list of edges that are adjacent to at least one empty face. More... | |
virtual void | EPMeshSetVert (const BitArray &in_vset, const Point3 &in_point, INode *in_pNode=NULL) |
Moves the specified vertices to the specified point. More... | |
virtual void | SmGrpFloater ()=0 |
Brings up the Smooting Group floater dialog. If it is already up it closes it More... | |
virtual void | MatIDFloater ()=0 |
Brings up the Material ID floater dialog. If it is already up it closes it More... | |
virtual BOOL | MatIDFloaterVisible ()=0 |
Returns whether the Material ID floater dialog is up. More... | |
virtual BOOL | SmGrpFloaterVisible ()=0 |
Returns whether the Smooting Group floater dialog is up. More... | |
virtual void | CloseSmGrpFloater () |
Closes the Smoothing Group Floater Dialog. More... | |
virtual void | CloseMatIDFloater () |
virtual HWND | MatIDFloaterHWND () |
Returns the Material ID Floater Dialog Handle. More... | |
virtual HWND | SmGrpFloaterHWND () |
Returns the SmGrp Floater Dialog Handle. More... | |
virtual void | ListDeltaOps ()=0 |
Prints the delta operations to script window. More... | |
virtual int | EpModGetLast () |
Returns the last operation used or -1 if none. More... | |
GetByFlag | |
virtual bool | EPMeshGetVertsByFlag (BitArray &out_vset, const DWORD in_flags, const DWORD in_fmask=0x0, INode *in_pNode=NULL) |
These methods retrieve the parts of the object that match the specified flags and mask passed in. More... | |
virtual bool | EPMeshGetEdgesByFlag (BitArray &out_eset, const DWORD in_flags, const DWORD in_fmask=0x0, INode *in_pNode=NULL) |
Retrieves the edges specified the flag and mask, and updates the bitarray passed in. More... | |
virtual bool | EPMeshGetFacesByFlag (BitArray &out_fset, const DWORD in_flags, const DWORD in_fmask=0x0, INode *in_pNode=NULL) |
Retrieves the faces specified the flag and mask, and updates the bitarray passed in. More... | |
SetFlags | |
virtual void | EPMeshSetVertexFlags (BitArray &in_vset, const DWORD in_flags, DWORD in_fmask=0x0, const bool in_undoable=true, INode *in_pNode=NULL) |
These methods set the flags on the specified subobjects to match the flags and mask passed in. More... | |
virtual void | EPMeshSetEdgeFlags (BitArray &in_eset, const DWORD in_flags, DWORD in_fmask=0x0, const bool in_undoable=true, INode *in_pNode=NULL) |
Sets the specified vertices flags to the specified value. More... | |
virtual void | EPMeshSetFaceFlags (BitArray &in_fset, const DWORD in_flags, DWORD in_fmask=0x0, const bool in_undoable=true, INode *in_pNode=NULL) |
Sets the specified faces flags to the specified value. More... | |
GetFlags | |
virtual int | EPMeshGetVertexFlags (const int in_vertexIndex, INode *in_pNode=NULL) |
These methods get the flags on the specified subobjects. More... | |
virtual int | EPMeshGetEdgeFlags (const int in_edgeIndex, INode *in_pNode=NULL) |
Retrieves the flags from the specified edge. More... | |
virtual int | EPMeshGetFaceFlags (const int in_faceIndex, INode *in_pNode=NULL) |
Retrieves the flags from the specified face. More... | |
GetUsing | |
virtual void | EPMeshGetVertsUsingEdge (BitArray &out_vset, const BitArray &in_eset, INode *in_pNode=NULL) |
These methods retrieve all subobjects of the specified type that are connected to the second list of subobjects passed in . More... | |
virtual void | EPMeshGetEdgesUsingVert (BitArray &out_eset, BitArray &in_vset, INode *in_pNode=NULL) |
Retrieves list of edges that are used by the vertices specified. More... | |
virtual void | EPMeshGetFacesUsingEdge (BitArray &out_fset, BitArray &in_eset, INode *in_pNode=NULL) |
Retrieves list of faces that are used by the edges specified. More... | |
virtual void | EPMeshGetElementsUsingFace (BitArray &out_eset, BitArray &in_fset, BitArray &in_fenceSet, INode *in_pNode=NULL) |
Retrieves list of elements that are used by the faces specified. More... | |
virtual void | EPMeshGetFacesUsingVert (BitArray &out_fset, BitArray &in_vset, INode *in_pNode=NULL) |
Retrieves list of faces that are used by the vertices specified. More... | |
virtual void | EPMeshGetVertsUsingFace (BitArray &out_vset, BitArray &in_fset, INode *in_pNode=NULL) |
Retrieves list of verts that are used by the faces specified. More... | |
Public Member Functions inherited from FPMixinInterface | |
FPMixinInterface () | |
virtual LifetimeType | LifetimeControl () |
virtual CoreExport bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
CoreExport | ~FPMixinInterface () |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDescByID (Interface_ID id) |
virtual Interface_ID | GetID () |
Public Member Functions inherited from FPInterface | |
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL) |
virtual FPStatus | Invoke (FunctionID fid, FPParams *params) |
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL) |
virtual FPStatus | Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL) |
virtual CoreExport FunctionID | FindFn (const MCHAR *name) |
virtual CoreExport BOOL | IsEnabled (FunctionID actionID) |
virtual CoreExport BOOL | IsChecked (FunctionID actionID) |
virtual CoreExport BOOL | IsVisible (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsEnabled (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsChecked (FunctionID actionID) |
virtual CoreExport FunctionID | GetIsVisible (FunctionID actionID) |
virtual ActionTable * | GetActionTable () |
virtual void | EnableActions (BOOL onOff) |
Public Member Functions inherited from BaseInterface | |
virtual UtilExport | ~BaseInterface () |
Destructor. More... | |
virtual BaseInterface * | AcquireInterface () |
virtual void | ReleaseInterface () |
virtual void | DeleteInterface () |
virtual BaseInterface * | CloneInterface (void *remapDir=NULL) |
Public Member Functions inherited from InterfaceServer | |
virtual UtilExport | ~InterfaceServer () |
Destructor. More... | |
template<class InterfaceType > | |
InterfaceType * | GetTypedInterface () |
Additional Inherited Members | |
Public Types inherited from BaseInterface | |
enum | LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled } |
Static Public Member Functions inherited from MaxHeapOperators | |
static UtilExport void * | operator new (size_t size) |
Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new (size_t size, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new[] (size_t size) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. More... | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More... | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More... | |
static UtilExport void | operator delete (void *ptr) |
Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete[] (void *ptr) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More... | |
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More... | |
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
Placement new operator. More... | |
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
Placement delete operator. More... | |
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. More... | |
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
Reallocates memory on a specified alignment boundary. More... | |
static UtilExport void | aligned_free (void *ptr) |
Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More... | |
Static Public Attributes inherited from FPInterface | |
static CoreExport FPInterfaceDesc | nullInterface |
Protected Member Functions inherited from FPMixinInterface | |
FPMixinInterface (const FPMixinInterface &rhs) | |
FPMixinInterface & | operator= (const FPMixinInterface &rhs) |
Protected Member Functions inherited from FPInterface | |
virtual FPStatus | _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p) |
Protected Attributes inherited from FPMixinInterface | |
Tab< InterfaceNotifyCallback * > * | interfaceNotifyCBs |
This class is the published interface for Edit Poly modifiers.
You can use it to manipulate Edit Poly modifiers directly. / Implementations of all of these methods can be found in the source for the Edit Poly modifier. / usages for most of them can be found there as well.
FN_0 | ( | epmod_get_sel_level | , |
TYPE_ENUM | , | ||
GetEPolySelLevel | |||
) |
FN_0 | ( | epmod_get_mn_sel_level | , |
TYPE_ENUM | , | ||
GetMNSelLevel | |||
) |
VFN_1 | ( | epmod_set_sel_level | , |
SetEPolySelLevel | , | ||
TYPE_ENUM | |||
) |
FN_3 | ( | epmod_convert_selection | , |
TYPE_INT | , | ||
EpModConvertSelection | , | ||
TYPE_ENUM | , | ||
TYPE_ENUM | , | ||
TYPE_bool | |||
) |
FN_0 | ( | epmod_get_operation | , |
TYPE_ENUM | , | ||
GetPolyOperationID | |||
) |
VFN_1 | ( | epmod_set_operation | , |
EpModSetOperation | , | ||
TYPE_ENUM | |||
) |
VFN_1 | ( | epmod_popup_dialog | , |
EpModPopupDialog | , | ||
TYPE_ENUM | |||
) |
VFN_1 | ( | epmod_button_op | , |
EpModButtonOp | , | ||
TYPE_ENUM | |||
) |
VFN_0 | ( | epmod_repeat_last | , |
EpModRepeatLast | |||
) |
VFNT_0 | ( | epmod_commit | , |
EpModCommit | |||
) |
VFNT_0 | ( | epmod_commit_unless_animating | , |
EpModCommitUnlessAnimating | |||
) |
VFNT_0 | ( | epmod_commit_and_repeat | , |
EpModCommitAndRepeat | |||
) |
VFN_0 | ( | epmod_cancel_operation | , |
EpModCancel | |||
) |
FN_2 | ( | epmod_get_selection | , |
TYPE_BITARRAY | , | ||
EpModGetSelection | , | ||
TYPE_ENUM | , | ||
TYPE_INODE | |||
) |
FN_3 | ( | epmod_set_selection | , |
TYPE_bool | , | ||
EpModSetSelection | , | ||
TYPE_ENUM | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_INODE | |||
) |
FN_5 | ( | epmod_select | , |
TYPE_bool | , | ||
EpModSelect | , | ||
TYPE_ENUM | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_bool | , | ||
TYPE_bool | , | ||
TYPE_INODE | |||
) |
VFN_1 | ( | epmod_set_primary_node | , |
EpModSetPrimaryNode | , | ||
TYPE_INODE | |||
) |
VFN_1 | ( | epmod_toggle_command_mode | , |
EpModToggleCommandMode | , | ||
TYPE_ENUM | |||
) |
VFN_1 | ( | epmod_enter_command_mode | , |
EpModEnterCommandMode | , | ||
TYPE_ENUM | |||
) |
FN_0 | ( | epmod_get_command_mode | , |
TYPE_ENUM | , | ||
EpModGetCommandMode | |||
) |
VFN_1 | ( | epmod_enter_pick_mode | , |
EpModEnterPickMode | , | ||
TYPE_ENUM | |||
) |
FN_0 | ( | epmod_get_pick_mode | , |
TYPE_ENUM | , | ||
EpModGetPickMode | |||
) |
VFNT_4 | ( | epmod_move_selection | , |
EpModMoveSelection | , | ||
TYPE_POINT3_BR | , | ||
TYPE_MATRIX3_BR | , | ||
TYPE_MATRIX3_BR | , | ||
TYPE_BOOL | |||
) |
VFNT_4 | ( | epmod_rotate_selection | , |
EpModRotateSelection | , | ||
TYPE_QUAT_BR | , | ||
TYPE_MATRIX3_BR | , | ||
TYPE_MATRIX3_BR | , | ||
TYPE_BOOL | |||
) |
VFNT_4 | ( | epmod_scale_selection | , |
EpModScaleSelection | , | ||
TYPE_POINT3_BR | , | ||
TYPE_MATRIX3_BR | , | ||
TYPE_MATRIX3_BR | , | ||
TYPE_BOOL | |||
) |
VFNT_3 | ( | epmod_move_slicer | , |
EpModMoveSlicePlane | , | ||
TYPE_POINT3_BR | , | ||
TYPE_MATRIX3_BR | , | ||
TYPE_MATRIX3_BR | |||
) |
VFNT_4 | ( | epmod_rotate_slicer | , |
EpModRotateSlicePlane | , | ||
TYPE_QUAT_BR | , | ||
TYPE_MATRIX3_BR | , | ||
TYPE_MATRIX3_BR | , | ||
TYPE_BOOL | |||
) |
VFNT_4 | ( | epmod_scale_slicer | , |
EpModScaleSlicePlane | , | ||
TYPE_POINT3_BR | , | ||
TYPE_MATRIX3_BR | , | ||
TYPE_MATRIX3_BR | , | ||
TYPE_BOOL | |||
) |
FN_0 | ( | epmod_in_slice_mode | , |
TYPE_bool | , | ||
EpInSliceMode | |||
) |
VFN_0 | ( | epmod_reset_slice_plane | , |
EpResetSlicePlane | |||
) |
FNT_0 | ( | epmod_get_slice_plane_tm | , |
TYPE_MATRIX3_BV | , | ||
EpGetSlicePlaneTM | |||
) |
VFNT_2 | ( | epmod_get_slice_plane | , |
EpGetSlicePlane | , | ||
TYPE_POINT3_BR | , | ||
TYPE_POINT3_BR | |||
) |
VFNT_2 | ( | epmod_set_slice_plane | , |
EpSetSlicePlane | , | ||
TYPE_POINT3_BR | , | ||
TYPE_POINT3_BR | |||
) |
FN_2 | ( | epmod_create_vertex | , |
TYPE_INDEX | , | ||
EpModCreateVertex | , | ||
TYPE_POINT3 | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_create_face | , |
TYPE_INDEX | , | ||
EpModCreateFace | , | ||
TYPE_INDEX_TAB | , | ||
TYPE_INODE | |||
) |
FN_3 | ( | epmod_create_edge | , |
TYPE_INDEX | , | ||
EpModCreateEdge | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_set_diagonal | , |
EpModSetDiagonal | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
VFN_5 | ( | epmod_cut | , |
EpModCut | , | ||
TYPE_ENUM | , | ||
TYPE_INDEX | , | ||
TYPE_POINT3 | , | ||
TYPE_POINT3 | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_target_weld_vertex | , |
EpModWeldVerts | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_target_weld_edge | , |
EpModWeldEdges | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
VFNT_2 | ( | epmod_attach_node | , |
EpModAttach | , | ||
TYPE_INODE | , | ||
TYPE_INODE | |||
) |
VFNT_2 | ( | epmod_attach_nodes | , |
EpModMultiAttach | , | ||
TYPE_INODE_TAB_BR | , | ||
TYPE_INODE | |||
) |
VFNT_1 | ( | epmod_detach_to_object | , |
EpModDetachToObject | , | ||
TYPE_TSTR_BR | |||
) |
VFNT_1 | ( | epmod_create_shape | , |
EpModCreateShape | , | ||
TYPE_TSTR_BR | |||
) |
VFN_3 | ( | epmod_set_hinge_edge | , |
EpModSetHingeEdge | , | ||
TYPE_INDEX | , | ||
TYPE_MATRIX3 | , | ||
TYPE_INODE | |||
) |
FN_1 | ( | epmod_get_hinge_edge | , |
TYPE_INDEX | , | ||
EpModGetHingeEdge | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_bridge_borders | , |
EpModBridgeBorders | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_bridge_polygons | , |
EpModBridgePolygons | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_0 | ( | epmod_get_bridge_node | , |
TYPE_INODE | , | ||
EpModGetBridgeNode | |||
) |
VFN_1 | ( | epmod_set_bridge_node | , |
EpModSetBridgeNode | , | ||
TYPE_INODE | |||
) |
FN_1 | ( | epmod_get_preserve_map | , |
TYPE_bool | , | ||
EpModGetPreserveMap | , | ||
TYPE_INT | |||
) |
VFN_2 | ( | epmod_set_preserve_map | , |
EpModSetPreserveMap | , | ||
TYPE_INT | , | ||
TYPE_bool | |||
) |
VFN_3 | ( | epmod_turn_diagonal | , |
EpModTurnDiagonal | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_1 | ( | epmod_get_num_vertices | , |
TYPE_INT | , | ||
EpMeshGetNumVertices | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_vertex | , |
TYPE_POINT3_BV | , | ||
EpMeshGetVertex | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_vertex_face_count | , |
TYPE_INT | , | ||
EpMeshGetVertexFaceCount | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_3 | ( | epmod_get_vertex_face | , |
TYPE_INDEX | , | ||
EpMeshGetVertexFace | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_vertex_edge_count | , |
TYPE_INT | , | ||
EpMeshGetVertexEdgeCount | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_3 | ( | epmod_get_vertex_edge | , |
TYPE_INDEX | , | ||
EpMeshGetVertexEdge | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_1 | ( | epmod_get_num_edges | , |
TYPE_INT | , | ||
EpMeshGetNumEdges | , | ||
TYPE_INODE | |||
) |
FN_3 | ( | epmod_get_edge_vertex | , |
TYPE_INDEX | , | ||
EpMeshGetEdgeVertex | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_3 | ( | epmod_get_edge_face | , |
TYPE_INDEX | , | ||
EpMeshGetEdgeFace | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_1 | ( | epmod_get_num_faces | , |
TYPE_INT | , | ||
EpMeshGetNumFaces | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_face_degree | , |
TYPE_INT | , | ||
EpMeshGetFaceDegree | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_3 | ( | epmod_get_face_vertex | , |
TYPE_INDEX | , | ||
EpMeshGetFaceVertex | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_3 | ( | epmod_get_face_edge | , |
TYPE_INDEX | , | ||
EpMeshGetFaceEdge | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_4 | ( | epmod_get_face_diagonal | , |
TYPE_INDEX | , | ||
EpMeshGetFaceDiagonal | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_face_material | , |
TYPE_INDEX | , | ||
EpMeshGetFaceMaterial | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_face_smoothing_group | , |
TYPE_DWORD | , | ||
EpMeshGetFaceSmoothingGroup | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_1 | ( | epmod_get_num_map_channels | , |
TYPE_INT | , | ||
EpMeshGetNumMapChannels | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_map_channel_active | , |
TYPE_bool | , | ||
EpMeshGetMapChannelActive | , | ||
TYPE_INT | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_num_map_vertices | , |
TYPE_INT | , | ||
EpMeshGetNumMapVertices | , | ||
TYPE_INT | , | ||
TYPE_INODE | |||
) |
FN_3 | ( | epmod_get_map_vertex | , |
TYPE_POINT3_BV | , | ||
EpMeshGetMapVertex | , | ||
TYPE_INT | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_4 | ( | epmod_get_map_face_vertex | , |
TYPE_INDEX | , | ||
EpMeshGetMapFaceVertex | , | ||
TYPE_INT | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
VFN_1 | ( | epmod_list_operations | , |
EpModListOperations | , | ||
TYPE_INODE | |||
) |
VFN_1 | ( | epmod_local_data_changed | , |
EpModLocalDataChanged | , | ||
TYPE_DWORD | |||
) |
VFN_0 | ( | epmod_refresh_screen | , |
EpModRefreshScreen | |||
) |
FN_0 | ( | epmod_in_slice | , |
TYPE_bool | , | ||
EpInSlice | |||
) |
FN_0 | ( | epmod_show_operation_dialog | , |
TYPE_bool | , | ||
EpModShowOperationDialog | |||
) |
FN_0 | ( | epmod_get_primary_node | , |
TYPE_INODE | , | ||
EpModGetPrimaryNode | |||
) |
FNT_1 | ( | epmod_get_node_tm | , |
TYPE_MATRIX3_BV | , | ||
EpModGetNodeTM_FPS | , | ||
TYPE_INODE | |||
) |
VFN_2 | ( | epmod_set_cut_end | , |
EpModSetCutEnd | , | ||
TYPE_POINT3 | , | ||
TYPE_INODE | |||
) |
FN_0 | ( | epmod_get_last_cut_end | , |
TYPE_INDEX | , | ||
EpModGetLastCutEnd | |||
) |
VFN_0 | ( | epmod_clear_last_cut_end | , |
EpModClearLastCutEnd | |||
) |
VFN_1 | ( | epmod_cut_cancel | , |
EpModCutCancel | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_divide_edge | , |
EpModDivideEdge | , | ||
TYPE_INDEX | , | ||
TYPE_FLOAT | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_divide_face | , |
EpModDivideFace | , | ||
TYPE_INDEX | , | ||
TYPE_FLOAT_TAB | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_bridge_edges | , |
EpModBridgeEdges | , | ||
TYPE_INDEX | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_ring_sel | , |
EpModSetRingShift | , | ||
TYPE_INT | , | ||
TYPE_bool | , | ||
TYPE_bool | |||
) |
VFN_3 | ( | epmod_loop_sel | , |
EpModSetLoopShift | , | ||
TYPE_INT | , | ||
TYPE_bool | , | ||
TYPE_bool | |||
) |
FN_2 | ( | epmod_convert_selection_to_border | , |
TYPE_INT | , | ||
EpModConvertSelectionToBorder | , | ||
TYPE_ENUM | , | ||
TYPE_ENUM | |||
) |
VFN_0 | ( | epmod_paintdeform_commit | , |
EpModPaintDeformCommit | |||
) |
VFN_0 | ( | epmod_paintdeform_cancel | , |
EpModPaintDeformCancel | |||
) |
FN_2 | ( | epmod_get_face_normal | , |
TYPE_POINT3_BV | , | ||
EPMeshGetFaceNormal | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_face_center | , |
TYPE_POINT3_BV | , | ||
EPMeshGetFaceCenter | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_face_area | , |
TYPE_FLOAT | , | ||
EPMeshGetFaceArea | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_1 | ( | epmod_get_open_edges | , |
TYPE_BITARRAY | , | ||
EPMeshGetOpenEdges | , | ||
TYPE_INODE | |||
) |
FN_4 | ( | epmod_get_verts_by_flag | , |
TYPE_bool | , | ||
EPMeshGetVertsByFlag | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_DWORD | , | ||
TYPE_DWORD | , | ||
TYPE_INODE | |||
) |
FN_4 | ( | epmod_get_edges_by_flag | , |
TYPE_bool | , | ||
EPMeshGetEdgesByFlag | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_DWORD | , | ||
TYPE_DWORD | , | ||
TYPE_INODE | |||
) |
FN_4 | ( | epmod_get_faces_by_flag | , |
TYPE_bool | , | ||
EPMeshGetFacesByFlag | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_DWORD | , | ||
TYPE_DWORD | , | ||
TYPE_INODE | |||
) |
VFN_5 | ( | epmod_set_vertex_flags | , |
EPMeshSetVertexFlags | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_DWORD | , | ||
TYPE_DWORD | , | ||
TYPE_bool | , | ||
TYPE_INODE | |||
) |
VFN_5 | ( | epmod_set_edge_flags | , |
EPMeshSetEdgeFlags | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_DWORD | , | ||
TYPE_DWORD | , | ||
TYPE_bool | , | ||
TYPE_INODE | |||
) |
VFN_5 | ( | epmod_set_face_flags | , |
EPMeshSetFaceFlags | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_DWORD | , | ||
TYPE_DWORD | , | ||
TYPE_bool | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_vertex_flags | , |
TYPE_INT | , | ||
EPMeshGetVertexFlags | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_edge_flags | , |
TYPE_INT | , | ||
EPMeshGetEdgeFlags | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
FN_2 | ( | epmod_get_face_flags | , |
TYPE_INT | , | ||
EPMeshGetFaceFlags | , | ||
TYPE_INDEX | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_get_verts_using_edge | , |
EPMeshGetVertsUsingEdge | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_get_edges_using_vert | , |
EPMeshGetEdgesUsingVert | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_get_faces_using_edge | , |
EPMeshGetFacesUsingEdge | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_INODE | |||
) |
VFN_4 | ( | epmod_get_elements_using_face | , |
EPMeshGetElementsUsingFace | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_get_faces_using_vert | , |
EPMeshGetFacesUsingVert | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_get_verts_using_face | , |
EPMeshGetVertsUsingFace | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_INODE | |||
) |
VFN_3 | ( | epmod_set_vert | , |
EPMeshSetVert | , | ||
TYPE_BITARRAY_BR | , | ||
TYPE_POINT3_BR | , | ||
TYPE_INODE | |||
) |
VFN_0 | ( | epmod_smgrp_floater | , |
SmGrpFloater | |||
) |
FN_0 | ( | epmod_smgrp_floatervisible | , |
TYPE_BOOL | , | ||
SmGrpFloaterVisible | |||
) |
VFN_0 | ( | epmod_matid_floater | , |
MatIDFloater | |||
) |
FN_0 | ( | epmod_matid_floatervisible | , |
TYPE_BOOL | , | ||
MatIDFloaterVisible | |||
) |
VFN_0 | ( | epmod_list_delta_ops | , |
ListDeltaOps | |||
) |
FN_0 | ( | epmod_get_last | , |
TYPE_INT | , | ||
EpModGetLast | |||
) |
|
virtual |
For system use only - retrieves the function publishing interface description.
Implements FPInterface.
|
pure virtual |
Returns the Edit Poly selection level - one of the ePolyModSelLevel enum defined above, such as EPM_SL_VERTEX.
|
pure virtual |
Returns the MNMesh selection level - one of MNM_SL_OBJECT, MNM_SL_VERTEX, MNM_SL_EDGE, or MNM_SL_FACE.
Sets the Edit Poly selection level.
sl | One of the ePolyModSelLevel enum defined above - such as EPM_SL_VERTEX |
|
inlinevirtual |
Converts selection between two Edit Poly selection levels, by selecting adjacent subobjects, such as edges using selected vertices, or vertices used by selected faces, etc.
epSelLevelFrom | The selection level to convert from. |
epSelLevelTo | The selection level to convert to - subobjects in this selection level will have their selection set or cleared based on this algorithm. |
requireAll | Indicates if subobjects in the "to" level should be selected if any subobjects in the "from" level are selected (false) or if all subobjects in the "from" level are selected (true). |
Example: This could be used to convert the current vertex selection to a selection of all border loops containing only selected vertices by calling EpModConvertSelection (EPM_SL_VERTEX, EPM_SL_BORDER, true);
|
inlinevirtual |
Returns the "current" Edit Poly operation.
If there is no current operation ep_op_null is returned. (Values are from the epolyModButtonOp enum above.)
|
inlinevirtual |
|
inlinevirtual |
Returns the Preserve settings for all map channels.
(Does not reflect the epm_preserve_maps parameter, however.)
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Sets the operation to the one given, and then pops up the operation dialog, if one exists.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Returns a BitArray containing the subobject selection in the desired selection level.
meshSelectionLevel | The MNMesh selection level, such as MNM_SL_VERTEX for vertex or MNM_SL_CURRENT for "the current level". |
pNode | If this Edit Poly modifier is instanced across multiple nodes, this parameter specifies which node we're inquiring about. |
|
inlinevirtual |
Sets the subobject selection explicitly.
meshSelectionLevel | The MNMesh selection level, such as MNM_SL_VERTEX for vertex or MNM_SL_CURRENT for "the current level". |
selection | A BitArray containing the desired selection. |
pNode | If this Edit Poly modifier is instanced across multiple nodes, this parameter specifies which node we want to set selection in. |
|
inlinevirtual |
Change the selection state of a subset of subobjects - select them, invert their selection, or deselect them.
meshSelectionLevel | The MNMesh selection level, such as MNM_SL_VERTEX for vertex or MNM_SL_CURRENT for "the current level". |
selection | A BitArray indicating which subobjects we want to change the selection state of. |
invert | If true, the selection state of the subobjects should be inverted. Otherwise, it should be set or cleared depending on "select" |
select | If true, the subobjects indicated should be selected; if false, the subobjects indicated should be deselected. Ignored if "invert" is true. |
pNode | If this Edit Poly modifier is instanced across multiple nodes, this parameter specifies which node we want to set selection in. |
|
inlinevirtual |
Force any hit-testing on the Edit Poly modifier to use the hit level given, instead of the default hit level associated with the current subobject level.
hlo | The Hit Level - one of SUBHIT_MNVERTS, SUBHIT_MNEDGES, SUBHIT_MNFACES, or SUBHIT_MNDIAGONALS, along with SUBHIT_OPENONLY if you want to restrict hit-testing to "open" vertices or edges (ie those on borders) |
Example: Edit Poly's Hinge from Edge interactive command mode uses this to hit-test on faces even though the user is in Polygon subobject level. The Cut mode uses it to hit-test on all three subobject levels, one at a time.
|
inlinevirtual |
|
inlinevirtual |
Indicates the current hit level.
If there's a HitLevelOverride in place, that's returned; otherwise this method returns the regular hit level, which is typically the hit level for the current selection level. If "Select by vertex" is turned on, SUBHIT_MNVERTS will be returned.
selByVert | If you specifically want to know whether "Select by vertex" is being used currently, pass a pointer to an int here. The int pointed to will be set to true if select by vertex is on, or false if not. |
|
inlinevirtual |
Normally, all hit-testing on Edit Poly meshes is done on the mesh before the "current operation".
(This makes it possible to change selections underneath a Bevel or Extrude or Vertex Weld.) If you want to hit-test on the result of the current operation, you need to call this method.
ignoreNew | Controls whether subobjects that are newly created by the current operation can be hit-tested. For instance, if the current operation is an Extrude, this controls whether or not the sides of the extrusion can generate hits. |
|
inlinevirtual |
|
inlinevirtual |
Sets the display level override, to force display of a particular type of subobject regardless of the current subobject level.
dlo | The set of display flags to show. These are MNDISP flags, such as MNDISP_VERTTICKS, that are defined in MNMesh.h. |
Example: Edit Poly's Create Face command mode uses this to show vertex ticks so that the user can see what they're clicking on.
|
inlinevirtual |
|
inlinevirtual |
Returns any current DisplayLevelOverride.
See SetDisplayLevelOverride for more details.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Move the current subobject selection.
This method uses the current selection and soft selection, and respects the settings for Constraints and for Preserving texture maps.
val | The Point3 representing the move. |
partm | The 'parent' transformation matrix. |
tmAxis | The matrix that represents the axis system. This is the space in which the transformation is taking place. |
localOrigin | This parameter is ignored |
t | The time at which to move the points. This time is used to generate vertex animation keys, if appropriate, as well as to obtain the current soft selection parameters. |
|
inlinevirtual |
Rotate the current subobject selection.
This method uses the current selection and soft selection, and respects the settings for Constraints and for Preserving texture maps.
val | The Quaternion representing the rotation. |
partm | The 'parent' transformation matrix. |
tmAxis | The matrix that represents the axis system. This is the space in which the transformation is taking place. |
localOrigin | This parameter is ignored |
t | The time at which to rotate the points. This time is used to generate vertex animation keys, if appropriate, as well as to obtain the current soft selection parameters. |
|
inlinevirtual |
Scale the current subobject selection.
This method uses the current selection and soft selection, and respects the settings for Constraints and for Preserving texture maps.
val | A Point3 representing the scale in each dimension. |
partm | The 'parent' transformation matrix. |
tmAxis | The matrix that represents the axis system. This is the space in which the transformation is taking place. |
localOrigin | This parameter is ignored |
t | The time at which to scale the points. This time is used to generate vertex animation keys, if appropriate, as well as to obtain the current soft selection parameters. |
|
inlinevirtual |
Move the Slice Plane that's used in the ep_op_slice and ep_op_slice_face operations.
val | The Point3 representing the move. |
partm | The 'parent' transformation matrix. |
tmAxis | The matrix that represents the axis system. This is the space in which the transformation is taking place. |
t | The time at which to move the plane. This time is used to generate animation keys, if appropriate. |
|
inlinevirtual |
Rotate the Slice Plane that's used in the ep_op_slice and ep_op_slice_face operations.
val | The Quaternion representing the rotation. |
partm | The 'parent' transformation matrix. |
tmAxis | The matrix that represents the axis system. This is the space in which the transformation is taking place. |
localOrigin | When TRUE the transformation is occurring about the sub-object's local origin; otherwise, the rotation occurs in object space. |
t | The time at which to move the plane. This time is used to generate animation keys, if appropriate. |
|
inlinevirtual |
Scale the Slice Plane that's used in the ep_op_slice and ep_op_slice_face operations.
Note that scaling the slice plane with localOrigin == true has no effect on the actual slice effect; it only affects the way the slice plane is displayed.
val | The Point3 representing the scale in each dimension. |
partm | The 'parent' transformation matrix. |
tmAxis | The matrix that represents the axis system. This is the space in which the transformation is taking place. |
localOrigin | When TRUE the transformation is occurring about the sub-object's local origin; otherwise, the scale occurs in object space. |
t | The time at which to move the plane. This time is used to generate animation keys, if appropriate. |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
pure virtual |
Returns the Edit Poly cast as a modifier.
|
inlinevirtual |
|
inlinevirtual |
Returns the handle of the dialog specified.
paramPanelID | This is an int representing the ID of the dialog. This enum should be moved to this header, but currently it resides in maxsdk/samples/mesh/EditPoly/EditPoly.h. Here are the IDs: 0 - ep_animate - The dialog displaying the current operation, and controlling whether we're in model or animate mode 1 - ep_select - The subobject selection dialog 2 - ep_softsel - The soft selection dialog 3 - ep_geom - The dialog with general Edit Geometry operations, such as Create, Collapse, and Attach. 4 - ep_subobj - The subobject level specific Edit dialog, such as "Edit Vertex" or "Edit Borders", 5 - ep_surface - The face-level dialog for editing surface material surface features 6 - ep_settings - The popup dialog with settings for the current operation 7 - ep_paintdeform - the Paint Deformation dialog. 8 - ep_face_smooth - The face-level dialog for editing smoothing groups. If the dialog you're requesting is not currently displayed, NULL will be returned. |
Example: The Edit Poly command modes use this method to access the buttons for their command mode, to set them to checked when entering the command mode and unchecked when leaving.
Makes sure that all the LocalModData used by the Edit Poly modifiers has an up to date cache.
This should be called before trying to obtain information about the mesh.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Repeat the last operation.
If there is a "current" operation, it will be committed and repeated, without changing any parameters or removing any animations. If there is not, the last recorded operation, if any, will be applied and committed. (In Max 7.0, unfortunately, the identity of this last operation is not exposed in the SDK. You can examine it in the Edit Poly source, maxsdk/samples/mesh/EditPoly, the EditPolyMod::mLastOperation data member.
|
inlinevirtual |
Get the current "Primary" node, which is used by default when node-specific commands are given and the node given is NULL.
Set the current "Primary" node, which is used by default when node-specific commands are given and the node given is NULL.
Retrieve the transform of the Edit Poly's node.
t | The time at which to retrieve the node's TM. |
node | The specific node to use, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Create a new vertex in the mesh.
p | The location of the vertex in object space |
pNode | The specific node to use, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Create a new face in the mesh.
vertex | A table of the vertices to use as the corners of the face |
pNode | The specific node to use, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Create a new edge in the mesh.
The vertices which we're creating a new edge between must be on the same polygon, but not have an existing edge between them. The polygon is split in two by the new edge.
v1 | The start vertex of the new edge. |
v2 | The end vertex of the new edge. |
pNode | The specific node to use, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Change the triangulation of a polygon such that there will be a diagonal between the two vertices given.
(The two vertices must obviously be used by the same polygon.)
v1 | The start vertex of the new diagonal. |
v2 | The end vertex of the new diagonal. |
pNode | The specific node to use, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Example: This is used in the Edit Poly "Edit Triangulation" command mode
|
inlinevirtual |
Set up a Cut operation, starting at a specific subobject and at a specific point.
(Use EpModSetCutEnd to finish the cut.)
startLevel | The starting subobject level, which should be an MNMesh level such as MNM_SL_VERTEX for vertex or MNM_SL_FACE for face. |
startIndex | The index of the starting subobject. For instance, if startLevel==MNM_SL_EDGE, and startIndex==4, the Cut should start on edge 4. |
startPoint | The location (in object space) of the start of the cut. The end of the cut is also initialized to this value, and can be further modified by using EpModSetCutEnd. |
normal | The normal direction for the Cut. In the Cut command mode, this is generally set to the viewport direction. Cuts should occur where the plane defined by the start point, the end point, and this normal intersects the mesh. |
pNode | The specific node to use, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Set the end point of a cut.
endPoint | The location of the end of the Cut, in object space |
pNode | The specific node to use, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
|
inlinevirtual |
If the last Cut we made finished successfully, this method will return the index of the vertex at the end of the cut.
If there was no previous Cut or if it couldn't reach all the way to the desired end point, this method will return -1.
Example: The Cut mode uses this method to generate a series of sequential cuts, where each cut begins exactly on the vertex at the end of the last cut.
|
inlinevirtual |
Divides edge, inserting a vertex partway along its length.
Used in the Edit Poly "Insert Vertex" mode in the Edge subobject level.
edge | The edge to divide |
prop | The proportion along the edge for the location of the new vertex. This should be in the range 0-1, where 0 is on top of the edge's v1 vertex, 1 is on top of the v2 vertex, and .5 is exactly in the middle. |
pNode | The specific node to use, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Divides the face, inserting a vertex in it and splitting the face up into triangles connecting the new vertex with all the face's original edges.
face | The face to divide |
bary | A set of weights for the corners of the face. This table should have Count equal to the face's degree, and its values should add up to 1. NULL is not permitted. If you want a vertex in the center of the polygon, set all values to 1.0f / (face degree). |
pNode | The specific node to use, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Weld two vertices.
In order for the operation to succeed, the vertices must either share an edge, or both be on borders. Success can be detected by checking vertex v2's MN_DEAD flag after the operation - if it's set, the weld succeeded.
v1 | index of the first vertex |
v2 | index of the second vertex |
pNode | The specific node to use, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Weld two edges (by welding the vertex endpoints).
In order for the operation to succeed, both edges must be on borders - their "f2" face should be empty (-1). Success can be detected by checking edge e2's MN_DEAD flag after the operation - if it's set, the weld succeeded.
e1 | index of the first edge |
e2 | index of the second edge |
pNode | The specific node to use, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Attach another mesh to this one.
node | The node containing the mesh to attach. (If the object contained is not a mesh, it will be converted to a mesh.) |
pNode | The specific node to attach to, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
t | The time at which to attach it. (This is the time at which the other node is evaluated, which may be important if the other node is animated.) |
|
inlinevirtual |
Attach a bunch of other meshes to this one.
nodeTab | The table of nodes containing the meshes to attach. (If the object contained is not a mesh, it will be converted to a mesh.) |
pNode | The specific node to attach to, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
t | The time at which to attach it. (This is the time at which the other nodes are evaluated, which may be important if the other nodes are animated.) |
Creates a shape object based on the current set of selected edges.
|
inlinevirtual |
Sets the Hinge from Edge operation to use the hinge edge given.
edge | The edge to use as a hinge |
modContextTM | The mod context TM for the node containing the edge. This is important when the Edit Poly is instanced across multiple nodes, because the coordinates of the edge are used to hinge the faces in the other nodes as well. We need to get these coordinates in some common reference frame, which is what the mod context tm is used for. |
pNode | The specific node which contains the hinge, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Retrieves the current Hinge Edge, or -1 if no hinge edge is set (or if it's set on a different node).
Note that if the Edit Poly is instanced across multiple nodes, only one node should contain a hinge edge.
pNode | The specific node which we're referring to, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Create a Bridge between two border loops.
edge1 | An edge on the first border loop |
edge2 | An edge on the second border loop |
pNode | The specific node which we're referring to, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
face1 | index of the first face to bridge |
face2 | index of the second face to bridge |
pNode | The specific node which we're referring to, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
faceIndex | The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1. |
diagonal | The index of the diagonal - between 0 and EpMeshGetFaceDegree(faceIndex, pNode)-4. (There are always n-3 diagonals in a polygon of degree n.) |
pNode | The specific node which we're referring to, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Lists the entire history of applied operations to the Maxscript listener window.
This is not quite adequate for recreating the Edit Poly in a script, because some information is omitted; but it'
pNode | The specific node which we're referring to, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Get a pointer to the Edit Poly's cached mesh.
This is the mesh after all the committed operations, but before the current operation, if any. The mesh returned from this method should not be modified!
pNode | The specific node which we want the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Get a pointer to the Edit Poly's cached output mesh.
This is the mesh after all committed operations as well as the current operation, if any. The mesh returned from this method should not be modified!
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the number of vertices in the mesh.
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the position (in object space) of a particular vertex in the mesh.
vertIndex | The index of the vertex - between 0 and EpMeshGetNumVertices(pNode)-1. |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the number of faces using a particular vertex.
vertIndex | The index of the vertex - between 0 and EpMeshGetNumVertices(pNode)-1. |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
|
inlinevirtual |
Returns a face that uses the vertex given.
vertIndex | The index of the vertex - between 0 and EpMeshGetNumVertices(pNode)-1. |
whichFace | The index of the face - between 0 and EpMeshGetVertexFaceCount(vertIndex, pNode)-1 |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the number of edges using a particualr vertex.
vertIndex | The index of the vertex - between 0 and EpMeshGetNumVertices(pNode)-1. |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
|
inlinevirtual |
Returns one of the edges using the vertex given.
vertIndex | The index of the vertex - between 0 and EpMeshGetNumVertices(pNode)-1. |
whichEdge | The index of the edge - between 0 and EpMeshGetVertexEdgeCount(vertIndex, pNode)-1 |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the number of edges in the mesh.
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the vertex at one end of the edge given.
edgeIndex | The index of the edge - between 0 and EpMeshGetNumEdges(pNode)-1. |
end | The end of the edge - 0 or 1 |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the face on one side of the edge given.
edgeIndex | The index of the edge - between 0 and EpMeshGetNumEdges(pNode)-1. |
side | The side of the edge. Edges are guaranteed to have a face on side 0, but "border" edges have no face on side 1. "No face" is indicated by a return value of -1. |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the number of faces in the mesh.
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the degree of the indicated face.
faceIndex | The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1. |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the vertex in a particular corner of a particular face.
faceIndex | The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1. |
corner | The corner of the face - between 0 and EpMeshGetFaceDegree(faceIndex,pNode)-1 |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the edge on a particular side of a particular face.
faceIndex | The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1. |
side | The side of the face - between 0 and EpMeshGetFaceDegree(faceIndex,pNode)-1 |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
|
inlinevirtual |
Returns the index of the corner used at an end of a face diagonal.
faceIndex | The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1. |
diagonal | The index of the diagonal - between 0 and EpMeshGetFaceDegree(faceIndex, pNode)-4. (There are always n-3 diagonals in a polygon of degree n.) |
end | 0 for the start of the diagonal, 1 for the end. |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the material ID used by a particular face.
faceIndex | The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1. |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the smoothing groups used by a particular face.
faceIndex | The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1. |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the number of positive map channels in the mesh.
This number depends on the map channels that are active, or have been in the past. Default is 2, typically it's in the single digits, but it can range as high as MAX_MESHMAPS. (These channels need not all be active - this method just gives an upper bound on the index of active map channels.)
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Indicates if the specified map channel is "active", that is, if it contains a set of map coordinates and map faces.
mapChannel | The index of the map channel, which can range from -NUM_HIDDENMAPS to EpMeshGetNumMapChannels(pNode)-1. |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Returns the number of map vertices in the specified map.
This is typically larger than the number of regular vertices in the mesh, though it can be the same or lower. Returns 0 for inactive maps.
mapChannel | The index of the map channel, which can range from -NUM_HIDDENMAPS to EpMeshGetNumMapChannels(pNode)-1. |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
|
inlinevirtual |
Returns the UVVert map vertex position for a given map channel and map vertex index.
mapChannel | The index of the map channel, which can range from -NUM_HIDDENMAPS to EpMeshGetNumMapChannels(pNode)-1. |
vertIndex | The index of the map vertex, in the range of 0 to EpMeshGetNumMapVertices(mapChannel,pNode)-1 |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
|
inlinevirtual |
Returns the index of the map vertex used in a particular corner of a particular map face (in a particular map).
mapChannel | The index of the map channel, which can range from -NUM_HIDDENMAPS to EpMeshGetNumMapChannels(pNode)-1. |
faceIndex | The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1. (All map channels have the same number of faces as the mesh.) |
corner | The corner of the face - between 0 and EpMeshGetFaceDegree(faceIndex,pNode)-1. (Each map face has the same degree as the corresponding mesh face.) |
pNode | The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL. |
Changes the edge selection in the loop direction.
[in] | in_val | Specifies which way the current edge selection is changed. it can take the values :
|
[in] | in_pNode | The node to which the bridge is applied |
Changes the edge selection , in the ring direction.
This method adds ( move or remove ) edges from the current selection.
n the 'positive' ( or negative ) ring direction,using the 3 existing parameters. The ring direction is vertical for a plane.
If in_newPos == -3 , in_moveOnly == false and in_add == true, it adds 3 edges from the current selection,
in the negative ring direction. this is equivalent to the MaxScript: $.setRingShift -3 false true
[in] | in_newPos | If > 0 will change the edge selection the 'positive' ring direction, if < 0 in the 'negative' direction. |
[in] | in_moveOnly | If true, edges are moved, if false, edges are added or removed from selection |
[in] | in_add | If true edges are added, if false, edges are removed from current selection |
Changes the edge selection , in the loop direction.
This method adds ( move or remove ) edges from the current selection.
n the 'positive' ( or negative ) loop direction,using the 3 existing parameters. The loop direction is horizontal for a plane.
If in_newPos == -3 , in_moveOnly == false and in_add == true, it adds 3 edges from the current selection,
in the negative ring direction. this is equivalent to the MaxScript: $.setLoopShift -3 false true
[in] | in_newPos | If > 0 will change the edge selection the 'positive' ring direction, if < 0 in the 'negative' direction. |
[in] | in_moveOnly | If true, edges are moved, if false, edges are added or removed from selection |
[in] | in_add | If true edges are added, if false, edges are removed from current selection |
|
inlinevirtual |
Converts current sub-object selection to the specified sub-object border.
It converts for instance selected faces into their border edges and selects it,
if you call EpModConvertSelectionToBorder( EPM_SL_FACE, EPM_SL_EDGE);
[in] | in_epSelLevelFrom | Can be EPM_SL_EDGE, EPM_SL_FACE or EPM_SL_VERTEX |
[in] | in_epSelLevelTo | Can be EPM_SL_EDGE, EPM_SL_FACE or EPM_SL_VERTEX |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Returns the normal of the face specified.
[in] | in_faceIndex | The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1. |
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
Returns the center of the face specified.
[in] | in_faceIndex | The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1. |
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
Returns the area of the face specified.
[in] | in_faceIndex | The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1. |
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
Returns a list of edges that are adjacent to at least one empty face.
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
These methods retrieve the parts of the object that match the specified flags and mask passed in.
Retrieves the vertices specified the flag and mask, and updates the bitarray passed in
[out] | out_vset | The BitArray passed by reference - the bits will be updated to show the specified vertices |
[in] | in_flags | The flags that are to be checked for |
[in] | in_fmask | The results will use the bitwise-AND of fmask and flags if it is specified |
in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
Retrieves the edges specified the flag and mask, and updates the bitarray passed in.
[out] | out_eset | The BitArray passed by reference - the bits will be updated to show the specified edges |
[in] | in_flags | The flags that are to be checked for |
[in] | in_fmask | The results will use the bitwise-AND of fmask and flags if it is specified |
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
Retrieves the faces specified the flag and mask, and updates the bitarray passed in.
[out] | out_fset | The BitArray passed by reference - the bits will be updated to show the specified faces |
[in] | in_flags | The flags that are to be checked for |
[in] | in_fmask | The results will use the bitwise-AND of fmask and flags if it is specified |
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
These methods set the flags on the specified subobjects to match the flags and mask passed in.
Sets the specified vertices flags to the specified value
[in] | in_vset | The list of vertices to have their flag changed |
[in] | in_flags | The flags that are to be set |
[in] | in_fmask | The results will use the bitwise-AND of fmask and flags if it is specified |
[in] | in_undoable | Can the results of this operation be undone through the normal method |
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
Sets the specified vertices flags to the specified value.
[in] | in_eset | The list of edges to have their flag changed |
[in] | in_flags | The flags that are to be set |
[in] | in_fmask | The results will use the bitwise-AND of fmask and flags if it is specified |
[in] | in_undoable | Can the results of this operation be undone through the normal method |
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
Sets the specified faces flags to the specified value.
[in] | in_fset | The list of faces to have their flag changed |
[in] | in_flags | The flags that are to be set |
[in] | in_fmask | The results will use the bitwise-AND of fmask and flags if it is specified |
[in] | in_undoable | Can the results of this operation be undone through the normal method |
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
These methods get the flags on the specified subobjects.
Retrieves the flags from the specified vertex
[in] | in_vertexIndex | The vertex to retrieve the flags from - between 0 and EpMeshGetNumVertices - 1 |
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
Retrieves the flags from the specified edge.
[in] | in_edgeIndex | The edge to retrieve the flags from - between 0 and EpMeshGetNumEdges - 1 |
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
Retrieves the flags from the specified face.
[in] | in_faceIndex | The face to retrieve the flags from - between 0 and EpMeshGetNumFaces - 1 |
[in] | in_pNode | Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
These methods retrieve all subobjects of the specified type that are connected to the second list of subobjects passed in .
Retrieves list of verts that are used by the edges specified
[out] | out_vset | - List of vertices that will be updated with the vertices used by the edges |
[in] | in_eset | - List of edges used for finding the vertices |
[in] | in_pNode | - Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
Retrieves list of edges that are used by the vertices specified.
[out] | out_eset | - List of edges that will be updated with the edges used by the vertices |
[in] | in_vset | - List of vertices used for finding the edges |
[in] | in_pNode | - Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
Retrieves list of faces that are used by the edges specified.
[out] | out_fset | - List of faces that will be updated with the faces used by the edges |
[in] | in_eset | - List of edges used for finding the faces |
[in] | in_pNode | - Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
Retrieves list of elements that are used by the faces specified.
[out] | out_eset | - List of elements that will be updated with the elements used by the faces |
[in] | in_fset | - List of faces used for finding the elements |
[in] | in_fenceSet | - List for calculating elements from the face |
[in] | in_pNode | - Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
Retrieves list of faces that are used by the vertices specified.
[out] | out_fset | - List of faces that will be updated with the faces used by the vertices |
[in] | in_vset | - List of vertices used for finding the faces |
[in] | in_pNode | - Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
Retrieves list of verts that are used by the faces specified.
[out] | out_vset | - List of vertices that will be updated with the vertices used by the faces |
[in] | in_fset | - List of faces used for finding the vertices |
[in] | in_pNode | - Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
inlinevirtual |
Moves the specified vertices to the specified point.
Requires a commit for other functions to return the proper data
[in] | in_vset | - List of vertices that will be moved |
[in] | in_point | - Point in the current coordinate system that the vertices will be moved to |
[in] | in_pNode | - Optional node to run the check on. If the node is not specified, we will use the currently selected noe |
|
pure virtual |
Brings up the Smooting Group floater dialog. If it is already up it closes it
|
pure virtual |
Brings up the Material ID floater dialog. If it is already up it closes it
|
pure virtual |
Returns whether the Material ID floater dialog is up.
|
pure virtual |
Returns whether the Smooting Group floater dialog is up.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Returns the SmGrp Floater Dialog Handle.
|
pure virtual |
Prints the delta operations to script window.
|
inlinevirtual |