3ds Max C++ API Reference
EPoly18 Class Referenceabstract

This new class extends EPoly with new functionality, for new hard/smooth edge workflow. More...

#include <iepoly.h>

+ Inheritance diagram for EPoly18:

Public Member Functions

 FN_1 (epfn_make_hard_edges, TYPE_BOOL, EpfnMakeHardEdges, TYPE_DWORD)
 
 FN_1 (epfn_make_smooth_edges, TYPE_BOOL, EpfnMakeSmoothEdges, TYPE_DWORD)
 
 VFN_0 (epfn_select_hard_edges, EpfnSelectHardEdges)
 
 VFN_0 (epfn_select_smooth_edges, EpfnSelectSmoothEdges)
 
virtual bool EpfnMakeHardEdges (DWORD flag)=0
 Make the edges marked with the specified flag hard (unsmoothed) More...
 
virtual bool EpfnMakeSmoothEdges (DWORD flag)=0
 Make the edges marked with the specified flag smooth. More...
 
virtual void EpfnSelectHardEdges ()=0
 Select hard (unsmoothed) edges. More...
 
virtual void EpfnSelectSmoothEdges ()=0
 Select smoothed edges. More...
 
- Public Member Functions inherited from EPoly
 FN_2 (epfn_hide, TYPE_bool, EpfnHide, TYPE_INT, TYPE_DWORD)
 
 FN_1 (epfn_unhide_all, TYPE_bool, EpfnUnhideAll, TYPE_INT)
 
 VFN_1 (epfn_named_selection_copy, EpfnNamedSelectionCopy, TYPE_STRING)
 
 VFN_1 (epfn_named_selection_paste, EpfnNamedSelectionPaste, TYPE_bool)
 
 FN_3 (epfn_create_vertex, TYPE_INDEX, EpfnCreateVertex, TYPE_POINT3, TYPE_bool, TYPE_bool)
 
 FN_3 (epfn_create_edge, TYPE_INDEX, EpfnCreateEdge, TYPE_INDEX, TYPE_INDEX, TYPE_bool)
 
 FN_2 (epfn_create_face, TYPE_INDEX, EpfnCreateFace2, TYPE_INDEX_TAB, TYPE_bool)
 
 FN_2 (epfn_cap_holes, TYPE_bool, EpfnCapHoles, TYPE_INT, TYPE_DWORD)
 
 FN_3 (epfn_delete, TYPE_bool, EpfnDelete, TYPE_INT, TYPE_DWORD, TYPE_bool)
 
 VFNT_2 (epfn_attach, EpfnAttach, TYPE_INODE, TYPE_INODE)
 
 FN_3 (epfn_detach_to_element, TYPE_bool, EpfnDetachToElement, TYPE_INT, TYPE_DWORD, TYPE_bool)
 
 FN_1 (epfn_split_edges, TYPE_bool, EpfnSplitEdges, TYPE_DWORD)
 
 FN_1 (epfn_break_verts, TYPE_bool, EpfnBreakVerts, TYPE_DWORD)
 
 FN_3 (epfn_divide_face, TYPE_INDEX, EpfnDivideFace, TYPE_INDEX, TYPE_FLOAT_TAB_BR, TYPE_bool)
 
 FN_3 (epfn_divide_face2, TYPE_INDEX, EpfnDivideFace, TYPE_INDEX, TYPE_FLOAT_TAB_BR, TYPE_bool)
 
 FN_3 (epfn_divide_edge, TYPE_INDEX, EpfnDivideEdge, TYPE_INDEX, TYPE_FLOAT, TYPE_bool)
 
 FN_3 (epfn_divide_edge2, TYPE_INDEX, EpfnDivideEdge, TYPE_INDEX, TYPE_FLOAT, TYPE_bool)
 
 FN_2 (epfn_collapse, TYPE_bool, EpfnCollapse, TYPE_INT, TYPE_DWORD)
 
 VFNT_2 (epfn_extrude_faces, EpfnExtrudeFaces, TYPE_FLOAT, TYPE_DWORD)
 
 VFNT_3 (epfn_bevel_faces, EpfnBevelFaces, TYPE_FLOAT, TYPE_FLOAT, TYPE_DWORD)
 
 VFNT_1 (epfn_chamfer_vertices, EpfnChamferVertices, TYPE_FLOAT)
 
 VFNT_1 (epfn_chamfer_edges, EpfnChamferEdges, TYPE_FLOAT)
 
 FN_4 (epfn_slice, TYPE_bool, EpfnSlice, TYPE_POINT3, TYPE_POINT3, TYPE_bool, TYPE_DWORD)
 
 FN_0 (epfn_in_slice_plane_mode, TYPE_bool, EpfnInSlicePlaneMode)
 
 FN_3 (epfn_cut_vertex, TYPE_INDEX, EpfnCutVertex, TYPE_INDEX, TYPE_POINT3, TYPE_POINT3)
 
 FN_5 (epfn_cut_edge, TYPE_INDEX, EpfnCutEdge, TYPE_INDEX, TYPE_FLOAT, TYPE_INDEX, TYPE_FLOAT, TYPE_POINT3)
 
 FN_4 (epfn_cut_face, TYPE_INDEX, EpfnCutFace, TYPE_INDEX, TYPE_POINT3, TYPE_POINT3, TYPE_POINT3)
 
 FN_3 (epfn_weld_verts, TYPE_bool, EpfnWeldVerts, TYPE_INDEX, TYPE_INDEX, TYPE_POINT3)
 
 FN_2 (epfn_weld_edges, TYPE_bool, EpfnWeldEdges, TYPE_INDEX, TYPE_INDEX)
 
 FN_1 (epfn_weld_flagged_verts, TYPE_bool, EpfnWeldFlaggedVerts, TYPE_DWORD)
 
 FN_1 (epfn_weld_flagged_edges, TYPE_bool, EpfnWeldFlaggedEdges, TYPE_DWORD)
 
 FN_4 (epfn_create_shape, TYPE_bool, EpfnCreateShape, TYPE_STRING, TYPE_bool, TYPE_INODE, TYPE_DWORD)
 
 FNT_2 (epfn_make_planar, TYPE_bool, EpfnMakePlanar, TYPE_INT, TYPE_DWORD)
 
 FNT_4 (epfn_move_to_plane, TYPE_bool, EpfnMoveToPlane, TYPE_POINT3, TYPE_FLOAT, TYPE_INT, TYPE_DWORD)
 
 FN_2 (epfn_align_to_grid, TYPE_bool, EpfnAlignToGrid, TYPE_INT, TYPE_DWORD)
 
 FN_2 (epfn_align_to_view, TYPE_bool, EpfnAlignToView, TYPE_INT, TYPE_DWORD)
 
 FN_0 (epfn_delete_iso_verts, TYPE_bool, EpfnDeleteIsoVerts)
 
 FN_2 (epfn_meshsmooth, TYPE_bool, EpfnMeshSmooth, TYPE_INT, TYPE_DWORD)
 
 FN_2 (epfn_tessellate, TYPE_bool, EpfnTessellate, TYPE_INT, TYPE_DWORD)
 
 VFN_0 (epfn_force_subdivision, EpfnForceSubdivision)
 
 VFN_3 (epfn_set_diagonal, EpfnSetDiagonal, TYPE_INDEX, TYPE_INDEX, TYPE_INDEX)
 
 FN_1 (epfn_retriangulate, TYPE_bool, EpfnRetriangulate, TYPE_DWORD)
 
 FN_1 (epfn_flip_normals, TYPE_bool, EpfnFlipNormals, TYPE_DWORD)
 
 VFNT_2 (epfn_select_by_mat, EpfnSelectByMat, TYPE_INDEX, TYPE_bool)
 
 VFNT_2 (epfn_select_by_smooth_group, EpfnSelectBySmoothGroup, TYPE_DWORD, TYPE_bool)
 
 VFNT_0 (epfn_autosmooth, EpfnAutoSmooth)
 
 VFN_1 (epfn_button_op, EpActionButtonOp, TYPE_ENUM)
 
 VFN_1 (epfn_toggle_command_mode, EpActionToggleCommandMode, TYPE_ENUM)
 
 FN_0 (epfn_get_command_mode, TYPE_ENUM, EpActionGetCommandMode)
 
 VFN_1 (epfn_enter_pick_mode, EpActionEnterPickMode, TYPE_ENUM)
 
 FN_0 (epfn_get_pick_mode, TYPE_ENUM, EpActionGetPickMode)
 
 VFN_0 (epfn_exit_command_modes, EpActionExitCommandModes)
 
 FN_3 (epfn_get_vertices_by_flag, TYPE_bool, EpGetVerticesByFlag, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD)
 
 FN_3 (epfn_get_edges_by_flag, TYPE_bool, EpGetEdgesByFlag, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD)
 
 FN_3 (epfn_get_faces_by_flag, TYPE_bool, EpGetFacesByFlag, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD)
 
 VFN_4 (epfn_set_vertex_flags, EpSetVertexFlags, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_bool)
 
 VFN_4 (epfn_set_edge_flags, EpSetEdgeFlags, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_bool)
 
 VFN_4 (epfn_set_face_flags, EpSetFaceFlags, TYPE_BITARRAY_BR, TYPE_DWORD, TYPE_DWORD, TYPE_bool)
 
 VFN_0 (epfn_reset_slice_plane, EpResetSlicePlane)
 
 VFN_3 (epfn_get_slice_plane, EpGetSlicePlane, TYPE_POINT3_BR, TYPE_POINT3_BR, TYPE_FLOAT_BP)
 
 VFN_3 (epfn_set_slice_plane, EpSetSlicePlane, TYPE_POINT3_BR, TYPE_POINT3_BR, TYPE_FLOAT)
 
 FNT_4 (epfn_get_vertex_data, TYPE_FLOAT, GetVertexDataValue, TYPE_INT, TYPE_INT_BP, TYPE_bool_BP, TYPE_DWORD)
 
 FNT_4 (epfn_get_edge_data, TYPE_FLOAT, GetEdgeDataValue, TYPE_INT, TYPE_INT_BP, TYPE_bool_BP, TYPE_DWORD)
 
 VFNT_3 (epfn_set_vertex_data, SetVertexDataValue, TYPE_INT, TYPE_FLOAT, TYPE_DWORD)
 
 VFNT_3 (epfn_set_edge_data, SetEdgeDataValue, TYPE_INT, TYPE_FLOAT, TYPE_DWORD)
 
 VFN_1 (epfn_reset_vertex_data, ResetVertexData, TYPE_INT)
 
 VFN_1 (epfn_reset_edge_data, ResetEdgeData, TYPE_INT)
 
 VFN_2 (epfn_begin_modify_perdata, BeginPerDataModify, TYPE_INT, TYPE_INT)
 
 FN_0 (epfn_in_modify_perdata, TYPE_bool, InPerDataModify)
 
 VFN_1 (epfn_end_modify_perdata, EndPerDataModify, TYPE_bool)
 
 FN_1 (epfn_get_vertex_color, TYPE_COLOR_BV, EpFnGetVertexColor, TYPE_ENUM)
 
 VFN_2 (epfn_set_vertex_color, EpFnSetVertexColor, TYPE_COLOR, TYPE_ENUM)
 
 FN_1 (epfn_get_face_color, TYPE_COLOR_BV, EpFnGetFaceColor, TYPE_ENUM)
 
 VFN_2 (epfn_set_face_color, EpFnSetFaceColor, TYPE_COLOR, TYPE_ENUM)
 
 FN_1 (epfn_get_mat_index, TYPE_INDEX, GetMatIndex, TYPE_bool_BP)
 
 VFN_2 (epfn_set_mat_index, SetMatIndex, TYPE_INDEX, TYPE_DWORD)
 
 VFN_3 (epfn_get_smoothing_groups, GetSmoothingGroups, TYPE_DWORD, TYPE_DWORD_BP, TYPE_DWORD_BP)
 
 VFN_3 (epfn_set_smoothing_groups, SetSmoothBits, TYPE_DWORD, TYPE_DWORD, TYPE_DWORD)
 
 VFN_0 (epfn_collapse_dead_structs, CollapseDeadStructs)
 
 VFN_0 (epfn_collapse_dead_structs_spelled_right, CollapseDeadStructs)
 
 FN_7 (epfn_propagate_component_flags, TYPE_INT, EpfnPropagateComponentFlags, TYPE_INT, TYPE_DWORD, TYPE_INT, TYPE_DWORD, TYPE_bool, TYPE_bool, TYPE_bool)
 
 VFN_1 (epfn_preview_begin, EpPreviewBegin, TYPE_ENUM)
 
 VFN_0 (epfn_preview_cancel, EpPreviewCancel)
 
 VFN_0 (epfn_preview_accept, EpPreviewAccept)
 
 VFN_0 (epfn_preview_invalidate, EpPreviewInvalidate)
 
 FN_0 (epfn_preview_on, TYPE_bool, EpPreviewOn)
 
 VFN_1 (epfn_preview_set_dragging, EpPreviewSetDragging, TYPE_bool)
 
 FN_0 (epfn_preview_get_dragging, TYPE_bool, EpPreviewGetDragging)
 
 FN_1 (epfn_popup_dialog, TYPE_bool, EpfnPopupDialog, TYPE_ENUM)
 
 VFN_0 (epfn_close_popup_dialog, EpfnClosePopupDialog)
 
 VFN_0 (epfn_repeat_last, EpfnRepeatLastOperation)
 
 VFN_1 (epfn_grow_selection, EpfnGrowSelection, TYPE_ENUM)
 
 VFN_1 (epfn_shrink_selection, EpfnShrinkSelection, TYPE_ENUM)
 
 FN_3 (epfn_convert_selection, TYPE_INT, EpfnConvertSelection, TYPE_ENUM, TYPE_ENUM, TYPE_bool)
 
 VFN_0 (epfn_select_border, EpfnSelectBorder)
 
 VFN_0 (epfn_select_element, EpfnSelectElement)
 
 VFN_0 (epfn_select_edge_loop, EpfnSelectEdgeLoop)
 
 VFN_0 (epfn_select_edge_ring, EpfnSelectEdgeRing)
 
 FN_2 (epfn_remove, TYPE_bool, EpfnRemove, TYPE_ENUM, TYPE_DWORD)
 
 FN_0 (epfn_delete_iso_map_verts, TYPE_bool, EpfnDeleteIsoMapVerts)
 
 FN_1 (epfn_outline, TYPE_bool, EpfnOutline, TYPE_DWORD)
 
 FN_1 (epfn_connect_edges, TYPE_bool, EpfnConnectEdges, TYPE_DWORD)
 
 FN_1 (epfn_connect_vertices, TYPE_bool, EpfnConnectVertices, TYPE_DWORD)
 
 FN_1 (epfn_extrude_along_spline, TYPE_bool, EpfnExtrudeAlongSpline, TYPE_DWORD)
 
 FN_1 (epfn_lift_from_edge, TYPE_bool, EpfnLiftFromEdge, TYPE_DWORD)
 
 VFN_0 (epfn_toggle_shaded_faces, EpfnToggleShadedFaces)
 
 FN_0 (epfn_get_epoly_sel_level, TYPE_ENUM, GetEPolySelLevel)
 
 FN_0 (epfn_get_mn_sel_level, TYPE_ENUM, GetMNSelLevel)
 
 FN_1 (epfn_get_selection, TYPE_BITARRAY, EpfnGetSelection, TYPE_ENUM)
 
 VFN_2 (epfn_set_selection, EpfnSetSelection, TYPE_ENUM, TYPE_BITARRAY)
 
 FN_0 (epfn_get_num_vertices, TYPE_INT, EpfnGetNumVertices)
 
 FN_1 (epfn_get_vertex, TYPE_POINT3_BV, EpfnGetVertex, TYPE_INDEX)
 
 FN_1 (epfn_get_vertex_face_count, TYPE_INT, EpfnGetVertexFaceCount, TYPE_INDEX)
 
 FN_2 (epfn_get_vertex_face, TYPE_INDEX, EpfnGetVertexFace, TYPE_INDEX, TYPE_INDEX)
 
 FN_1 (epfn_get_vertex_edge_count, TYPE_INT, EpfnGetVertexEdgeCount, TYPE_INDEX)
 
 FN_2 (epfn_get_vertex_edge, TYPE_INDEX, EpfnGetVertexEdge, TYPE_INDEX, TYPE_INDEX)
 
 FN_0 (epfn_get_num_edges, TYPE_INT, EpfnGetNumEdges)
 
 FN_2 (epfn_get_edge_vertex, TYPE_INDEX, EpfnGetEdgeVertex, TYPE_INDEX, TYPE_INDEX)
 
 FN_2 (epfn_get_edge_face, TYPE_INDEX, EpfnGetEdgeFace, TYPE_INDEX, TYPE_INDEX)
 
 FN_0 (epfn_get_num_faces, TYPE_INT, EpfnGetNumFaces)
 
 FN_1 (epfn_get_face_degree, TYPE_INT, EpfnGetFaceDegree, TYPE_INDEX)
 
 FN_2 (epfn_get_face_vertex, TYPE_INDEX, EpfnGetFaceVertex, TYPE_INDEX, TYPE_INDEX)
 
 FN_2 (epfn_get_face_edge, TYPE_INDEX, EpfnGetFaceEdge, TYPE_INDEX, TYPE_INDEX)
 
 FN_1 (epfn_get_face_material, TYPE_INDEX, EpfnGetFaceMaterial, TYPE_INDEX)
 
 FN_1 (epfn_get_face_smoothing_group, TYPE_DWORD, EpfnGetFaceSmoothingGroup, TYPE_INDEX)
 
 FN_0 (epfn_get_num_map_channels, TYPE_INT, EpfnGetNumMapChannels)
 
 FN_1 (epfn_get_map_channel_active, TYPE_bool, EpfnGetMapChannelActive, TYPE_INT)
 
 FN_1 (epfn_get_num_map_vertices, TYPE_INT, EpfnGetNumMapVertices, TYPE_INT)
 
 FN_2 (epfn_get_map_vertex, TYPE_POINT3_BV, EpfnGetMapVertex, TYPE_INT, TYPE_INDEX)
 
 FN_3 (epfn_get_map_face_vertex, TYPE_INT, EpfnGetMapFaceVertex, TYPE_INT, TYPE_INDEX, TYPE_INDEX)
 
 FN_3 (epfn_get_map_face_vert, TYPE_INDEX, EpfnGetMapFaceVertex, TYPE_INT, TYPE_INDEX, TYPE_INDEX)
 
 FN_2 (epfn_bridge, TYPE_bool, EpfnBridge, TYPE_ENUM, TYPE_DWORD)
 
 FN_2 (epfn_ready_to_bridge_selected, TYPE_bool, EpfnReadyToBridgeFlagged, TYPE_ENUM, TYPE_DWORD)
 
 FN_2 (epfn_turn_diagonal, TYPE_bool, EpfnTurnDiagonal, TYPE_INDEX, TYPE_INDEX)
 
 FNT_2 (epfn_relax, TYPE_bool, EpfnRelax, TYPE_ENUM, TYPE_DWORD)
 
 FNT_3 (epfn_make_planar_in, TYPE_bool, EpfnMakePlanarIn, TYPE_ENUM, TYPE_ENUM, TYPE_DWORD)
 
 FN_1 (epfn_get_preserve_map, TYPE_bool, EpfnGetPreserveMap, TYPE_INT)
 
 VFN_2 (epfn_set_preserve_map, EpfnSetPreserveMap, TYPE_INT, TYPE_bool)
 
 VFNT_2 (epfn_chamfer_vertices_open, EpfnChamferVerticesOpen, TYPE_FLOAT, TYPE_bool)
 
 VFNT_2 (epfn_chamfer_edges_open, EpfnChamferEdgesOpen, TYPE_FLOAT, TYPE_bool)
 
 VFN_3 (epfn_set_ring_shift, EpfnSetRingShift, TYPE_INT, TYPE_bool, TYPE_bool)
 
 VFN_3 (epfn_set_loop_shift, EpfnSetLoopShift, TYPE_INT, TYPE_bool, TYPE_bool)
 
 FN_2 (epfn_convert_selection_to_border, TYPE_INT, EpfnConvertSelectionToBorder, TYPE_ENUM, TYPE_ENUM)
 
 VFN_0 (epfn_paintdeform_commit, EpfnPaintDeformCommit)
 
 VFN_0 (epfn_paintdeform_cancel, EpfnPaintDeformCancel)
 
 VFN_0 (epfn_smgrp_floater, SmGrpFloater)
 
 FN_0 (epfn_smgrp_floatervisible, TYPE_BOOL, SmGrpFloaterVisible)
 
 VFN_0 (epfn_matid_floater, MatIDFloater)
 
 FN_0 (epfn_matid_floatervisible, TYPE_BOOL, MatIDFloaterVisible)
 
 FN_0 (epfn_get_last_operation, TYPE_INT, EpfnGetLastOperation)
 
