3ds Max C++ API Reference
EPolyMod18 Class Referenceabstract

This new class for Phoenix extends EPolyMod for altering vertex and edge Crease/Weight/etc. values. More...

#include <iEPolyMod.h>

+ Inheritance diagram for EPolyMod18:

Public Member Functions

 FN_0 (epmod_get_last, TYPE_INT, EpModGetLast)
 
virtual float GetVertexDataFloatValue (int channel, int *numSel, bool *uniform, DWORD vertexFlags, INode *in_pNode=NULL)=0
 Gets float data and other information from the specified float vertex channel. More...
 
virtual float GetEdgeDataFloatValue (int channel, int *numSel, bool *uniform, DWORD edgeFlags, INode *in_pNode=NULL)=0
 Gets float data and other information from the specified float edge channel. More...
 
virtual void ResetVertexData (int channel, INode *in_pNode=NULL)=0
 Removes data for the specified float vertex channel. More...
 
virtual void ResetEdgeData (int channel, INode *in_pNode=NULL)=0
 Removes data for the specified float edge channel. More...
 
virtual void BeginPerDataModify (int mnSelLevel, int channel)=0
 Starts the modification process for per-vertex or per-edge data, creates restore objects in case they're needed for undo Call this prior to calling DoPerDataModify. More...
 
virtual void DoPerDataModify (int mnSelLevel, int channel, float value)=0
 Does the actual modification for per-vertex or per-edge data. More...
 
virtual bool InPerDataModify ()=0
 Checks to see if the per-data modification process for per-vertex or per-edge data is underway. More...
 
virtual void EndPerDataModify (bool success)=0
 Ends a per-data modify operation. More...
 
virtual int EpModGetLast ()=0
 Returns the ID of the last operation performed. More...
 
- Public Member Functions inherited from EPolyMod13
virtual void EPMeshStartSetVertices (INode *pNode)
 Prepares the Edit Poly modifier for setting several vertex positions in a row. More...
 
virtual void EPMeshSetVert (const int vert, const Point3 &in_point, INode *pNode)
 Sets the posititon of a single vertex. Should only be used inbetween. More...
 
virtual void EPMeshEndSetVertices (INode *pNode)
 Finishes setting vertex positions and applies undo functionality. More...
 
