Public Member Functions

EPolyMod Class Reference

Search for all occurrences

Detailed Description

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>

Inheritance diagram for EPolyMod:
Inheritance graph
[legend]

List of all members.

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.

Member Function Documentation

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.

Parameters:
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.

Parameters:
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).
Returns:
The number of subobjects this method selected in the "To" level.


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.

Parameters:
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.

virtual void EpModButtonOp ( int  opcode ) [inline, virtual]

Applies the operation given, and commits to it immediately.

{ }
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]

Triggers a redraw of the viewports at the current time.

{ }
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]

Commits to the current operation, and clears any animation.

{ }
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]

Cancels the current operation.

{ }
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.

Parameters:
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.

Parameters:
mode The command mode, from the epolyModCommandMode enum above.
{ }
virtual void EpModEnterPickMode ( int  mode ) [inline, virtual]

Enters the pick mode given.

Parameters:
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.

Returns:
The current command mode from the epolyModCommandMode above, or -1 if the current command mode is not any of the Edit Poly command modes.
{ return -1; }
virtual int EpModGetPickMode ( ) [inline, virtual]

Retrieves the current Edit Poly pick mode in use, if any.

Returns:
The current pick mode (from the epolyModPickMode above), or -1 if the current pick mode is not any of the Edit Poly pick modes.
{ return -1; }
virtual BitArray* EpModGetSelection ( int  meshSelLevel,
INode pNode = NULL 
) [inline, virtual]

Returns a BitArray containing the subobject selection in the desired selection level.

Parameters:
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.
Returns:
A pointer to an internal BitArray containing the selection. This BitArray should not be altered! It is available for read only.
{ return NULL; }
virtual bool EpModSetSelection ( int  meshSelLevel,
BitArray selection,
INode pNode = NULL 
) [inline, virtual]

Sets the subobject selection explicitly.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Returns:
The Hit Level - one of SUBHIT_MNVERTS, SUBHIT_MNEDGES, SUBHIT_MNFACES, or SUBHIT_MNDIAGONALS, along with SUBHIT_OPENONLY if hit-testing is restricted to "open" vertices or edges (ie those on borders)
{ 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.

Parameters:
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.
Returns:
The Hit Level - one of SUBHIT_MNVERTS, SUBHIT_MNEDGES, SUBHIT_MNFACES, or SUBHIT_MNDIAGONALS, along with SUBHIT_OPENONLY if hit-testing is restricted to "open" vertices or edges (ie those on borders)
{ 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.

Parameters:
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.
Remarks:
This is typically used in Edit Poly command modes, such as Chamfer or Extrude, after the user has entered the mode, but while the last operation might still be the "current" one, so that we can hit-test as though the current operation had already been committed. It's also used in command modes like Create Face so that we can hit-test on the freshly created vertices.
{ }
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.

Parameters:
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.

Returns:
The set of display flags to show, or 0 for no override currently set. These are MNDISP flags, such as MNDISP_VERTTICKS, that are defined in MNMesh.h.
{ 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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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 void EpGetSlicePlane ( Point3 planeNormal,
Point3 planeCenter,
TimeValue  t 
) [inline, virtual]

Retrieves the current slice plane, by its normal and center.

{ }
virtual void EpSetSlicePlane ( Point3 planeNormal,
Point3 planeCenter,
TimeValue  t 
) [inline, virtual]

Sets the slice plane to use the normal and center given.

{ }
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.

Parameters:
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.

Returns:
True if we succeeded in displaying a popup dialog, false if we couldn't find one to display.
{ 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.

{ }
virtual Matrix3 EpModGetNodeTM ( TimeValue  t,
INode node = NULL 
) [inline, virtual]

Retrieve the transform of the Edit Poly's node.

Parameters:
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.
Remarks:
If the node is given, we just return node->GetObjectTM (t). This method is more interesting when you just want to know what the TM is of the primary node, without bothering to retrive it.
{ return Matrix3(1); }
Matrix3 EpModGetNodeTM_FPS ( INode node = NULL,
TimeValue  t = 0 
) [inline]
virtual int EpModCreateVertex ( Point3  p,
INode pNode = NULL 
) [inline, virtual]

Create a new vertex in the mesh.

Parameters:
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.
Returns:
The (0-based) index of the newly created vertex
{ return 0; }
virtual int EpModCreateFace ( Tab< int > *  vertex,
INode pNode = NULL 
) [inline, virtual]

Create a new face in the mesh.

Parameters:
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.
Returns:
The (0-based) index of the newly created face
{ 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.

Parameters:
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.
Returns:
The (0-based) index of the newly created edge
{ 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.)

Parameters:
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.)

Parameters:
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.
{ }
virtual void EpModSetCutEnd ( Point3  endPoint,
INode pNode = NULL 
) [inline, virtual]

Set the end point of a cut.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.
{ }
virtual void EpModAttach ( INode node,
INode pNode = NULL,
TimeValue  t = 0 
) [inline, virtual]

Attach another mesh to this one.

Parameters:
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.)
Remarks:
Note that this method deletes the original node which is being attached.
{ }
virtual void EpModMultiAttach ( Tab< INode * > &  nodeTab,
INode pNode = NULL,
TimeValue  t = 0 
) [inline, virtual]

Attach a bunch of other meshes to this one.

Parameters:
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.)
Remarks:
Note that this method deletes the original nodes which are being attached.
{ }
virtual void EpModDetachToObject ( MSTR newObjectName,
TimeValue  t 
) [inline, virtual]

Detaches the current selection to a new Editable Poly object.

Remarks:
If this Edit Poly modifier is instanced across multiple nodes, a new Editable Poly object will be created for each node.
{ }
virtual void EpModCreateShape ( MSTR shapeObjectName,
TimeValue  t 
) [inline, virtual]

Creates a shape object based on the current set of selected edges.

Remarks:
Note that control over whether the resulting shape is curved or linear is not currently exposed in the SDK. It's controlled by the static EditPolyMod variable "mCreateShapeType", which you can find in the Edit Poly source in maxsdk/samples/mesh/EditPoly.
{ }
virtual void EpModSetHingeEdge ( int  edge,
Matrix3  modContextTM,
INode pNode = NULL 
) [inline, virtual]

Sets the Hinge from Edge operation to use the hinge edge given.

Parameters:
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.

Parameters:
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.

Parameters:
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]
Parameters:
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]
Parameters:
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'