FPInterfaceDescGetDesc ()
 
virtual MNMeshGetMeshPtr ()
 
virtual IParamBlock2getParamBlock ()
 
virtual int EpActionGetCommandMode ()
 Retrieves the current EPoly command mode in use, if any. More...
 
virtual int EpActionGetPickMode ()
 Retrieves the current EPoly pick mode in use, if any. More...
 
virtual void EpfnChamferVerticesOpen (float in_amount, bool in_open, TimeValue in_time)
 Chamfer vertices, creating a whole between the chamfered vertices. More...
 
virtual void EpfnChamferEdgesOpen (float in_amount, bool in_open, TimeValue in_time)
 Chamfer edges, creating a whole between the chamfered edges. More...
 
virtual void EpfnSetRingShift (int in_newPos, bool in_moveOnly, bool in_add)
 Changes the edge selection , in the ring direction. More...
 
virtual void EpfnSetLoopShift (int in_newPos, bool in_moveOnly, bool in_add)
 Changes the edge selection , in the loop direction. More...
 
virtual int EpfnConvertSelectionToBorder (int in_epSelLevelFrom, int in_epSelLevelTo)
 Converts current sub-object selection to the specified sub-object border. More...
 
virtual void EpfnPaintDeformCommit ()
 Commits any Paint Deformation as if pressing the Commit button. More...
 