- Public Member Functions inherited from EPolyMod
 FN_0 (epmod_get_sel_level, TYPE_ENUM, GetEPolySelLevel)
 
 FN_0 (epmod_get_mn_sel_level, TYPE_ENUM, GetMNSelLevel)
 
 VFN_1 (epmod_set_sel_level, SetEPolySelLevel, TYPE_ENUM)
 
 FN_3 (epmod_convert_selection, TYPE_INT, EpModConvertSelection, TYPE_ENUM, TYPE_ENUM, TYPE_bool)
 
 FN_0 (epmod_get_operation, TYPE_ENUM, GetPolyOperationID)
 
 VFN_1 (epmod_set_operation, EpModSetOperation, TYPE_ENUM)
 
 VFN_1 (epmod_popup_dialog, EpModPopupDialog, TYPE_ENUM)
 
 VFN_1 (epmod_button_op, EpModButtonOp, TYPE_ENUM)
 
 VFN_0 (epmod_repeat_last, EpModRepeatLast)
 
 VFNT_0 (epmod_commit, EpModCommit)
 
 VFNT_0 (epmod_commit_unless_animating, EpModCommitUnlessAnimating)
 
 VFNT_0 (epmod_commit_and_repeat, EpModCommitAndRepeat)
 
 VFN_0 (epmod_cancel_operation, EpModCancel)
 
 FN_2 (epmod_get_selection, TYPE_BITARRAY, EpModGetSelection, TYPE_ENUM, TYPE_INODE)
 
 FN_3 (epmod_set_selection, TYPE_bool, EpModSetSelection, TYPE_ENUM, TYPE_BITARRAY_BR, TYPE_INODE)
 
 FN_5 (epmod_select, TYPE_bool, EpModSelect, TYPE_ENUM, TYPE_BITARRAY_BR, TYPE_bool, TYPE_bool, TYPE_INODE)
 
 VFN_1 (epmod_set_primary_node, EpModSetPrimaryNode, TYPE_INODE)
 
 VFN_1 (epmod_toggle_command_mode, EpModToggleCommandMode, TYPE_ENUM)
 
 VFN_1 (epmod_enter_command_mode, EpModEnterCommandMode, TYPE_ENUM)
 
 FN_0 (epmod_get_command_mode, TYPE_ENUM, EpModGetCommandMode)
 
 VFN_1 (epmod_enter_pick_mode, EpModEnterPickMode, TYPE_ENUM)
 
 FN_0 (epmod_get_pick_mode, TYPE_ENUM, EpModGetPickMode)
 
 VFNT_4 (epmod_move_selection, EpModMoveSelection, TYPE_POINT3_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR, TYPE_BOOL)
 
 VFNT_4 (epmod_rotate_selection, EpModRotateSelection, TYPE_QUAT_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR, TYPE_BOOL)
 
 VFNT_4 (epmod_scale_selection, EpModScaleSelection, TYPE_POINT3_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR, TYPE_BOOL)
 
 VFNT_3 (epmod_move_slicer, EpModMoveSlicePlane, TYPE_POINT3_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR)
 
 VFNT_4 (epmod_rotate_slicer, EpModRotateSlicePlane, TYPE_QUAT_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR, TYPE_BOOL)
 
 VFNT_4 (epmod_scale_slicer, EpModScaleSlicePlane, TYPE_POINT3_BR, TYPE_MATRIX3_BR, TYPE_MATRIX3_BR, TYPE_BOOL)
 
 FN_0 (epmod_in_slice_mode, TYPE_bool, EpInSliceMode)
 
 VFN_0 (epmod_reset_slice_plane, EpResetSlicePlane)
 
 FNT_0 (epmod_get_slice_plane_tm, TYPE_MATRIX3_BV, EpGetSlicePlaneTM)
 
 VFNT_2 (epmod_get_slice_plane, EpGetSlicePlane, TYPE_POINT3_BR, TYPE_POINT3_BR)
 
 VFNT_2 (epmod_set_slice_plane, EpSetSlicePlane, TYPE_POINT3_BR, TYPE_POINT3_BR)
 
 FN_2 (epmod_create_vertex, TYPE_INDEX, EpModCreateVertex, TYPE_POINT3, TYPE_INODE)
 
 FN_2 (epmod_create_face, TYPE_INDEX, EpModCreateFace, TYPE_INDEX_TAB, TYPE_INODE)
 
 FN_3 (epmod_create_edge, TYPE_INDEX, EpModCreateEdge, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 VFN_3 (epmod_set_diagonal, EpModSetDiagonal, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 VFN_5 (epmod_cut, EpModCut, TYPE_ENUM, TYPE_INDEX, TYPE_POINT3, TYPE_POINT3, TYPE_INODE)
 
 VFN_3 (epmod_target_weld_vertex, EpModWeldVerts, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 VFN_3 (epmod_target_weld_edge, EpModWeldEdges, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 VFNT_2 (epmod_attach_node, EpModAttach, TYPE_INODE, TYPE_INODE)
 
 VFNT_2 (epmod_attach_nodes, EpModMultiAttach, TYPE_INODE_TAB_BR, TYPE_INODE)
 
 VFNT_1 (epmod_detach_to_object, EpModDetachToObject, TYPE_TSTR_BR)
 
 VFNT_1 (epmod_create_shape, EpModCreateShape, TYPE_TSTR_BR)
 
 VFN_3 (epmod_set_hinge_edge, EpModSetHingeEdge, TYPE_INDEX, TYPE_MATRIX3, TYPE_INODE)
 
 FN_1 (epmod_get_hinge_edge, TYPE_INDEX, EpModGetHingeEdge, TYPE_INODE)
 
 VFN_3 (epmod_bridge_borders, EpModBridgeBorders, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 VFN_3 (epmod_bridge_polygons, EpModBridgePolygons, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 FN_0 (epmod_get_bridge_node, TYPE_INODE, EpModGetBridgeNode)
 
 VFN_1 (epmod_set_bridge_node, EpModSetBridgeNode, TYPE_INODE)
 
 FN_0 (epmod_ready_to_bridge_selected, TYPE_bool, EpModReadyToBridgeSelected)
 
 FN_1 (epmod_get_preserve_map, TYPE_bool, EpModGetPreserveMap, TYPE_INT)
 
 VFN_2 (epmod_set_preserve_map, EpModSetPreserveMap, TYPE_INT, TYPE_bool)
 
 VFN_3 (epmod_turn_diagonal, EpModTurnDiagonal, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 FN_1 (epmod_get_num_vertices, TYPE_INT, EpMeshGetNumVertices, TYPE_INODE)
 
 FN_2 (epmod_get_vertex, TYPE_POINT3_BV, EpMeshGetVertex, TYPE_INDEX, TYPE_INODE)
 
 FN_2 (epmod_get_vertex_face_count, TYPE_INT, EpMeshGetVertexFaceCount, TYPE_INDEX, TYPE_INODE)
 
 FN_3 (epmod_get_vertex_face, TYPE_INDEX, EpMeshGetVertexFace, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 FN_2 (epmod_get_vertex_edge_count, TYPE_INT, EpMeshGetVertexEdgeCount, TYPE_INDEX, TYPE_INODE)
 
 FN_3 (epmod_get_vertex_edge, TYPE_INDEX, EpMeshGetVertexEdge, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 FN_1 (epmod_get_num_edges, TYPE_INT, EpMeshGetNumEdges, TYPE_INODE)
 
 FN_3 (epmod_get_edge_vertex, TYPE_INDEX, EpMeshGetEdgeVertex, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 FN_3 (epmod_get_edge_face, TYPE_INDEX, EpMeshGetEdgeFace, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 FN_1 (epmod_get_num_faces, TYPE_INT, EpMeshGetNumFaces, TYPE_INODE)
 
 FN_2 (epmod_get_face_degree, TYPE_INT, EpMeshGetFaceDegree, TYPE_INDEX, TYPE_INODE)
 
 FN_3 (epmod_get_face_vertex, TYPE_INDEX, EpMeshGetFaceVertex, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 FN_3 (epmod_get_face_edge, TYPE_INDEX, EpMeshGetFaceEdge, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 FN_4 (epmod_get_face_diagonal, TYPE_INDEX, EpMeshGetFaceDiagonal, TYPE_INDEX, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 FN_2 (epmod_get_face_material, TYPE_INDEX, EpMeshGetFaceMaterial, TYPE_INDEX, TYPE_INODE)
 
 FN_2 (epmod_get_face_smoothing_group, TYPE_DWORD, EpMeshGetFaceSmoothingGroup, TYPE_INDEX, TYPE_INODE)
 
 FN_1 (epmod_get_num_map_channels, TYPE_INT, EpMeshGetNumMapChannels, TYPE_INODE)
 
 FN_2 (epmod_get_map_channel_active, TYPE_bool, EpMeshGetMapChannelActive, TYPE_INT, TYPE_INODE)
 
 FN_2 (epmod_get_num_map_vertices, TYPE_INT, EpMeshGetNumMapVertices, TYPE_INT, TYPE_INODE)
 
 FN_3 (epmod_get_map_vertex, TYPE_POINT3_BV, EpMeshGetMapVertex, TYPE_INT, TYPE_INDEX, TYPE_INODE)
 
 FN_4 (epmod_get_map_face_vertex, TYPE_INDEX, EpMeshGetMapFaceVertex, TYPE_INT, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 VFN_1 (epmod_list_operations, EpModListOperations, TYPE_INODE)
 
 VFN_1 (epmod_local_data_changed, EpModLocalDataChanged, TYPE_DWORD)
 
 VFN_0 (epmod_refresh_screen, EpModRefreshScreen)
 
 FN_0 (epmod_in_slice, TYPE_bool, EpInSlice)
 
 FN_0 (epmod_show_operation_dialog, TYPE_bool, EpModShowOperationDialog)
 
 FN_0 (epmod_showing_operation_dialog, TYPE_bool, EpModShowingOperationDialog)
 
 VFN_0 (epmod_close_operation_dialog, EpModCloseOperationDialog)
 
 FN_0 (epmod_get_primary_node, TYPE_INODE, EpModGetPrimaryNode)
 
 FNT_1 (epmod_get_node_tm, TYPE_MATRIX3_BV, EpModGetNodeTM_FPS, TYPE_INODE)
 
 VFN_2 (epmod_set_cut_end, EpModSetCutEnd, TYPE_POINT3, TYPE_INODE)
 
 FN_0 (epmod_get_last_cut_end, TYPE_INDEX, EpModGetLastCutEnd)
 
 VFN_0 (epmod_clear_last_cut_end, EpModClearLastCutEnd)
 
 VFN_1 (epmod_cut_cancel, EpModCutCancel, TYPE_INODE)
 
 VFN_3 (epmod_divide_edge, EpModDivideEdge, TYPE_INDEX, TYPE_FLOAT, TYPE_INODE)
 
 VFN_3 (epmod_divide_face, EpModDivideFace, TYPE_INDEX, TYPE_FLOAT_TAB, TYPE_INODE)
 
 VFN_3 (epmod_bridge_edges, EpModBridgeEdges, TYPE_INDEX, TYPE_INDEX, TYPE_INODE)
 
 VFN_3 (epmod_ring_sel, EpModSetRingShift, TYPE_INT, TYPE_bool, TYPE_bool)
 
 VFN_3 (epmod_loop_sel, EpModSetLoopShift, TYPE_INT, TYPE_bool, TYPE_bool)
 
 FN_2 (epmod_convert_selection_to_border, TYPE_INT, EpModConvertSelectionToBorder, TYPE_ENUM, TYPE_ENUM)
 
 VFN_0 (epmod_paintdeform_commit, EpModPaintDeformCommit)
 
 VFN_0 (epmod_paintdeform_cancel, EpModPaintDeformCancel)
 
 FN_2 (epmod_get_face_normal, TYPE_POINT3_BV, EPMeshGetFaceNormal, TYPE_INDEX, TYPE_INODE)
 
 FN_2 (epmod_get_face_center, TYPE_POINT3_BV, EPMeshGetFaceCenter, TYPE_INDEX, TYPE_INODE)
 
 FN_2 (epmod_get_face_area, TYPE_FLOAT, EPMeshGetFaceArea, TYPE_INDEX, TYPE_INODE)
 
 FN_1 (epmod_get_open_edges, TYPE_BITARRAY, EPMeshGetOpenEdges, TYPE_INODE)
 
 FN_4 (epmod_get_verts_by_flag, TYPE_bool, EPMeshGetVertsByFlag, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_INODE)
 
 FN_4 (epmod_get_edges_by_flag, TYPE_bool, EPMeshGetEdgesByFlag, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_INODE)
 
 FN_4 (epmod_get_faces_by_flag, TYPE_bool, EPMeshGetFacesByFlag, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_INODE)
 
 VFN_5 (epmod_set_vertex_flags, EPMeshSetVertexFlags, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_bool, TYPE_INODE)
 
 VFN_5 (epmod_set_edge_flags, EPMeshSetEdgeFlags, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_bool, TYPE_INODE)
 
 VFN_5 (epmod_set_face_flags, EPMeshSetFaceFlags, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_bool, TYPE_INODE)
 
 FN_2 (epmod_get_vertex_flags, TYPE_INT, EPMeshGetVertexFlags, TYPE_INDEX, TYPE_INODE)
 
 FN_2 (epmod_get_edge_flags, TYPE_INT, EPMeshGetEdgeFlags, TYPE_INDEX, TYPE_INODE)
 
 FN_2 (epmod_get_face_flags, TYPE_INT, EPMeshGetFaceFlags, TYPE_INDEX, TYPE_INODE)
 
 VFN_3 (epmod_get_verts_using_edge, EPMeshGetVertsUsingEdge, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE)
 
 VFN_3 (epmod_get_edges_using_vert, EPMeshGetEdgesUsingVert, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE)
 
 VFN_3 (epmod_get_faces_using_edge, EPMeshGetFacesUsingEdge, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE)
 
 VFN_4 (epmod_get_elements_using_face, EPMeshGetElementsUsingFace, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE)
 
 VFN_3 (epmod_get_faces_using_vert, EPMeshGetFacesUsingVert, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE)
 
 VFN_3 (epmod_get_verts_using_face, EPMeshGetVertsUsingFace, TYPE_BITARRAY_BR, TYPE_BITARRAY_BR, TYPE_INODE)
 
 VFN_3 (epmod_set_vert, EPMeshSetVert, TYPE_BITARRAY_BR, TYPE_POINT3_BR, TYPE_INODE)
 
 VFN_0 (epmod_smgrp_floater, SmGrpFloater)
 
 FN_0 (epmod_smgrp_floatervisible, TYPE_BOOL, SmGrpFloaterVisible)
 
 VFN_0 (epmod_matid_floater, MatIDFloater)
 
 FN_0 (epmod_matid_floatervisible, TYPE_BOOL, MatIDFloaterVisible)
 
 VFN_0 (epmod_list_delta_ops, ListDeltaOps)
 
 FN_0 (epmod_get_last, TYPE_INT, EpModGetLast)
 
FPInterfaceDescGetDesc ()
 For system use only - retrieves the function publishing interface description. More...
 
virtual int GetEPolySelLevel ()=0
 Returns the Edit Poly selection level - one of the ePolyModSelLevel enum defined above, such as EPM_SL_VERTEX. More...
 
virtual int GetMNSelLevel ()=0
 Returns the MNMesh selection level - one of MNM_SL_OBJECT, MNM_SL_VERTEX, MNM_SL_EDGE, or MNM_SL_FACE. More...
 
virtual void SetEPolySelLevel (int sl)=0
 Sets the Edit Poly selection level. More...
 
virtual int EpModConvertSelection (int epSelLevelFrom, int epSelLevelTo, bool requireAll)
 Converts selection between two Edit Poly selection levels, by selecting adjacent subobjects, such as edges using selected vertices, or vertices used by selected faces, etc. More...
 
virtual int GetPolyOperationID ()
 Returns the "current" Edit Poly operation. More...
 
virtual IParamBlock2getParamBlock ()
 Returns the parameter block for the Edit Poly modifier. More...
 
virtual MapBitArray GetPreserveMapSettings () const
 Returns the Preserve settings for all map channels. More...
 
virtual void SetPreserveMapSettings (const MapBitArray &mapSettings)
 Sets the Preserve settings for all map channels. More...
 
virtual void EpModSetPreserveMap (int mapChannel, bool preserve)
 Sets whether a particular map channel will be "preserved" in geometric operations. More...
 
virtual bool EpModGetPreserveMap (int mapChannel)
 Indicates whether a particular map channel is set to be "preserved" in geometric operations. More...
 
virtual void InvalidateDistanceCache ()
 Invalidates the computed distances from selected vertices that are used to generate soft selections. More...
 
virtual void InvalidateSoftSelectionCache ()
 Invalidates the computed soft selections (but not the distances from selected vertices that the soft selections are based on). More...
 
virtual void EpModSetOperation (int opcode)
 Sets the current operation. More...
 
virtual void EpModPopupDialog (int opcode)
 Sets the operation to the one given, and then pops up the operation dialog, if one exists. More...
 
virtual void EpModButtonOp (int opcode)
 Applies the operation given, and commits to it immediately. More...
 
virtual void EpModLocalDataChanged (ChannelMask channels)
 Indicates to the EditPolyMod that some channels of its mesh have changed. More...
 
virtual void EpModRefreshScreen ()
 Triggers a redraw of the viewports at the current time. More...
 
virtual void EpModCommitUnlessAnimating (TimeValue t)
 Commits to the current operation unless we're set to "animation mode" (epm_animation_mode parameter is true) and the current operation supports animation. More...
 
virtual void EpModCommit (TimeValue t)
 Commits to the current operation, and clears any animation. More...
 
virtual void EpModCommitAndRepeat (TimeValue t)
 Commits to the current operation, but maintains it as the current operation with the same settings (and any animation in those parameters). More...
 
virtual void EpModCancel ()
 Cancels the current operation. More...
 
virtual void EpModToggleCommandMode (int mode)
 Toggles a given command mode - if it's not currently in this mode it will enter it, otherwise it will exit it. More...
 
virtual void EpModEnterCommandMode (int mode)
 Exits any previous Edit Poly command modes, and enters the command mode given. More...
 
virtual void EpModEnterPickMode (int mode)
 Enters the pick mode given. More...
 
virtual int EpModGetCommandMode ()
 Retrieves the current Edit Poly command mode in use, if any. More...
 
virtual int EpModGetPickMode ()
 Retrieves the current Edit Poly pick mode in use, if any. More...
 
virtual BitArrayEpModGetSelection (int meshSelectionLevel, INode *pNode=NULL)
 Returns a BitArray containing the subobject selection in the desired selection level. More...
 
virtual bool EpModSetSelection (int meshSelectionLevel, BitArray &selection, INode *pNode=NULL)
 Sets the subobject selection explicitly. More...
 
virtual bool EpModSelect (int meshSelectionLevel, BitArray &selection, bool invert=false, bool select=true, INode *pNode=NULL)
 Change the selection state of a subset of subobjects - select them, invert their selection, or deselect them. More...
 
virtual void SetHitLevelOverride (DWORD hlo)
 Force any hit-testing on the Edit Poly modifier to use the hit level given, instead of the default hit level associated with the current subobject level. More...
 
virtual void ClearHitLevelOverride ()
 Clear any hit level override, and let hit-testing fall back on the normal hit level for subobject selection. More...
 
virtual DWORD GetHitLevelOverride ()
 Returns the current hit level override, or 0 if there is none. More...
 
virtual DWORD CurrentHitLevel (int *selByVert=NULL)
 Indicates the current hit level. More...
 
virtual void SetHitTestResult (bool ignoreNew=false)
 Normally, all hit-testing on Edit Poly meshes is done on the mesh before the "current operation". More...
 
virtual void ClearHitTestResult ()
 Clears any HitTestResult settings, and falls back on hit-testing before the current operation. More...
 
virtual void SetDisplayLevelOverride (DWORD dlo)
 Sets the display level override, to force display of a particular type of subobject regardless of the current subobject level. More...
 
virtual void ClearDisplayLevelOverride ()
 Clear any display level override, and let hit-testing fall back on the normal display for the current selection level. More...
 
virtual DWORD GetDisplayLevelOverride ()
 Returns any current DisplayLevelOverride. More...
 
virtual void ForceIgnoreBackfacing (bool force)
 This method is used to temporarily force the Edit Poly to ignore backfacing subobjects when hit-testing. More...
 
virtual bool GetForceIgnoreBackfacing ()
 Indicates whether or not the Edit Poly is currently set to force ignoring backfacing subobjects. More...
 
virtual void EpModMoveSelection (Point3 &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t)
 Move the current subobject selection. More...
 
virtual void EpModRotateSelection (Quat &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t)
 Rotate the current subobject selection. More...
 
virtual void EpModScaleSelection (Point3 &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t)
 Scale the current subobject selection. More...
 
virtual void EpModMoveSlicePlane (Point3 &val, Matrix3 &partm, Matrix3 &tmAxis, TimeValue t)
 Move the Slice Plane that's used in the ep_op_slice and ep_op_slice_face operations. More...
 
virtual void EpModRotateSlicePlane (Quat &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t)
 Rotate the Slice Plane that's used in the ep_op_slice and ep_op_slice_face operations. More...
 
virtual void EpModScaleSlicePlane (Point3 &val, Matrix3 &partm, Matrix3 &tmAxis, BOOL localOrigin, TimeValue t)
 Scale the Slice Plane that's used in the ep_op_slice and ep_op_slice_face operations. More...
 
virtual void EpResetSlicePlane ()
 Resets the slice plane used in the slice operations so that it lies in the XY plane in object space. More...
 
virtual Matrix3 EpGetSlicePlaneTM (TimeValue t)
 Returns the current transform of the slice plane. More...
 
virtual void EpGetSlicePlane (Point3 &planeNormal, Point3 &planeCenter, TimeValue t)
 Retrieves the current slice plane, by its normal and center. More...
 
virtual void EpSetSlicePlane (Point3 &planeNormal, Point3 &planeCenter, TimeValue t)
 Sets the slice plane to use the normal and center given. More...
 
virtual bool EpInSliceMode ()
 Indicates if we're currently in the "Slice Plane" mode, which is not a command mode, but rather a different way of handling the regular (move, rotate, scale) command modes. More...
 
virtual bool EpInSlice ()
 Indicates if we're currently in a Slice operation (ep_op_slice or ep_op_slice_face). More...
 
virtual ModifierGetModifier ()=0
 Returns the Edit Poly cast as a modifier. More...
 
virtual IObjParamEpModGetIP ()
 Returns NULL if the Edit Poly is not currently up in the modifier panel, or the IObjParam interface pointer otherwise. More...
 
virtual HWND GetDlgHandle (int paramPanelID)
 Returns the handle of the dialog specified. More...
 
virtual void UpdateAlignParameters (TimeValue t)
 Updates the Align normal and offset parameters based on the current viewport and on the ep_align_type parameter. More...
 
virtual void UpdateCache (TimeValue t)
 Makes sure that all the LocalModData used by the Edit Poly modifiers has an up to date cache. More...
 
virtual bool EpModShowOperationDialog ()
 Show the popup dialog associated with the current operation. More...
 
virtual bool EpModShowingOperationDialog ()
 Indicates whether or not there is currently a popup dialog being displayed with parameters for the current operation. More...
 
virtual void EpModCloseOperationDialog ()
 Close the popup dialog which shows the current operation's parameters, if it's currently being displayed. More...
 
virtual void EpModRepeatLast ()
 Repeat the last operation. More...
 
virtual INodeEpModGetPrimaryNode ()
 Get the current "Primary" node, which is used by default when node-specific commands are given and the node given is NULL. More...
 
virtual void EpModSetPrimaryNode (INode *node)
 Set the current "Primary" node, which is used by default when node-specific commands are given and the node given is NULL. More...
 
virtual Matrix3 EpModGetNodeTM (TimeValue t, INode *node=NULL)
 Retrieve the transform of the Edit Poly's node. More...
 
Matrix3 EpModGetNodeTM_FPS (INode *node=NULL, TimeValue t=0)
 
virtual int EpModCreateVertex (Point3 p, INode *pNode=NULL)
 Create a new vertex in the mesh. More...
 
virtual int EpModCreateFace (Tab< int > *vertex, INode *pNode=NULL)
 Create a new face in the mesh. More...
 
virtual int EpModCreateEdge (int v1, int v2, INode *pNode=NULL)
 Create a new edge in the mesh. More...
 
virtual void EpModSetDiagonal (int v1, int v2, INode *pNode=NULL)
 Change the triangulation of a polygon such that there will be a diagonal between the two vertices given. More...
 
virtual void EpModCut (int startLevel, int startIndex, Point3 startPoint, Point3 normal, INode *pNode=NULL)
 Set up a Cut operation, starting at a specific subobject and at a specific point. More...
 
virtual void EpModSetCutEnd (Point3 endPoint, INode *pNode=NULL)
 Set the end point of a cut. More...
 
virtual int EpModGetLastCutEnd ()
 If the last Cut we made finished successfully, this method will return the index of the vertex at the end of the cut. More...
 
virtual void EpModClearLastCutEnd ()
 Resets the "last cut end" data to -1. More...
 
virtual void EpModCutCancel (INode *pNode=NULL)
 Please ignore - this method was never implemented, it does nothing. More...
 
virtual void EpModDivideEdge (int edge, float prop, INode *pNode=NULL)
 Divides edge, inserting a vertex partway along its length. More...
 
virtual void EpModDivideFace (int face, Tab< float > *bary, INode *pNode=NULL)
 Divides the face, inserting a vertex in it and splitting the face up into triangles connecting the new vertex with all the face's original edges. More...
 
virtual void EpModWeldVerts (int v1, int v2, INode *pNode=NULL)
 Weld two vertices. More...
 
virtual void EpModWeldEdges (int e1, int e2, INode *pNode=NULL)
 Weld two edges (by welding the vertex endpoints). More...
 
virtual void EpModAttach (INode *node, INode *pNode=NULL, TimeValue t=0)
 Attach another mesh to this one. More...
 
virtual void EpModMultiAttach (Tab< INode * > &nodeTab, INode *pNode=NULL, TimeValue t=0)
 Attach a bunch of other meshes to this one. More...
 
virtual void EpModDetachToObject (MSTR &newObjectName, TimeValue t)
 Detaches the current selection to a new Editable Poly object. More...
 
virtual void EpModCreateShape (MSTR &shapeObjectName, TimeValue t)
 Creates a shape object based on the current set of selected edges. More...
 
virtual void EpModSetHingeEdge (int edge, Matrix3 modContextTM, INode *pNode=NULL)
 Sets the Hinge from Edge operation to use the hinge edge given. More...
 
virtual int EpModGetHingeEdge (INode *pNode)
 Retrieves the current Hinge Edge, or -1 if no hinge edge is set (or if it's set on a different node). More...
 
virtual void EpModBridgeBorders (int edge1, int edge2, INode *pNode=NULL)
 Create a Bridge between two border loops. More...
 
virtual void EpModBridgePolygons (int face1, int face2, INode *pNode=NULL)
 
virtual void EpModSetBridgeNode (INode *pNode)
 
virtual INodeEpModGetBridgeNode ()
 
virtual bool EpModReadyToBridgeSelected ()
 
virtual void EpModTurnDiagonal (int faceIndex, int diagonal, INode *pNode=NULL)
 
virtual void EpModListOperations (INode *pNode=NULL)
 Lists the entire history of applied operations to the Maxscript listener window. More...
 
virtual MNMeshEpModGetMesh (INode *pNode=NULL)
 Get a pointer to the Edit Poly's cached mesh. More...
 
virtual MNMeshEpModGetOutputMesh (INode *pNode=NULL)
 Get a pointer to the Edit Poly's cached output mesh. More...
 
virtual int EpMeshGetNumVertices (INode *pNode=NULL)
 Returns the number of vertices in the mesh. More...
 
virtual Point3 EpMeshGetVertex (int vertIndex, INode *pNode=NULL)
 Returns the position (in object space) of a particular vertex in the mesh. More...
 
virtual int EpMeshGetVertexFaceCount (int vertIndex, INode *pNode=NULL)
 Returns the number of faces using a particular vertex. More...
 
virtual int EpMeshGetVertexFace (int vertIndex, int whichFace, INode *pNode=NULL)
 Returns a face that uses the vertex given. More...
 
virtual int EpMeshGetVertexEdgeCount (int vertIndex, INode *pNode=NULL)
 Returns the number of edges using a particualr vertex. More...
 
virtual int EpMeshGetVertexEdge (int vertIndex, int whichEdge, INode *pNode=NULL)
 Returns one of the edges using the vertex given. More...
 
virtual int EpMeshGetNumEdges (INode *pNode=NULL)
 Returns the number of edges in the mesh. More...
 
virtual int EpMeshGetEdgeVertex (int edgeIndex, int end, INode *pNode=NULL)
 Returns the vertex at one end of the edge given. More...
 
virtual int EpMeshGetEdgeFace (int edgeIndex, int side, INode *pNode=NULL)
 Returns the face on one side of the edge given. More...
 
virtual int EpMeshGetNumFaces (INode *pNode=NULL)
 Returns the number of faces in the mesh. More...
 
virtual int EpMeshGetFaceDegree (int faceIndex, INode *pNode=NULL)
 Returns the degree of the indicated face. More...
 
virtual int EpMeshGetFaceVertex (int faceIndex, int corner, INode *pNode=NULL)
 Returns the vertex in a particular corner of a particular face. More...
 
virtual int EpMeshGetFaceEdge (int faceIndex, int side, INode *pNode=NULL)
 Returns the edge on a particular side of a particular face. More...
 
virtual int EpMeshGetFaceDiagonal (int faceIndex, int diagonal, int end, INode *pNode=NULL)
 Returns the index of the corner used at an end of a face diagonal. More...
 
virtual int EpMeshGetFaceMaterial (int faceIndex, INode *pNode=NULL)
 Returns the material ID used by a particular face. More...
 
virtual DWORD EpMeshGetFaceSmoothingGroup (int faceIndex, INode *pNode=NULL)
 Returns the smoothing groups used by a particular face. More...
 
virtual int EpMeshGetNumMapChannels (INode *pNode=NULL)
 Returns the number of positive map channels in the mesh. More...
 
virtual bool EpMeshGetMapChannelActive (int mapChannel, INode *pNode=NULL)
 Indicates if the specified map channel is "active", that is, if it contains a set of map coordinates and map faces. More...
 
virtual int EpMeshGetNumMapVertices (int mapChannel, INode *pNode=NULL)
 Returns the number of map vertices in the specified map. More...
 
virtual UVVert EpMeshGetMapVertex (int mapChannel, int vertIndex, INode *pNode=NULL)
 Returns the UVVert map vertex position for a given map channel and map vertex index. More...
 
virtual int EpMeshGetMapFaceVertex (int mapChannel, int faceIndex, int corner, INode *pNode=NULL)
 Returns the index of the map vertex used in a particular corner of a particular map face (in a particular map). More...
 
virtual void EpModBridgeEdges (const int in_edge1, const int in_edge2, INode *in_pNode=NULL)
 Bridges individual edges, will use current parameters. More...
 
virtual void EpModUpdateRingEdgeSelection (int in_val, INode *in_pNode=NULL)
 Changea the edge selection in the ring direction. More...
 
virtual void EpModUpdateLoopEdgeSelection (int in_val, INode *in_pNode=NULL)
 Changes the edge selection in the loop direction. More...
 
virtual void EpModSetRingShift (int in_newPos, bool in_moveOnly, bool in_add)
 Changes the edge selection , in the ring direction. More...
 
virtual void EpModSetLoopShift (int in_newPos, bool in_moveOnly, bool in_add)
 Changes the edge selection , in the loop direction. More...
 
virtual int EpModConvertSelectionToBorder (int in_epSelLevelFrom, int in_epSelLevelTo)
 Converts current sub-object selection to the specified sub-object border.
More...
 
virtual void EpModPaintDeformCommit ()
 Commits any Paint Deformation as if pressing the Commit button. More...
 
virtual void EpModPaintDeformCancel ()
 Reverts any Paint Deformation as if pressing the Revert button. More...
 
virtual Point3 EPMeshGetFaceNormal (const int in_faceIndex, INode *in_pNode=NULL)
 Returns the normal of the face specified. More...
 
virtual Point3 EPMeshGetFaceCenter (const int in_faceIndex, INode *in_pNode=NULL)
 Returns the center of the face specified. More...
 
virtual float EPMeshGetFaceArea (const int in_faceIndex, INode *in_pNode=NULL)
 Returns the area of the face specified. More...
 
virtual BitArrayEPMeshGetOpenEdges (INode *in_pNode=NULL)
 Returns a list of edges that are adjacent to at least one empty face. More...
 
virtual void EPMeshSetVert (const BitArray &in_vset, const Point3 &in_point, INode *in_pNode=NULL)
 Moves the specified vertices to the specified point. More...
 
virtual void SmGrpFloater ()=0
 Brings up the Smooting Group floater dialog. If it is already up it closes it
More...
 
virtual void MatIDFloater ()=0
 Brings up the Material ID floater dialog. If it is already up it closes it
More...
 
virtual BOOL MatIDFloaterVisible ()=0
 Returns whether the Material ID floater dialog is up. More...
 
virtual BOOL SmGrpFloaterVisible ()=0
 Returns whether the Smooting Group floater dialog is up. More...
 
virtual void CloseSmGrpFloater ()
 Closes the Smoothing Group Floater Dialog. More...
 
virtual void CloseMatIDFloater ()
 
virtual HWND MatIDFloaterHWND ()
 Returns the Material ID Floater Dialog Handle. More...
 
virtual HWND SmGrpFloaterHWND ()
 Returns the SmGrp Floater Dialog Handle. More...
 
virtual void ListDeltaOps ()=0
 Prints the delta operations to script window. More...
 
virtual bool EPMeshGetVertsByFlag (BitArray &out_vset, const DWORD in_flags, const DWORD in_fmask=0x0, INode *in_pNode=NULL)
 These methods retrieve the parts of the object that match the specified flags and mask passed in. More...
 
virtual bool EPMeshGetEdgesByFlag (BitArray &out_eset, const DWORD in_flags, const DWORD in_fmask=0x0, INode *in_pNode=NULL)
 Retrieves the edges specified the flag and mask, and updates the bitarray passed in. More...
 
virtual bool EPMeshGetFacesByFlag (BitArray &out_fset, const DWORD in_flags, const DWORD in_fmask=0x0, INode *in_pNode=NULL)
 Retrieves the faces specified the flag and mask, and updates the bitarray passed in. More...
 
virtual void EPMeshSetVertexFlags (BitArray &in_vset, const DWORD in_flags, DWORD in_fmask=0x0, const bool in_undoable=true, INode *in_pNode=NULL)
 These methods set the flags on the specified subobjects to match the flags and mask passed in. More...
 
virtual void EPMeshSetEdgeFlags (BitArray &in_eset, const DWORD in_flags, DWORD in_fmask=0x0, const bool in_undoable=true, INode *in_pNode=NULL)
 Sets the specified vertices flags to the specified value. More...
 
virtual void EPMeshSetFaceFlags (BitArray &in_fset, const DWORD in_flags, DWORD in_fmask=0x0, const bool in_undoable=true, INode *in_pNode=NULL)
 Sets the specified faces flags to the specified value. More...
 
virtual int EPMeshGetVertexFlags (const int in_vertexIndex, INode *in_pNode=NULL)
 These methods get the flags on the specified subobjects. More...
 
virtual int EPMeshGetEdgeFlags (const int in_edgeIndex, INode *in_pNode=NULL)
 Retrieves the flags from the specified edge. More...
 
virtual int EPMeshGetFaceFlags (const int in_faceIndex, INode *in_pNode=NULL)
 Retrieves the flags from the specified face. More...
 
virtual void EPMeshGetVertsUsingEdge (BitArray &out_vset, const BitArray &in_eset, INode *in_pNode=NULL)
 These methods retrieve all subobjects of the specified type that are connected to the second list of subobjects passed in . More...
 
virtual void EPMeshGetEdgesUsingVert (BitArray &out_eset, BitArray &in_vset, INode *in_pNode=NULL)
 Retrieves list of edges that are used by the vertices specified. More...
 
virtual void EPMeshGetFacesUsingEdge (BitArray &out_fset, BitArray &in_eset, INode *in_pNode=NULL)
 Retrieves list of faces that are used by the edges specified. More...
 
virtual void EPMeshGetElementsUsingFace (BitArray &out_eset, BitArray &in_fset, BitArray &in_fenceSet, INode *in_pNode=NULL)
 Retrieves list of elements that are used by the faces specified. More...
 
virtual void EPMeshGetFacesUsingVert (BitArray &out_fset, BitArray &in_vset, INode *in_pNode=NULL)
 Retrieves list of faces that are used by the vertices specified. More...
 
virtual void EPMeshGetVertsUsingFace (BitArray &out_vset, BitArray &in_fset, INode *in_pNode=NULL)
 Retrieves list of verts that are used by the faces specified. More...
 
- Public Member Functions inherited from FPMixinInterface
 FPMixinInterface ()
 
virtual LifetimeType LifetimeControl ()
 
virtual CoreExport bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
CoreExport ~FPMixinInterface ()
 
virtual BaseInterfaceGetInterface (Interface_ID id)
 
virtual FPInterfaceDescGetDescByID (Interface_ID id)
 
virtual Interface_ID GetID ()
 
- Public Member Functions inherited from FPInterface
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPParams *params)
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL)
 
virtual CoreExport FunctionID FindFn (const MCHAR *name)
 
virtual CoreExport BOOL IsEnabled (FunctionID actionID)
 
virtual CoreExport BOOL IsChecked (FunctionID actionID)
 
virtual CoreExport BOOL IsVisible (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsEnabled (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsChecked (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsVisible (FunctionID actionID)
 
virtual ActionTableGetActionTable ()
 
virtual void EnableActions (BOOL onOff)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=NULL)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Additional Inherited Members

- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 
- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 
- Protected Types inherited from EPolyMod13
enum  ManipulateGrips {
  eSoftSelFalloff = 0 , eSoftSelPinch , eSoftSelBubble , eSetFlow ,
  eLoopShift , eRingShift , eEdgeCrease , eEdgeWeight ,
  eVertexCrease , eVertexWeight , EditPolyManipulatorGripCount
}
 
- Protected Member Functions inherited from EPolyMod13
virtual void SetManipulateGrip (bool on, ManipulateGrips item)=0
 Turns the manipulate grip item on or off. More...
 
virtual bool GetManipulateGrip (ManipulateGrips item)=0
 Get whether or not this manipulator item is on or not. More...
 
- Protected Member Functions inherited from FPMixinInterface
 FPMixinInterface (const FPMixinInterface &rhs)
 
FPMixinInterfaceoperator= (const FPMixinInterface &rhs)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 
- Protected Attributes inherited from FPMixinInterface
Tab< InterfaceNotifyCallback * > * interfaceNotifyCBs
 

Detailed Description

This new class for Phoenix extends EPolyMod for altering vertex and edge Crease/Weight/etc. values.

Member Function Documentation

◆ FN_0()

FN_0 ( epmod_get_last  ,
TYPE_INT  ,
EpModGetLast   
)

◆ GetVertexDataFloatValue()

virtual float GetVertexDataFloatValue ( int  channel,
int numSel,
bool *  uniform,
DWORD  vertexFlags,
INode in_pNode = NULL 
)
pure virtual

Gets float data and other information from the specified float vertex channel.

Parameters
[in]channel- See mesh.h for vertex channel numbers (VDATA_XXX).
[out]numSel- Returns number of vertices in the group (indicated by vertexFlags, below)
[out]uniform- True if all vertices flagged have the same value in the specified channel
[in]vertexFlags- Specifies flags for vertices to be checked (i.e. MN_SEL: all selected vertices)
[in]in_pNode- The node that is used by the modifier.
Returns
Float value in common for all flagged vertices if 'numSel' is nonzero and 'uniform' is true

◆ GetEdgeDataFloatValue()

virtual float GetEdgeDataFloatValue ( int  channel,
int numSel,
bool *  uniform,
DWORD  edgeFlags,
INode in_pNode = NULL 
)
pure virtual

Gets float data and other information from the specified float edge channel.

Parameters
[in]channel- See mnmesh.h for edge channel numbers (EDATA_XXX).
[out]numSel- Returns number of edges in the group (indicated by edgeFlags, below)
[out]uniform- True if all edges flagged have the same value in the specified channel
[in]edgeFlags- Specifies flags for edges to be checked (i.e. MN_SEL: all selected edges)
[in]in_pNode- The node that is used by the modifier.
Returns
Float value in common for all flagged edges if 'numSel' is nonzero and 'uniform' is true

◆ ResetVertexData()

virtual void ResetVertexData ( int  channel,
INode in_pNode = NULL 
)
pure virtual

Removes data for the specified float vertex channel.

Parameters
[in]channel- See mesh.h for vertex channel numbers (VDATA_XXX).
[in]in_pNode- The node that is used by the modifier.

◆ ResetEdgeData()

virtual void ResetEdgeData ( int  channel,
INode in_pNode = NULL 
)
pure virtual

Removes data for the specified float edge channel.

Parameters
[in]channel- See mnmesh.h for edge channel numbers (EDATA_XXX).
[in]in_pNode- The node that is used by the modifier.

◆ BeginPerDataModify()

virtual void BeginPerDataModify ( int  mnSelLevel,
int  channel 
)
pure virtual

Starts the modification process for per-vertex or per-edge data, creates restore objects in case they're needed for undo Call this prior to calling DoPerDataModify.

Parameters
[in]mnSelLevel- See mnmesh.h for selection level numbers (MNM_SL_VERTEX and MNM_SL_EDGE are supported).
[in]channel- See mesh.h for vertex channel numbers (VDATA_XXX) and mnmesh.h for edge channel numbers (EDATA_XXX).

◆ DoPerDataModify()

virtual void DoPerDataModify ( int  mnSelLevel,
int  channel,
float  value 
)
pure virtual

Does the actual modification for per-vertex or per-edge data.

Should only be used inbetween calls to BeginPerDataModify and EndPerDataModify.

Parameters
[in]mnSelLevel- See mnmesh.h for selection level numbers (MNM_SL_VERTEX and MNM_SL_EDGE are supported).
[in]channel- See mesh.h for vertex channel numbers (VDATA_XXX) and mnmesh.h for edge channel numbers (EDATA_XXX).
[in]value- float value to set

◆ InPerDataModify()

virtual bool InPerDataModify ( )
pure virtual

Checks to see if the per-data modification process for per-vertex or per-edge data is underway.

Returns
True (in progress) or false (not in progress)

◆ EndPerDataModify()

virtual void EndPerDataModify ( bool  success)
pure virtual

Ends a per-data modify operation.

Call this after all DoPerDataModify calls are complete.

Parameters
success- If true, this commits the operation and puts the restore objects to the undo system. If false, the restore objects are destroyed.

◆ EpModGetLast()

virtual int EpModGetLast ( )
pure virtual

Returns the ID of the last operation performed.

Reimplemented from EPolyMod.