Parameters:
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 MNMesh* EpModGetMesh ( INode pNode = NULL ) [inline, virtual]

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!

Parameters:
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; }
virtual MNMesh* EpModGetOutputMesh ( INode pNode = NULL ) [inline, virtual]

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!

Parameters:
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.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual Point3 EpMeshGetVertex ( int  vertIndex,
INode pNode = NULL 
) [inline, virtual]

Returns the position (in object space) of a particular vertex in the mesh.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return Point3(0,0,0); }
virtual int EpMeshGetVertexFaceCount ( int  vertIndex,
INode pNode = NULL 
) [inline, virtual]

Returns the number of faces using a particular vertex.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual int EpMeshGetVertexFace ( int  vertIndex,
int  whichFace,
INode pNode = NULL 
) [inline, virtual]

Returns a face that uses the vertex given.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual int EpMeshGetVertexEdgeCount ( int  vertIndex,
INode pNode = NULL 
) [inline, virtual]

Returns the number of edges using a particualr vertex.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual int EpMeshGetVertexEdge ( int  vertIndex,
int  whichEdge,
INode pNode = NULL 
) [inline, virtual]

Returns one of the edges using the vertex given.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual int EpMeshGetNumEdges ( INode pNode = NULL ) [inline, virtual]

Returns the number of edges in the mesh.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual int EpMeshGetEdgeVertex ( int  edgeIndex,
int  end,
INode pNode = NULL 
) [inline, virtual]

Returns the vertex at one end of the edge given.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual int EpMeshGetEdgeFace ( int  edgeIndex,
int  side,
INode pNode = NULL 
) [inline, virtual]

Returns the face on one side of the edge given.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual int EpMeshGetNumFaces ( INode pNode = NULL ) [inline, virtual]