virtual void EpfnPaintDeformCancel ()
 Cancels any Paint Deformation as if pressing the Cancel button. More...
 
virtual void CloseSmGrpFloater ()
 Closes the Smooth Group Floater Floater dialog. More...
 
virtual void CloseMatIDFloater ()
 Closes the Material ID Floater dialog. More...
 
virtual HWND MatIDFloaterHWND ()
 Returns the Material ID Floater dialog handle. More...
 
virtual HWND SmGrpFloaterHWND ()
 Returns the Smooth Group Floater dialog handle. 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 LocalDataChanged (ChannelMask channels)
 
virtual void InvalidateSoftSelectionCache ()
 
virtual void InvalidateDistanceCache ()
 
virtual void RefreshScreen ()
 
virtual bool Editing ()
 
virtual int GetEPolySelLevel ()
 
virtual int GetMNSelLevel ()
 
virtual void SetEPolySelLevel (int level)
 
virtual bool EpGetVerticesByFlag (BitArray &vset, DWORD flags, DWORD fmask=0x0)
 
virtual bool EpGetEdgesByFlag (BitArray &eset, DWORD flags, DWORD fmask=0x0)
 
virtual bool EpGetFacesByFlag (BitArray &fset, DWORD flags, DWORD fmask=0x0)
 
