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.
#include <iEPolyMod.h>
Public Member Functions |
|
BEGIN_FUNCTION_MAP | 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) | |
END_FUNCTION_MAP FPInterfaceDesc * | GetDesc () |
For system use only - retrieves the function
publishing interface description. |
|
virtual int | GetEPolySelLevel ()=0 |
Returns the Edit Poly selection level - one
of the ePolyModSelLevel enum defined above, such as EPM_SL_VERTEX.
|
|
virtual int | GetMNSelLevel ()=0 |
Returns the
MNMesh selection level - one of MNM_SL_OBJECT, MNM_SL_VERTEX,
MNM_SL_EDGE, or MNM_SL_FACE. |
|
virtual void | SetEPolySelLevel (int sl)=0 |
Sets the Edit Poly selection level. |
|
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.
|
|
virtual int | GetPolyOperationID () |
Returns the "current" Edit Poly operation.
|
|
virtual IParamBlock2 * | getParamBlock () |
Returns the parameter block for the Edit
Poly modifier. |
|
virtual MapBitArray | GetPreserveMapSettings () const |
Returns the Preserve settings for all map
channels. |
|
virtual void | SetPreserveMapSettings (const MapBitArray &mapSettings) |
Sets the Preserve settings for all map
channels. |
|
virtual void | EpModSetPreserveMap (int mapChannel, bool preserve) |
Sets whether a particular map channel will
be "preserved" in geometric operations. |
|
virtual bool | EpModGetPreserveMap (int mapChannel) |
Indicates whether a particular map channel
is set to be "preserved" in geometric operations. |
|
virtual void | InvalidateDistanceCache () |
Invalidates the computed distances from
selected vertices that are used to generate soft selections.
|
|
virtual void | InvalidateSoftSelectionCache () |
Invalidates the computed soft selections
(but not the distances from selected vertices that the soft
selections are based on). |
|
virtual void | EpModSetOperation (int opcode) |
Sets the current operation. |
|
virtual void | EpModPopupDialog (int opcode) |
Sets the operation to the one given, and
then pops up the operation dialog, if one exists. |
|
virtual void | EpModButtonOp (int opcode) |
Applies the operation given, and commits to
it immediately. |
|
virtual void | EpModLocalDataChanged (DWORD parts) |
Indicates to the EditPolyMod that some
channels of its mesh have changed. |
|
virtual void | EpModRefreshScreen () |
Triggers a redraw of the viewports at the
current time. |
|
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. |
|
virtual void | EpModCommit (TimeValue t) |
Commits to the current operation, and clears
any animation. |
|
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). |
|
virtual void | EpModCancel () |
Cancels the current operation. |
|
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.
|
|
virtual void | EpModEnterCommandMode (int mode) |
Exits any previous Edit Poly command modes,
and enters the command mode given. |
|
virtual void | EpModEnterPickMode (int mode) |
Enters the pick mode given. |
|
virtual int | EpModGetCommandMode () |
Retrieves the current Edit Poly command mode
in use, if any. |
|
virtual int | EpModGetPickMode () |
Retrieves the current Edit Poly pick mode in
use, if any. |
|
virtual BitArray * | EpModGetSelection (int meshSelLevel, INode *pNode=NULL) |
Returns a BitArray containing the subobject
selection in the desired selection level. |
|
virtual bool | EpModSetSelection (int meshSelLevel, BitArray &selection, INode *pNode=NULL) |
Sets the subobject selection explicitly.
|
|
virtual bool | EpModSelect (int meshSelLevel, 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.
|
|
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. |
|
virtual void | ClearHitLevelOverride () |
Clear any hit level override, and let
hit-testing fall back on the normal hit level for subobject
selection. |
|
virtual DWORD | GetHitLevelOverride () |
Returns the current hit level override, or 0
if there is none. |
|
virtual DWORD | CurrentHitLevel (int *selByVert=NULL) |
Indicates the current hit level. |
|
virtual void | SetHitTestResult (bool ignoreNew=false) |
Normally, all hit-testing on Edit Poly
meshes is done on the mesh _before_ the "current operation".
|
|
virtual void | ClearHitTestResult () |
Clears any HitTestResult settings, and falls
back on hit-testing before the current operation. |
|
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. |
|
virtual void | ClearDisplayLevelOverride () |
Clear any display level override, and let
hit-testing fall back on the normal display for the current
selection level. |
|
virtual DWORD | GetDisplayLevelOverride () |
Returns any current DisplayLevelOverride.
|
|
virtual void | ForceIgnoreBackfacing (bool force) |
This method is used to temporarily force the
Edit Poly to ignore backfacing subobjects when hit-testing.
|
|
virtual bool | GetForceIgnoreBackfacing () |
Indicates whether or not the Edit Poly is
currently set to force ignoring backfacing subobjects. |
|
virtual void | EpModMoveSelection (Point3 &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t) |
Move the current subobject selection.
|
|
virtual void | EpModRotateSelection (Quat &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t) |
Rotate the current subobject selection.
|
|
virtual void | EpModScaleSelection (Point3 &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t) |
Scale the current subobject selection.
|
|
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. |
|
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. |
|
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. |
|
virtual void | EpResetSlicePlane () |
Resets the slice plane used in the slice
operations so that it lies in the XY plane in object space.
|
|
virtual Matrix3 | EpGetSlicePlaneTM (TimeValue t) |
Returns the current transform of the slice
plane. |
|
virtual void | EpGetSlicePlane (Point3 &planeNormal, Point3 &planeCenter, TimeValue t) |
Retrieves the current slice plane, by its
normal and center. |
|
virtual void | EpSetSlicePlane (Point3 &planeNormal, Point3 &planeCenter, TimeValue t) |
Sets the slice plane to use the normal and
center given. |
|
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.
|
|
virtual bool | EpInSlice () |
Indicates if we're currently in a Slice
operation (ep_op_slice or ep_op_slice_face). |
|
virtual Modifier * | GetModifier ()=0 |
Returns the Edit Poly cast as a modifier.
|
|
virtual IObjParam * | EpModGetIP () |
Returns NULL if the Edit Poly is not
currently up in the modifier panel, or the IObjParam interface pointer otherwise.
|
|
virtual HWND | GetDlgHandle (int paramPanelID) |
Returns the handle of the dialog specified.
|
|
virtual void | UpdateAlignParameters (TimeValue t) |
Updates the Align normal and offset
parameters based on the current viewport and on the ep_align_type
parameter. |
|
virtual void | UpdateCache (TimeValue t) |
Makes sure that all the LocalModData
used by the Edit Poly modifiers has an up to date cache. |
|
virtual bool | EpModShowOperationDialog () |
Show the popup dialog associated with the
current operation. |
|
virtual bool | EpModShowingOperationDialog () |
Indicates whether or not there is currently
a popup dialog being displayed with parameters for the current
operation. |
|
virtual void | EpModCloseOperationDialog () |
Close the popup dialog which shows the
current operation's parameters, if it's currently being displayed.
|
|
virtual void | EpModRepeatLast () |
Repeat the last operation. |
|
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. |
|
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. |
|
virtual Matrix3 | EpModGetNodeTM (TimeValue t, INode *node=NULL) |
Retrieve the transform of the Edit Poly's
node. |
|
Matrix3 | EpModGetNodeTM_FPS (INode *node=NULL, TimeValue t=0) |
virtual int | EpModCreateVertex (Point3 p, INode *pNode=NULL) |
Create a new vertex in the mesh. |
|
virtual int | EpModCreateFace (Tab< int > *vertex, INode *pNode=NULL) |
Create a new face in the mesh. |
|
virtual int | EpModCreateEdge (int v1, int v2, INode *pNode=NULL) |
Create a new edge in the mesh. |
|
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.
|
|
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. |
|
virtual void | EpModSetCutEnd (Point3 endPoint, INode *pNode=NULL) |
Set the end point of a cut. |
|
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. |
|
virtual void | EpModClearLastCutEnd () |
Resets the "last cut end" data to -1.
|
|
virtual void | EpModCutCancel (INode *pNode=NULL) |
Please ignore - this method was never
implemented, it does nothing. |
|
virtual void | EpModDivideEdge (int edge, float prop, INode *pNode=NULL) |
Divides edge, inserting a vertex partway
along its length. |
|
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. |
|
virtual void | EpModWeldVerts (int v1, int v2, INode *pNode=NULL) |
Weld two vertices. |
|
virtual void | EpModWeldEdges (int e1, int e2, INode *pNode=NULL) |
Weld two edges (by welding the vertex
endpoints). |
|
virtual void | EpModAttach (INode *node, INode *pNode=NULL, TimeValue t=0) |
Attach another mesh to this one. |
|
virtual void | EpModMultiAttach (Tab< INode * > &nodeTab, INode *pNode=NULL, TimeValue t=0) |
Attach a bunch of other meshes to this one.
|
|
virtual void | EpModDetachToObject (MSTR &newObjectName, TimeValue t) |
Detaches the current selection to a new
Editable Poly object. |
|
virtual void | EpModCreateShape (MSTR &shapeObjectName, TimeValue t) |
Creates a shape object based on the current
set of selected edges. |
|
virtual void | EpModSetHingeEdge (int edge, Matrix3 modContextTM, INode *pNode=NULL) |
Sets the Hinge from Edge operation to use the hinge edge given.
|
|
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). |
|
virtual void | EpModBridgeBorders (int edge1, int edge2, INode *pNode=NULL) |
Create a Bridge between two border loops.
|
|
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 face, int diag, INode *pNode=NULL) |
virtual void | EpModListOperations (INode *pNode=NULL) |
Lists the entire history of applied
operations to the Maxscript listener window. |
|
virtual MNMesh * | EpModGetMesh (INode *pNode=NULL) |
Get a pointer to the Edit Poly's cached
mesh. |
|
virtual MNMesh * | EpModGetOutputMesh (INode *pNode=NULL) |
Get a pointer to the Edit Poly's cached
output mesh. |
|
virtual int | EpMeshGetNumVertices (INode *pNode=NULL) |
Returns the number of vertices in the mesh.
|
|
virtual Point3 | EpMeshGetVertex (int vertIndex, INode *pNode=NULL) |
Returns the position (in object space) of a
particular vertex in the mesh. |
|
virtual int | EpMeshGetVertexFaceCount (int vertIndex, INode *pNode=NULL) |
Returns the number of faces using a
particular vertex. |
|
virtual int | EpMeshGetVertexFace (int vertIndex, int whichFace, INode *pNode=NULL) |
Returns a face that uses the vertex given.
|
|
virtual int | EpMeshGetVertexEdgeCount (int vertIndex, INode *pNode=NULL) |
Returns the number of edges using a
particualr vertex. |
|
virtual int | EpMeshGetVertexEdge (int vertIndex, int whichEdge, INode *pNode=NULL) |
Returns one of the edges using the vertex
given. |
|
virtual int | EpMeshGetNumEdges (INode *pNode=NULL) |
Returns the number of edges in the mesh.
|
|
virtual int | EpMeshGetEdgeVertex (int edgeIndex, int end, INode *pNode=NULL) |
Returns the vertex at one end of the edge
given. |
|
virtual int | EpMeshGetEdgeFace (int edgeIndex, int side, INode *pNode=NULL) |
Returns the face on one side of the edge
given. |
|
virtual int | EpMeshGetNumFaces (INode *pNode=NULL) |
Returns the number of faces in the mesh.
|
|
virtual int | EpMeshGetFaceDegree (int faceIndex, INode *pNode=NULL) |
Returns the degree of the indicated face.
|
|
virtual int | EpMeshGetFaceVertex (int faceIndex, int corner, INode *pNode=NULL) |
Returns the vertex in a particular corner of
a particular face. |
|
virtual int | EpMeshGetFaceEdge (int faceIndex, int side, INode *pNode=NULL) |
Returns the edge on a particular side of a
particular face. |
|
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. |
|
virtual int | EpMeshGetFaceMaterial (int faceIndex, INode *pNode=NULL) |
Returns the material ID used by a particular
face. |
|
virtual DWORD | EpMeshGetFaceSmoothingGroup (int faceIndex, INode *pNode=NULL) |
Returns the smoothing groups used by a
particular face. |
|
virtual int | EpMeshGetNumMapChannels (INode *pNode=NULL) |
Returns the number of positive map channels
in the mesh. |
|
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. |
|
virtual int | EpMeshGetNumMapVertices (int mapChannel, INode *pNode=NULL) |
Returns the number of map vertices in the
specified map. |
|
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. |
|
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).
|
|
virtual void | EpModBridgeEdges (const int in_edge1, const int in_edge2, INode *in_pNode=NULL) |
Bridges individual edges, will use current
parameters. |
|
virtual void | EpModUpdateRingEdgeSelection (int in_val, INode *in_pNode=NULL) |
Changea the edge selection in the ring
direction. |
|
virtual void | EpModUpdateLoopEdgeSelection (int in_val, INode *in_pNode=NULL) |
Changes the edge selection in the loop
direction. |
|
virtual void | EpModSetRingShift (int in_newPos, bool in_moveOnly, bool in_add) |
Changes the edge selection , in the ring
direction. |
|
virtual void | EpModSetLoopShift (int in_newPos, bool in_moveOnly, bool in_add) |
Changes the edge selection , in the loop
direction. |
|
virtual int | EpModConvertSelectionToBorder (int in_epSelLevelFrom, int in_epSelLevelTo) |
Converts current sub-object selection to the
specified sub-object border. |
|
virtual void | EpModPaintDeformCommit () |
Commits any Paint Deformation as if pressing
the Commit button. |
|
virtual void | EpModPaintDeformCancel () |
Reverts any Paint Deformation as if pressing
the Revert button. |
|
virtual Point3 | EPMeshGetFaceNormal (const int in_faceIndex, INode *in_pNode=NULL) |
Returns the normal of the face specified.
|
|
virtual Point3 | EPMeshGetFaceCenter (const int in_faceIndex, INode *in_pNode=NULL) |
Returns the center of the face specified.
|
|
virtual float | EPMeshGetFaceArea (const int in_faceIndex, INode *in_pNode=NULL) |
Returns the area of the face specified.
|
|
virtual BitArray * | EPMeshGetOpenEdges (INode *in_pNode=NULL) |
Returns a list of edges that are adjacent to
at least one empty face. |
|
virtual void | EPMeshSetVert (const BitArray &in_vset, const Point3 &in_point, INode *in_pNode=NULL) |
Moves the specified vertices to the
specified point. |
|
virtual void | SmGrpFloater ()=0 |
Brings up the Smooting Group floater dialog.
If it is already up it closes it. |
|
virtual void | MatIDFloater ()=0 |
Brings up the Material ID floater dialog. If it is
already up it closes it. |
|
virtual BOOL | MatIDFloaterVisible ()=0 |
Returns whether the Material ID floater dialog is up.
|
|
virtual BOOL | SmGrpFloaterVisible ()=0 |
Returns whether the Smooting Group floater
dialog is up. |
|
virtual void | CloseSmGrpFloater () |
Closes the Smoothing Group Floater Dialog.
|
|
virtual void | CloseMatIDFloater () |
virtual HWND | MatIDFloaterHWND () |
Returns the Material ID Floater Dialog Handle.
|
|
virtual HWND | SmGrpFloaterHWND () |
Returns the SmGrp Floater Dialog Handle.
|
|
GetByFlag
|
|
These methods retrieve the parts of the object that match the specified flags and mask passed in |
|
virtual bool | EPMeshGetVertsByFlag (BitArray &out_vset, const DWORD in_flags, const DWORD in_fmask=0x0, INode *in_pNode=NULL) |
Retrieves the vertices specified the flag
and mask, and updates the bitarray passed in. |
|
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. |
|
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. |
|
SetFlags
|
|
These methods set the flags on the specified subobjects to match the flags and mask passed in |
|
virtual void | EPMeshSetVertexFlags (BitArray &in_vset, 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. |
|
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. |
|
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. |
|
GetFlags
|
|
These methods get the flags on the specified subobjects |
|
virtual int | EPMeshGetVertexFlags (const int in_vertexIndex, INode *in_pNode=NULL) |
Retrieves the flags from the specified
vertex. |
|
virtual int | EPMeshGetEdgeFlags (const int in_edgeIndex, INode *in_pNode=NULL) |
Retrieves the flags from the specified edge.
|
|
virtual int | EPMeshGetFaceFlags (const int in_faceIndex, INode *in_pNode=NULL) |
Retrieves the flags from the specified face.
|
|
GetUsing
|
|
These methods retrieve all subobjects of the specified type that are connected to the second list of subobjects passed in \ |
|
virtual void | EPMeshGetVertsUsingEdge (BitArray &out_vset, const BitArray &in_eset, INode *in_pNode=NULL) |
Retrieves list of verts that are used by the
edges specified. |
|
virtual void | EPMeshGetEdgesUsingVert (BitArray &out_eset, BitArray &in_vset, INode *in_pNode=NULL) |
Retrieves list of edges that are used by the
vertices specified. |
|
virtual void | EPMeshGetFacesUsingEdge (BitArray &out_fset, BitArray &in_eset, INode *in_pNode=NULL) |
Retrieves list of faces that are used by the
edges specified. |
|
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. |
|
virtual void | EPMeshGetFacesUsingVert (BitArray &out_fset, BitArray &in_vset, INode *in_pNode=NULL) |
Retrieves list of faces that are used by the
vertices specified. |
|
virtual void | EPMeshGetVertsUsingFace (BitArray &out_vset, BitArray &in_fset, INode *in_pNode=NULL) |
Retrieves list of verts that are used by the
faces specified. |
BEGIN_FUNCTION_MAP 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 | |||
) |
END_FUNCTION_MAP FPInterfaceDesc* GetDesc | ( | ) | [virtual] |
For system use only - retrieves the function publishing interface description.
Implements FPInterface.
virtual int GetEPolySelLevel | ( | ) | [pure virtual] |
Returns the Edit Poly selection level - one of the ePolyModSelLevel enum defined above, such as EPM_SL_VERTEX.
virtual int GetMNSelLevel | ( | ) | [pure virtual] |
Returns the MNMesh selection level - one of MNM_SL_OBJECT, MNM_SL_VERTEX, MNM_SL_EDGE, or MNM_SL_FACE.
virtual void SetEPolySelLevel | ( | int | sl | ) | [pure virtual] |
Sets the Edit Poly selection level.
sl | One of the ePolyModSelLevel enum defined above - such as EPM_SL_VERTEX |
virtual int EpModConvertSelection | ( | int | epSelLevelFrom, |
int | epSelLevelTo, | ||
bool | requireAll | ||
) | [inline, virtual] |
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);
{ return 0; }
virtual int GetPolyOperationID | ( | ) | [inline, virtual] |
Returns the "current" Edit Poly operation.
If there is no current operation ep_op_null is returned. (Values are from the epolyModButtonOp enum above.)
{ return ep_op_null; }
virtual IParamBlock2* getParamBlock | ( | ) | [inline, virtual] |
Returns the parameter block for the Edit Poly modifier.
(Clients can use this to control the individual parameters of the modifier. Parameters are listed above in the epolyModParameters enum.)
{ return NULL; }
virtual MapBitArray GetPreserveMapSettings | ( | ) | const [inline, virtual] |
Returns the Preserve settings for all map channels.
(Does not reflect the epm_preserve_maps parameter, however.)
{ return MapBitArray(true, false); }
virtual void SetPreserveMapSettings | ( | const MapBitArray & | mapSettings | ) | [inline, virtual] |
Sets the Preserve settings for all map channels.
(Does not affect the epm_preserve_maps parameter, however.)
{ }
virtual void EpModSetPreserveMap | ( | int | mapChannel, |
bool | preserve | ||
) | [inline, virtual] |
Sets whether a particular map channel will be "preserved" in geometric operations.
(Note: This does not affect the epm_preserve_maps parameter, it just changes the setting for this particular map channel.)
{ }
virtual bool EpModGetPreserveMap | ( | int | mapChannel | ) | [inline, virtual] |
Indicates whether a particular map channel is set to be "preserved" in geometric operations.
(Note: This does not indicate whether the epm_preserve_maps parameter is set to true, it only indicates the setting for this particular map channel.)
{ return (mapChannel>0); }
virtual void InvalidateDistanceCache | ( | ) | [inline, virtual] |
Invalidates the computed distances from selected vertices that are used to generate soft selections.
{ }
virtual void InvalidateSoftSelectionCache | ( | ) | [inline, virtual] |
Invalidates the computed soft selections (but not the distances from selected vertices that the soft selections are based on).
{ }
virtual void EpModSetOperation | ( | int | opcode | ) | [inline, virtual] |
Sets the current operation.
opcode | Indicates the desired operation, from the epolyModButtonOp enum above |
{ }
virtual void EpModPopupDialog | ( | int | opcode | ) | [inline, virtual] |
Sets the operation to the one given, and then pops up the operation dialog, if one exists.
{ EpModSetOperation (opcode); EpModShowOperationDialog(); }
virtual void EpModButtonOp | ( | int | opcode | ) | [inline, virtual] |
virtual void EpModLocalDataChanged | ( | DWORD | parts | ) | [inline, virtual] |
Indicates to the EditPolyMod that some channels of its mesh have changed.
Forces an update of UI elements based on the mesh, such as the Number Selected display and the Smoothing Group buttons, and also notifies the Edit Poly's dependents of the change.
{ }
virtual void EpModRefreshScreen | ( | ) | [inline, virtual] |
virtual void EpModCommitUnlessAnimating | ( | TimeValue | t | ) | [inline, virtual] |
Commits to the current operation unless we're set to "animation mode" (epm_animation_mode parameter is true) and the current operation supports animation.
{ }
virtual void EpModCommit | ( | TimeValue | t | ) | [inline, virtual] |
virtual void EpModCommitAndRepeat | ( | TimeValue | t | ) | [inline, virtual] |
Commits to the current operation, but maintains it as the current operation with the same settings (and any animation in those parameters).
{ }
virtual void EpModCancel | ( | ) | [inline, virtual] |
virtual void EpModToggleCommandMode | ( | int | mode | ) | [inline, virtual] |
Toggles a given command mode - if it's not currently in this mode it will enter it, otherwise it will exit it.
mode | The command mode, from the epolyModCommandMode enum above. |
{ }
virtual void EpModEnterCommandMode | ( | int | mode | ) | [inline, virtual] |
Exits any previous Edit Poly command modes, and enters the command mode given.
mode | The command mode, from the epolyModCommandMode enum above. |
{ }
virtual void EpModEnterPickMode | ( | int | mode | ) | [inline, virtual] |
Enters the pick mode given.
mode | The pick mode, from the epolyModPickMode enum above. |
{ }
virtual int EpModGetCommandMode | ( | ) | [inline, virtual] |
Retrieves the current Edit Poly command mode in use, if any.
{ return -1; }
virtual int EpModGetPickMode | ( | ) | [inline, virtual] |
Retrieves the current Edit Poly pick mode in use, if any.
{ return -1; }
Returns a BitArray containing the subobject selection in the desired selection level.
meshSelLevel | 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. |
{ return NULL; }
virtual bool EpModSetSelection | ( | int | meshSelLevel, |
BitArray & | selection, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
Sets the subobject selection explicitly.
meshSelLevel | 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. |
{ return false; }
virtual bool EpModSelect | ( | int | meshSelLevel, |
BitArray & | selection, | ||
bool | invert = false , |
||
bool | select = true , |
||
INode * | pNode = NULL |
||
) | [inline, virtual] |
Change the selection state of a subset of subobjects - select them, invert their selection, or deselect them.
meshSelLevel | 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. |
{ return false; }
virtual void SetHitLevelOverride | ( | DWORD | hlo | ) | [inline, virtual] |
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.
{ }
virtual void ClearHitLevelOverride | ( | ) | [inline, virtual] |
Clear any hit level override, and let hit-testing fall back on the normal hit level for subobject selection.
{ }
virtual DWORD GetHitLevelOverride | ( | ) | [inline, virtual] |
Returns the current hit level override, or 0 if there is none.
{ return 0x0; }
virtual DWORD CurrentHitLevel | ( | int * | selByVert = NULL |
) | [inline, virtual] |
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. |
{ return 0x0; }
virtual void SetHitTestResult | ( | bool | ignoreNew = false |
) | [inline, virtual] |
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. |
{ }
virtual void ClearHitTestResult | ( | ) | [inline, virtual] |
Clears any HitTestResult settings, and falls back on hit-testing before the current operation.
(See SetHitTestResult for more details.)
{ }
virtual void SetDisplayLevelOverride | ( | DWORD | dlo | ) | [inline, virtual] |
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.
{ }
virtual void ClearDisplayLevelOverride | ( | ) | [inline, virtual] |
Clear any display level override, and let hit-testing fall back on the normal display for the current selection level.
{ }
virtual DWORD GetDisplayLevelOverride | ( | ) | [inline, virtual] |
Returns any current DisplayLevelOverride.
See SetDisplayLevelOverride for more details.
{ return 0x0; }
virtual void ForceIgnoreBackfacing | ( | bool | force | ) | [inline, virtual] |
This method is used to temporarily force the Edit Poly to ignore backfacing subobjects when hit-testing.
force | True to force ignoring backfacing, false to fall back on normal hit-testing. |
{ }
virtual bool GetForceIgnoreBackfacing | ( | ) | [inline, virtual] |
Indicates whether or not the Edit Poly is currently set to force ignoring backfacing subobjects.
See ForceIgnoreBackfacing for details.
{ return false; }
virtual void EpModMoveSelection | ( | Point3 & | val, |
Matrix3 & | partm, | ||
Matrix3 & | tmAxis, | ||
BOOL | localOrigin, | ||
TimeValue | t | ||
) | [inline, virtual] |
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. |
{ }
virtual void EpModRotateSelection | ( | Quat & | val, |
Matrix3 & | partm, | ||
Matrix3 & | tmAxis, | ||
BOOL | localOrigin, | ||
TimeValue | t | ||
) | [inline, virtual] |
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. |
{ }
virtual void EpModScaleSelection | ( | Point3 & | val, |
Matrix3 & | partm, | ||
Matrix3 & | tmAxis, | ||
BOOL | localOrigin, | ||
TimeValue | t | ||
) | [inline, virtual] |
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. |
{ }
virtual void EpModMoveSlicePlane | ( | Point3 & | val, |
Matrix3 & | partm, | ||
Matrix3 & | tmAxis, | ||
TimeValue | t | ||
) | [inline, virtual] |
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. |
{ }
virtual void EpModRotateSlicePlane | ( | Quat & | val, |
Matrix3 & | partm, | ||
Matrix3 & | tmAxis, | ||
BOOL | localOrigin, | ||
TimeValue | t | ||
) | [inline, virtual] |
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. |
{ }
virtual void EpModScaleSlicePlane | ( | Point3 & | val, |
Matrix3 & | partm, | ||
Matrix3 & | tmAxis, | ||
BOOL | localOrigin, | ||
TimeValue | t | ||
) | [inline, virtual] |
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. |
{ }
virtual void EpResetSlicePlane | ( | ) | [inline, virtual] |
Resets the slice plane used in the slice operations so that it lies in the XY plane in object space.
{ }
virtual Matrix3 EpGetSlicePlaneTM | ( | TimeValue | t | ) | [inline, virtual] |
Returns the current transform of the slice plane.
{ return Matrix3(true); }
virtual bool EpInSliceMode | ( | ) | [inline, virtual] |
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.
{ return false; }
virtual bool EpInSlice | ( | ) | [inline, virtual] |
Indicates if we're currently in a Slice operation (ep_op_slice or ep_op_slice_face).
{ return false; }
virtual Modifier* GetModifier | ( | ) | [pure virtual] |
Returns the Edit Poly cast as a modifier.
virtual IObjParam* EpModGetIP | ( | ) | [inline, virtual] |
Returns NULL if the Edit Poly is not currently up in the modifier panel, or the IObjParam interface pointer otherwise.
{ return NULL; }
virtual HWND GetDlgHandle | ( | int | paramPanelID | ) | [inline, virtual] |
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.
{ return NULL; }
virtual void UpdateAlignParameters | ( | TimeValue | t | ) | [inline, virtual] |
Updates the Align normal and offset parameters based on the current viewport and on the ep_align_type parameter.
If there's no viewport available, method does nothing.
{ }
virtual void UpdateCache | ( | TimeValue | t | ) | [inline, virtual] |
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.
{ }
virtual bool EpModShowOperationDialog | ( | ) | [inline, virtual] |
Show the popup dialog associated with the current operation.
Does nothing if there is no current operation, or if the current operation has no associated popup dialog.
{ return false; }
virtual bool EpModShowingOperationDialog | ( | ) | [inline, virtual] |
Indicates whether or not there is currently a popup dialog being displayed with parameters for the current operation.
{ return false; }
virtual void EpModCloseOperationDialog | ( | ) | [inline, virtual] |
Close the popup dialog which shows the current operation's parameters, if it's currently being displayed.
{ }
virtual void EpModRepeatLast | ( | ) | [inline, virtual] |
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.
{ }
virtual INode* EpModGetPrimaryNode | ( | ) | [inline, virtual] |
Get the current "Primary" node, which is used by default when node-specific commands are given and the node given is NULL.
{ return NULL; }
virtual void EpModSetPrimaryNode | ( | INode * | node | ) | [inline, virtual] |
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. |
{ return Matrix3(1); }
{ return EpModGetNodeTM(t,node); }
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. |
{ return 0; }
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. |
{ return 0; }
virtual int EpModCreateEdge | ( | int | v1, |
int | v2, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual void EpModSetDiagonal | ( | int | v1, |
int | v2, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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
{ }
virtual void EpModCut | ( | int | startLevel, |
int | startIndex, | ||
Point3 | startPoint, | ||
Point3 | normal, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ }
virtual int EpModGetLastCutEnd | ( | ) | [inline, virtual] |
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.
{ return -1; }
virtual void EpModClearLastCutEnd | ( | ) | [inline, virtual] |
Resets the "last cut end" data to -1.
(See EpModGetLastCutEnd for more details.)
{ }
virtual void EpModCutCancel | ( | INode * | pNode = NULL |
) | [inline, virtual] |
Please ignore - this method was never implemented, it does nothing.
At some point in the future, it may be used to cancel out of a cut, but this probably isn't necessary since EpModCancel does that effectively.
{ }
virtual void EpModDivideEdge | ( | int | edge, |
float | prop, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ }
virtual void EpModDivideFace | ( | int | face, |
Tab< float > * | bary, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ }
virtual void EpModWeldVerts | ( | int | v1, |
int | v2, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ }
virtual void EpModWeldEdges | ( | int | e1, |
int | e2, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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.) |
{ }
virtual void EpModMultiAttach | ( | Tab< INode * > & | nodeTab, |
INode * | pNode = NULL , |
||
TimeValue | t = 0 |
||
) | [inline, virtual] |
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.) |
{ }
virtual void EpModDetachToObject | ( | MSTR & | newObjectName, |
TimeValue | t | ||
) | [inline, virtual] |
Detaches the current selection to a new Editable Poly object.
{ }
virtual void EpModCreateShape | ( | MSTR & | shapeObjectName, |
TimeValue | t | ||
) | [inline, virtual] |
Creates a shape object based on the current set of selected edges.
{ }
virtual void EpModSetHingeEdge | ( | int | edge, |
Matrix3 | modContextTM, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ }
virtual int EpModGetHingeEdge | ( | INode * | pNode | ) | [inline, virtual] |
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. |
{ return -1; }
virtual void EpModBridgeBorders | ( | int | edge1, |
int | edge2, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ }
virtual void EpModBridgePolygons | ( | int | face1, |
int | face2, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ }
virtual void EpModSetBridgeNode | ( | INode * | pNode | ) | [inline, virtual] |
virtual INode* EpModGetBridgeNode | ( | ) | [inline, virtual] |
{ return NULL; }
virtual bool EpModReadyToBridgeSelected | ( | ) | [inline, virtual] |
{ return false; }
virtual void EpModTurnDiagonal | ( | int | face, |
int | diag, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ }
virtual void EpModListOperations | ( | INode * | pNode = NULL |
) | [inline, virtual] |
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. |
{ return 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. |
{ return NULL; }
virtual int EpMeshGetNumVertices | ( | INode * | pNode = NULL |
) | [inline, virtual] |
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. |
{ return 0; }
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. |
{ return Point3(0,0,0); }
virtual int EpMeshGetVertexFaceCount | ( | int | vertIndex, |
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetVertexFace | ( | int | vertIndex, |
int | whichFace, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetVertexEdgeCount | ( | int | vertIndex, |
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetVertexEdge | ( | int | vertIndex, |
int | whichEdge, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetNumEdges | ( | INode * | pNode = NULL |
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetEdgeVertex | ( | int | edgeIndex, |
int | end, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetEdgeFace | ( | int | edgeIndex, |
int | side, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetNumFaces | ( | INode * | pNode = NULL |
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetFaceDegree | ( | int | faceIndex, |
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetFaceVertex | ( | int | faceIndex, |
int | corner, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetFaceEdge | ( | int | faceIndex, |
int | side, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetFaceDiagonal | ( | int | faceIndex, |
int | diagonal, | ||
int | end, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetFaceMaterial | ( | int | faceIndex, |
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual DWORD EpMeshGetFaceSmoothingGroup | ( | int | faceIndex, |
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual int EpMeshGetNumMapChannels | ( | INode * | pNode = NULL |
) | [inline, virtual] |
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. |
{ return 0; }
virtual bool EpMeshGetMapChannelActive | ( | int | mapChannel, |
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return false; }
virtual int EpMeshGetNumMapVertices | ( | int | mapChannel, |
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual UVVert EpMeshGetMapVertex | ( | int | mapChannel, |
int | vertIndex, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return UVVert(0,0,0); }
virtual int EpMeshGetMapFaceVertex | ( | int | mapChannel, |
int | faceIndex, | ||
int | corner, | ||
INode * | pNode = NULL |
||
) | [inline, virtual] |
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. |
{ return 0; }
virtual void EpModBridgeEdges | ( | const int | in_edge1, |
const int | in_edge2, | ||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
Bridges individual edges, will use current parameters.
[in] | in_edge1 | The source of the bridge operation |
[in] | in_edge2 | The target of the bridge operation |
[in] | in_pNode | The node to which the bridge is applied |
{ }
virtual void EpModUpdateRingEdgeSelection | ( | int | in_val, |
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
virtual void EpModUpdateLoopEdgeSelection | ( | int | in_val, |
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ }
virtual void EpModSetRingShift | ( | int | in_newPos, |
bool | in_moveOnly, | ||
bool | in_add | ||
) | [inline, virtual] |
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 |
{}
virtual void EpModSetLoopShift | ( | int | in_newPos, |
bool | in_moveOnly, | ||
bool | in_add | ||
) | [inline, virtual] |
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 |
{}
virtual int EpModConvertSelectionToBorder | ( | int | in_epSelLevelFrom, |
int | in_epSelLevelTo | ||
) | [inline, virtual] |
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 |
{ return 0; }
virtual void EpModPaintDeformCommit | ( | ) | [inline, virtual] |
Commits any Paint Deformation as if pressing the Commit button.
Has no effect when the Commit button is disabled
{}
virtual void EpModPaintDeformCancel | ( | ) | [inline, virtual] |
Reverts any Paint Deformation as if pressing the Revert button.
Has no effect when the Revert button is disabled
{}
virtual Point3 EPMeshGetFaceNormal | ( | const int | in_faceIndex, |
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return Point3(0,0,0); }
virtual Point3 EPMeshGetFaceCenter | ( | const int | in_faceIndex, |
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return Point3(0,0,0); }
virtual float EPMeshGetFaceArea | ( | const int | in_faceIndex, |
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return 0.0f; }
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 |
{ return NULL; }
virtual bool EPMeshGetVertsByFlag | ( | BitArray & | out_vset, |
const DWORD | in_flags, | ||
const DWORD | in_fmask = 0x0 , |
||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return false; }
virtual bool EPMeshGetEdgesByFlag | ( | BitArray & | out_eset, |
const DWORD | in_flags, | ||
const DWORD | in_fmask = 0x0 , |
||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return false; }
virtual bool EPMeshGetFacesByFlag | ( | BitArray & | out_fset, |
const DWORD | in_flags, | ||
const DWORD | in_fmask = 0x0 , |
||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return false; }
virtual void EPMeshSetVertexFlags | ( | BitArray & | in_vset, |
const DWORD | in_flags, | ||
DWORD | in_fmask = 0x0 , |
||
const bool | in_undoable =
true , |
||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return; }
virtual void EPMeshSetEdgeFlags | ( | BitArray & | in_eset, |
const DWORD | in_flags, | ||
DWORD | in_fmask = 0x0 , |
||
const bool | in_undoable =
true , |
||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return; }
virtual void EPMeshSetFaceFlags | ( | BitArray & | in_fset, |
const DWORD | in_flags, | ||
DWORD | in_fmask = 0x0 , |
||
const bool | in_undoable =
true , |
||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return; }
virtual int EPMeshGetVertexFlags | ( | const int | in_vertexIndex, |
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return 0; }
virtual int EPMeshGetEdgeFlags | ( | const int | in_edgeIndex, |
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return 0; }
virtual int EPMeshGetFaceFlags | ( | const int | in_faceIndex, |
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return 0; }
virtual void EPMeshGetVertsUsingEdge | ( | BitArray & | out_vset, |
const BitArray & | in_eset, | ||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return; }
virtual void EPMeshGetEdgesUsingVert | ( | BitArray & | out_eset, |
BitArray & | in_vset, | ||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return; }
virtual void EPMeshGetFacesUsingEdge | ( | BitArray & | out_fset, |
BitArray & | in_eset, | ||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return; }
virtual void EPMeshGetElementsUsingFace | ( | BitArray & | out_eset, |
BitArray & | in_fset, | ||
BitArray & | in_fenceSet, | ||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return; }
virtual void EPMeshGetFacesUsingVert | ( | BitArray & | out_fset, |
BitArray & | in_vset, | ||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return; }
virtual void EPMeshGetVertsUsingFace | ( | BitArray & | out_vset, |
BitArray & | in_fset, | ||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return; }
virtual void EPMeshSetVert | ( | const BitArray & | in_vset, |
const Point3 & | in_point, | ||
INode * | in_pNode =
NULL |
||
) | [inline, virtual] |
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 |
{ return; }
virtual void SmGrpFloater | ( | ) | [pure virtual] |
Brings up the Smooting Group floater dialog. If it is already up it closes it.
virtual void MatIDFloater | ( | ) | [pure virtual] |
Brings up the Material ID floater dialog. If it is already up it closes it.
virtual BOOL MatIDFloaterVisible | ( | ) | [pure virtual] |
Returns whether the Material ID floater dialog is up.
virtual BOOL SmGrpFloaterVisible | ( | ) | [pure virtual] |
Returns whether the Smooting Group floater dialog is up.
virtual void CloseSmGrpFloater | ( | ) | [inline, virtual] |
virtual void CloseMatIDFloater | ( | ) | [inline, virtual] |
virtual HWND MatIDFloaterHWND | ( | ) | [inline, virtual] |
virtual HWND SmGrpFloaterHWND | ( | ) | [inline, virtual] |