Returns the number of faces in the mesh.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual int EpMeshGetFaceDegree ( int  faceIndex,
INode pNode = NULL 
) [inline, virtual]

Returns the degree of the indicated face.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any. The relationship between sides and corners of the polygon is: side i goes from corner i to corner (i+1)degree.
{ 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.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any. The relationship between sides and corners of the polygon is: side i goes from corner i to corner (i+1)degree.
{ 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.

Parameters:
faceIndex The index of the face - between 0 and EpMeshGetNumFaces(pNode)-1.
diagonal The index of the diagonal - between 0 and EpMeshGetFaceDegree(faceIndex, pNode)-4. (There are always n-3 diagonals in a polygon of degree n.)
end 0 for the start of the diagonal, 1 for the end.
pNode The specific node to get the mesh from, in cases where the Edit Poly is instanced across multiple nodes. If left at NULL, the Primary node is used. (See EpModSetPrimaryNode.) If no primary node has yet been established, one is picked arbitrarily. If the Edit Poly is only used by one node, you may safely leave this at NULL.
Returns:
The index of the corner of the face. To get the index of the vertex at that corner, call EpMeshGetFaceVertex on this result.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual int EpMeshGetFaceMaterial ( int  faceIndex,
INode pNode = NULL 
) [inline, virtual]

Returns the material ID used by a particular face.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual DWORD EpMeshGetFaceSmoothingGroup ( int  faceIndex,
INode pNode = NULL 
) [inline, virtual]

Returns the smoothing groups used by a particular face.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.)

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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).

Parameters:
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.
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

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]

Changea the edge selection in the ring direction.

{ }
virtual void EpModUpdateLoopEdgeSelection ( int  in_val,
INode in_pNode = NULL 
) [inline, virtual]

Changes the edge selection in the loop direction.

Parameters:
[in] in_val,: Specifies which way the current edge selection is changed. it can take the values :
  • RING_UP: Moves the selection one edge up in the ring direction
  • LOOP_UP: Moves the selection one edge up in the loop direction
  • RING_DOWN: Moves the selection one edge down in the ring direction
  • LOOP_DOWN: Moves the selection one edge up in the loop direction
  • RING_UP_ADD: Adds to the selection one edge in the up ring direction
  • LOOP_UP_ADD: Adds to the selection one edge in the up loop direction
  • RING_DOWN_ADD: Adds to the selection one edge in the down ring direction
  • LOOP_DOWN_ADD: Adds to the selection one edge in the down loop direction
  • RING_UP_SUBTRACT: Subtracts to the selection one edge in the up ring direction
  • LOOP_UP_SUBTRACT: Subtracts to the selection one edge in the up loop direction
  • RING_DOWN_SUBTRACT: Subtracts to the selection one edge in the down ring direction
  • LOOP_DOWN_SUBTRACT: Subtracts to the selection one edge in the down loop direction
[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

Parameters:
[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

Parameters:
[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);

Parameters:
[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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0.0f; }
virtual BitArray* EPMeshGetOpenEdges ( INode in_pNode = NULL ) [inline, virtual]

Returns a list of edges that are adjacent to at least one empty face.

Parameters:
[in] in_pNode Optional node to run the check on. If the node is not specified, we will use the currently selected noe
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual int EPMeshGetEdgeFlags ( const int  in_edgeIndex,
INode in_pNode = NULL 
) [inline, virtual]

Retrieves the flags from the specified edge.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ return 0; }
virtual int EPMeshGetFaceFlags ( const int  in_faceIndex,
INode in_pNode = NULL 
) [inline, virtual]

Retrieves the flags from the specified face.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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.

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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

Parameters:
[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
Remarks:
This is based on the mesh after all committed operations, but before the current operation, if any.
{ 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]

Closes the Smoothing Group Floater Dialog.

{}
virtual void CloseMatIDFloater ( ) [inline, virtual]
virtual HWND MatIDFloaterHWND ( ) [inline, virtual]

Returns the Material ID Floater Dialog Handle.

{ return NULL; }
virtual HWND SmGrpFloaterHWND ( ) [inline, virtual]

Returns the SmGrp Floater Dialog Handle.

{ return NULL; }

EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod
EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod EPolyMod