virtual void EpSetVertexFlags (BitArray &vset, DWORD flags, DWORD fmask=0x0, bool undoable=true)
 
virtual void EpSetEdgeFlags (BitArray &eset, DWORD flags, DWORD fmask=0x0, bool undoable=true)
 
virtual void EpSetFaceFlags (BitArray &fset, DWORD flags, DWORD fmask=0x0, bool undoable=true)
 
virtual void EpActionButtonOp (int opcode)
 
virtual void EpActionToggleCommandMode (int mode)
 
virtual void EpActionEnterPickMode (int mode)
 
virtual void EpActionExitCommandModes ()
 
virtual void MoveSelection (int level, TimeValue t, Matrix3 &partm, Matrix3 &tmAxis, Point3 &val, BOOL localOrigin)
 
virtual void RotateSelection (int level, TimeValue t, Matrix3 &partm, Matrix3 &tmAxis, Quat &val, BOOL localOrigin)
 
virtual void ScaleSelection (int level, TimeValue t, Matrix3 &partm, Matrix3 &tmAxis, Point3 &val, BOOL localOrigin)
 
virtual void ApplyDelta (Tab< Point3 > &delta, EPoly *epol, TimeValue t)
 
virtual void EpResetSlicePlane ()
 
virtual void EpGetSlicePlane (Point3 &planeNormal, Point3 &planeCenter, float *planeSize=NULL)
 
virtual void EpSetSlicePlane (Point3 &planeNormal, Point3 &planeCenter, float planeSize)
 
virtual Color GetVertexColor (bool *uniform=NULL, int *num=NULL, int mp=0, DWORD flag=MN_SEL, TimeValue t=0)
 
virtual void SetVertexColor (Color clr, int mp=0, DWORD flag=MN_SEL, TimeValue t=0)
 
virtual Color GetFaceColor (bool *uniform=NULL, int *num=NULL, int mp=0, DWORD flag=MN_SEL, TimeValue t=0)
 
virtual void SetFaceColor (Color clr, int mp=0, DWORD flag=MN_SEL, TimeValue t=0)
 
virtual float GetVertexDataValue (int channel, int *numSel, bool *uniform, DWORD vertexFlags, TimeValue t)
 
virtual float GetEdgeDataValue (int channel, int *numSel, bool *uniform, DWORD edgeFlags, TimeValue t)
 
virtual void SetVertexDataValue (int channel, float w, DWORD vertexFlags, TimeValue t)
 
virtual void SetEdgeDataValue (int channel, float w, DWORD edgeFlags, TimeValue t)
 
virtual void ResetVertexData (int channel)
 
virtual void ResetEdgeData (int channel)
 
virtual void BeginPerDataModify (int mnSelLevel, int channel)
 
virtual bool InPerDataModify ()
 
virtual void EndPerDataModify (bool success)
 
virtual void BeginVertexColorModify (int mp=0)
 
virtual bool InVertexColorModify ()
 
virtual void EndVertexColorModify (bool success)
 
virtual int GetMatIndex (bool *determined)
 
virtual void SetMatIndex (int index, DWORD flag=MN_SEL)
 
virtual void GetSmoothingGroups (DWORD faceFlag, DWORD *anyFaces, DWORD *allFaces=NULL)
 
virtual void SetSmoothBits (DWORD bits, DWORD bitmask, DWORD flag)
 
virtual void SetDisplacementParams ()
 
virtual void UpdateDisplacementParams ()
 
virtual void UseDisplacementPreset (int presetNumber)
 
virtual void EpfnBeginExtrude (int msl, DWORD flag, TimeValue t)
 
virtual void EpfnEndExtrude (bool accept, TimeValue t)
 
virtual void EpfnDragExtrude (float amount, TimeValue t)
 
virtual void EpfnBeginBevel (int msl, DWORD flag, bool doExtrude, TimeValue t)
 
virtual void EpfnEndBevel (bool accept, TimeValue t)
 
virtual void EpfnDragBevel (float outline, float height, TimeValue t)
 
virtual void EpfnBeginChamfer (int msl, TimeValue t)
 
virtual void EpfnEndChamfer (bool accept, TimeValue t)
 
virtual void EpfnDragChamfer (float amount, TimeValue t)
 
virtual bool EpfnHide (int msl, DWORD flags)
 
virtual bool EpfnUnhideAll (int msl)
 
virtual void EpfnNamedSelectionCopy (MSTR setName)
 
virtual void EpfnNamedSelectionPaste (bool useDlgToRename)
 
virtual int EpfnCreateVertex (Point3 pt, bool pt_local=false, bool select=true)
 
virtual int EpfnCreateEdge (int v1, int v2, bool select=true)
 
virtual int EpfnCreateFace (int *v, int deg, bool select=true)
 
virtual bool EpfnCapHoles (int msl=MNM_SL_EDGE, DWORD targetFlags=MN_SEL)
 
virtual bool EpfnDelete (int msl, DWORD delFlag=MN_SEL, bool delIsoVerts=false)
 
virtual void EpfnAttach (INode *node, bool &canUndo, INode *myNode, TimeValue t)
 
virtual void EpfnMultiAttach (INodeTab &nodeTab, INode *myNode, TimeValue t)
 
virtual bool EpfnDetachToElement (int msl, DWORD flag, bool keepOriginal)
 
virtual bool EpfnDetachToObject (MSTR name, int msl, DWORD flag, bool keepOriginal, INode *myNode, TimeValue t)
 
virtual bool EpfnSplitEdges (DWORD flag=MN_SEL)
 
virtual bool EpfnBreakVerts (DWORD flag=MN_SEL)
 
virtual int EpfnDivideFace (int face, Tab< float > &bary, bool select=true)
 
virtual int EpfnDivideEdge (int edge, float prop, bool select=true)
 
virtual bool EpfnCollapse (int msl, DWORD flag)
 
virtual void EpfnExtrudeFaces (float amount, DWORD flag, TimeValue t)
 
virtual void EpfnBevelFaces (float height, float outline, DWORD flag, TimeValue t)
 
virtual void EpfnChamferVertices (float amount, TimeValue t)
 
virtual void EpfnChamferEdges (float amount, TimeValue t)
 
virtual bool EpfnSlice (Point3 planeNormal, Point3 planeCenter, bool flaggedFacesOnly=false, DWORD faceFlags=MN_SEL)
 
virtual bool EpfnInSlicePlaneMode ()
 
virtual int EpfnCutVertex (int startv, Point3 destination, Point3 projDir)
 
virtual int EpfnCutEdge (int e1, float prop1, int e2, float prop2, Point3 projDir)
 
virtual int EpfnCutFace (int f1, Point3 p1, Point3 p2, Point3 projDir)
 
virtual bool EpfnWeldVerts (int vert1, int vert2, Point3 destination)
 
virtual bool EpfnWeldEdges (int edge1, int edge2)
 
virtual bool EpfnWeldFlaggedVerts (DWORD flag)
 
virtual bool EpfnWeldFlaggedEdges (DWORD flag)
 
virtual bool EpfnCreateShape (MSTR name, bool smooth, INode *myNode, DWORD edgeFlag=MN_SEL)
 
virtual bool EpfnMakePlanar (int msl, DWORD flag=MN_SEL, TimeValue t=0)
 
virtual bool EpfnMoveToPlane (Point3 planeNormal, float planeOffset, int msl, DWORD flag=MN_SEL, TimeValue t=0)
 
virtual bool EpfnAlignToGrid (int msl, DWORD flag=MN_SEL)
 
virtual bool EpfnAlignToView (int msl, DWORD flag=MN_SEL)
 
virtual bool EpfnDeleteIsoVerts ()
 
virtual bool EpfnMeshSmooth (int msl, DWORD flag=MN_SEL)
 
virtual bool EpfnTessellate (int msl, DWORD flag=MN_SEL)
 
virtual void EpfnForceSubdivision ()
 
virtual void EpfnSelectVertByColor (BOOL add, BOOL sub, int mp=0, TimeValue t=0)
 
virtual void EpfnSetDiagonal (int face, int corner1, int corner2)
 
virtual bool EpfnRetriangulate (DWORD flag=MN_SEL)
 
virtual bool EpfnFlipNormals (DWORD flag=MN_SEL)
 
virtual void EpfnSelectByMat (int index, bool clear, TimeValue t)
 
virtual void EpfnSelectBySmoothGroup (DWORD bits, BOOL clear, TimeValue t)
 
virtual void EpfnAutoSmooth (TimeValue t)
 
virtual void CollapseDeadStructs ()
 
virtual int EpfnPropagateComponentFlags (int slTo, DWORD flTo, int slFrom, DWORD flFrom, bool ampersand=FALSE, bool set=TRUE, bool undoable=FALSE)
 
- 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 EPoly13
enum  ManipulateGrips {
  eSoftSelFalloff = 0 , eSoftSelPinch , eSoftSelBubble , eSetFlow ,
  eLoopShift , eRingShift , eEdgeCrease , eEdgeWeight ,
  eVertexWeight , eVertexCrease , EPolyManipulatorGripCount
}
 
- Protected Member Functions inherited from EPoly13
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 extends EPoly with new functionality, for new hard/smooth edge workflow.

Member Function Documentation

◆ FN_1() [1/2]

◆ FN_1() [2/2]

◆ VFN_0() [1/2]

◆ VFN_0() [2/2]

◆ EpfnMakeHardEdges()

virtual bool EpfnMakeHardEdges ( DWORD  flag)
pure virtual

Make the edges marked with the specified flag hard (unsmoothed)

Parameters
flag- Edges marked with this flag (MNMesh Flags) will be set to hard if possible by setting appropriate smoothing groups in adjacent faces.
Returns
true if any faces had smooothing groups altered

◆ EpfnMakeSmoothEdges()

virtual bool EpfnMakeSmoothEdges ( DWORD  flag)
pure virtual

Make the edges marked with the specified flag smooth.

Parameters
flag- Edges marked with this flag (MNMesh Flags) will be set to smooth if possible by setting appropriate smoothing groups in adjacent faces.
Returns
true if any faces had smooothing groups altered

◆ EpfnSelectHardEdges()

virtual void EpfnSelectHardEdges ( )
pure virtual

Select hard (unsmoothed) edges.

This operation selects edges between any faces which do not share any smoothing groups.

◆ EpfnSelectSmoothEdges()

virtual void EpfnSelectSmoothEdges ( )
pure virtual

Select smoothed edges.

This operation selects edges between any faces which share any smoothing groups.