meshdelta.h File Reference
         
    
#include "maxheap.h"
#include "export.h"
#include "meshadj.h"
|  | 
| enum | meshCommandMode { McmCreate, 
McmAttach, 
McmExtrude, 
McmBevel,
 McmChamfer, 
McmSlicePlane, 
McmCut, 
McmWeldTarget,
 McmFlipNormalMode, 
McmDivide, 
McmTurnEdge, 
McmEditSoftSelection
 }
 | 
|  | 
| enum | meshButtonOp { MopHide, 
MopUnhideAll, 
MopDelete, 
MopDetach,
 MopBreak, 
MopViewAlign, 
MopGridAlign, 
MopMakePlanar,
 MopCollapse, 
MopTessellate, 
MopExplode, 
MopSlice,
 MopWeld, 
MopRemoveIsolatedVerts, 
MopSelectOpenEdges, 
MopCreateShapeFromEdges,
 MopShowNormal, 
MopFlipNormal, 
MopUnifyNormal, 
MopAutoSmooth,
 MopVisibleEdge, 
MopInvisibleEdge, 
MopAutoEdge, 
MopAttachList,
 MopSelectByID, 
MopSelectBySG, 
MopClearAllSG, 
MopSelectByColor,
 MopCopyNS, 
MopPasteNS, 
MopEditVertColor, 
MopEditVertIllum
 }
 | 
|  | 
| enum | meshUIParam { MuiSelByVert, 
MuiIgBack, 
MuiIgnoreVis, 
MuiSoftSel,
 MuiSSUseEDist, 
MuiSSEDist, 
MuiSSBack, 
MuiWeldBoxSize,
 MuiExtrudeType, 
MuiShowVNormals, 
MuiShowFNormals, 
MuiSliceSplit,
 MuiCutRefine, 
MuiPolyThresh, 
MuiFalloff, 
MuiPinch,
 MuiBubble, 
MuiWeldDist, 
MuiNormalSize, 
MuiDeleteIsolatedVerts
 }
 | 
|  | 
      
        
          | #define MDELTA_VMOVE   0x0001 | 
      
 
 
      
        
          | #define MDELTA_VCLONE   0x0004 | 
      
 
 
      
        
          | #define MDELTA_VDELETE   0x0008 | 
      
 
 
      
        
          | #define MDELTA_VDATA   0x0010 | 
      
 
 
      
        
          | #define MDELTA_FREMAP   0x0020 | 
      
 
 
      
        
          | #define MDELTA_FCHANGE   0x0040 | 
      
 
 
      
        
          | #define MDELTA_FCREATE   0x0080 | 
      
 
 
      
        
          | #define MDELTA_FDELETE   0x0100 | 
      
 
 
      
        
          | #define MDELTA_FDATA   0x0200 | 
      
 
 
      
        
          | #define MDELTA_NUMBERS   0x0400 | 
      
 
 
      
        
          | #define MDELTA_FSMOOTH   0x0800 | 
      
 
 
      
        
          | #define MDELTA_ALL   0xffff | 
      
 
 
      
        
          | #define ATTRIB_EDGE_A   (1<<0) | 
      
 
Alter edge between v0 and v1. 
 
 
      
        
          | #define ATTRIB_EDGE_B   (1<<1) | 
      
 
Alter edge between v1 and v2. 
 
 
      
        
          | #define ATTRIB_EDGE_C   (1<<2) | 
      
 
Alter edge between v2 and v0. 
 
 
      
        
          | #define ATTRIB_EDGE_ALL   7 | 
      
 
 
      
        
          | #define ATTRIB_HIDE_FACE   (1<<3) | 
      
 
Alter the face hidden state. 
 
 
      
        
          | #define ATTRIB_MATID   (1<<4) | 
      
 
 
      
        
          | #define ATTRIB_MATID_SHIFT   5 | 
      
 
 
      
        
          | #define ATTRIB_MATID_MASK   0xffff | 
      
 
 
      
        
          | #define EM_SHORTCUT_ID   0x38ba1366 | 
      
 
 
      
        
          | #define MDUID_EM_SELTYPE   40001 | 
      
 
 
      
        
          | #define MDUID_EM_SELTYPE_BACK   40002 | 
      
 
 
      
        
          | #define MDUID_EM_SELTYPE_VERTEX   40003 | 
      
 
 
      
        
          | #define MDUID_EM_SELTYPE_EDGE   40004 | 
      
 
 
      
        
          | #define MDUID_EM_SELTYPE_FACE   40005 | 
      
 
 
      
        
          | #define MDUID_EM_SELTYPE_POLYGON   40006 | 
      
 
 
      
        
          | #define MDUID_EM_SELTYPE_ELEMENT   40007 | 
      
 
 
      
        
          | #define MDUID_EM_SELTYPE_OBJ   40008 | 
      
 
 
      
        
          | #define MDUID_EM_AUTOSMOOTH   40009 | 
      
 
 
      
        
          | #define MDUID_EM_ATTACH   40010 | 
      
 
 
      
        
          | #define MDUID_EM_BREAK   40011 | 
      
 
 
      
        
          | #define MDUID_EM_IGBACK   40012 | 
      
 
 
      
        
          | #define MDUID_EM_BEVEL   40013 | 
      
 
 
      
        
          | #define MDUID_EM_CREATE   40014 | 
      
 
 
      
        
          | #define MDUID_EM_CUT   40015 | 
      
 
 
      
        
          | #define MDUID_EM_DIVIDE   40016 | 
      
 
 
      
        
          | #define MDUID_EM_EXTRUDE   40017 | 
      
 
 
      
        
          | #define MDUID_EM_FLIPNORM   40018 | 
      
 
 
      
        
          | #define MDUID_EM_SS_BACKFACE   40019 | 
      
 
 
      
        
          | #define MDUID_EM_UNIFY_NORMALS   40020 | 
      
 
 
      
        
          | #define MDUID_EM_HIDE   40021 | 
      
 
 
      
        
          | #define MDUID_EM_EDGE_INVIS   40022 | 
      
 
 
      
        
          | #define MDUID_EM_IGNORE_INVIS   40023 | 
      
 
 
      
        
          | #define MDUID_EM_IGNORE_INVIS   40023 | 
      
 
 
      
        
          | #define MDUID_EM_COLLAPSE   40024 | 
      
 
 
      
        
          | #define MDUID_EM_SHOWNORMAL   40025 | 
      
 
 
      
        
          | #define MDUID_EM_SELOPEN   40026 | 
      
 
 
      
        
          | #define MDUID_EM_REMOVE_ISO   40027 | 
      
 
 
      
        
          | #define MDUID_EM_SLICEPLANE   40028 | 
      
 
 
      
        
          | #define MDUID_EM_SOFTSEL   40029 | 
      
 
 
      
        
          | #define MDUID_EM_SLICE   40030 | 
      
 
 
      
        
          | #define MDUID_EM_DETACH   40031 | 
      
 
 
      
        
          | #define MDUID_EM_TURNEDGE   40032 | 
      
 
 
      
        
          | #define MDUID_EM_UNHIDE   40033 | 
      
 
 
      
        
          | #define MDUID_EM_EDGE_VIS   40034 | 
      
 
 
      
        
          | #define MDUID_EM_SELBYVERT   40035 | 
      
 
 
      
        
          | #define MDUID_EM_AUTOEDGE   40036 | 
      
 
 
      
        
          | #define MDUID_EM_WELD   40038 | 
      
 
 
      
        
          | #define MDUID_EM_EXPLODE   40039 | 
      
 
 
      
        
          | #define MDUID_EM_CHAMFER   40040 | 
      
 
 
      
        
          | #define MDUID_EM_WELD_TARGET   40041 | 
      
 
 
      
        
          | #define MDUID_EM_ATTACH_LIST   40042 | 
      
 
 
      
        
          | #define MDUID_EM_VIEW_ALIGN   40043 | 
      
 
 
      
        
          | #define MDUID_EM_GRID_ALIGN   40044 | 
      
 
 
      
        
          | #define MDUID_EM_SPLIT   40045 | 
      
 
 
      
        
          | #define MDUID_EM_REFINE_CUTENDS   40046 | 
      
 
 
      
        
          | #define MDUID_EM_COPY_NAMEDSEL   40047 | 
      
 
 
      
        
          | #define MDUID_EM_PASTE_NAMEDSEL   40048 | 
      
 
 
      
        
          | #define MDUID_EM_MAKE_PLANAR   40049 | 
      
 
 
      
        
          | #define MDUID_EM_VERT_COLOR   40050 | 
      
 
 
      
        
          | #define MDUID_EM_VERT_ILLUM   40051 | 
      
 
 
      
        
          | #define MDUID_EM_FLIP_NORMAL_MODE   40052 | 
      
 
 
| Enumerator | 
|---|
| McmCreate |  | 
| McmAttach |  | 
| McmExtrude |  | 
| McmBevel |  | 
| McmChamfer |  | 
| McmSlicePlane |  | 
| McmCut |  | 
| McmWeldTarget |  | 
| McmFlipNormalMode |  | 
| McmDivide |  | 
| McmTurnEdge |  | 
| McmEditSoftSelection |  | 
Definition: meshdelta.h:2304
Definition: meshdelta.h:2305
Definition: meshdelta.h:2305
Definition: meshdelta.h:2305
Definition: meshdelta.h:2304
Definition: meshdelta.h:2304
Definition: meshdelta.h:2305
Definition: meshdelta.h:2304
Definition: meshdelta.h:2305
Definition: meshdelta.h:2304
Definition: meshdelta.h:2305
Definition: meshdelta.h:2305
 
 
 
| Enumerator | 
|---|
| MopHide |  | 
| MopUnhideAll |  | 
| MopDelete |  | 
| MopDetach |  | 
| MopBreak |  | 
| MopViewAlign |  | 
| MopGridAlign |  | 
| MopMakePlanar |  | 
| MopCollapse |  | 
| MopTessellate |  | 
| MopExplode |  | 
| MopSlice |  | 
| MopWeld |  | 
| MopRemoveIsolatedVerts |  | 
| MopSelectOpenEdges |  | 
| MopCreateShapeFromEdges |  | 
| MopShowNormal |  | 
| MopFlipNormal |  | 
| MopUnifyNormal |  | 
| MopAutoSmooth |  | 
| MopVisibleEdge |  | 
| MopInvisibleEdge |  | 
| MopAutoEdge |  | 
| MopAttachList |  | 
| MopSelectByID |  | 
| MopSelectBySG |  | 
| MopClearAllSG |  | 
| MopSelectByColor |  | 
| MopCopyNS |  | 
| MopPasteNS |  | 
| MopEditVertColor |  | 
| MopEditVertIllum |  | 
Definition: meshdelta.h:2309
Definition: meshdelta.h:2310
Definition: meshdelta.h:2310
Definition: meshdelta.h:2308
Definition: meshdelta.h:2307
Definition: meshdelta.h:2306
Definition: meshdelta.h:2308
Definition: meshdelta.h:2309
Definition: meshdelta.h:2307
Definition: meshdelta.h:2311
Definition: meshdelta.h:2307
Definition: meshdelta.h:2308
Definition: meshdelta.h:2309
Definition: meshdelta.h:2309
Definition: meshdelta.h:2311
Definition: meshdelta.h:2310
Definition: meshdelta.h:2306
Definition: meshdelta.h:2309
Definition: meshdelta.h:2310
Definition: meshdelta.h:2306
Definition: meshdelta.h:2307
Definition: meshdelta.h:2309
Definition: meshdelta.h:2306
Definition: meshdelta.h:2307
Definition: meshdelta.h:2311
Definition: meshdelta.h:2306
Definition: meshdelta.h:2311
Definition: meshdelta.h:2308
Definition: meshdelta.h:2306
Definition: meshdelta.h:2310
Definition: meshdelta.h:2307
Definition: meshdelta.h:2307
 
 
 
| Enumerator | 
|---|
| MuiSelByVert |  | 
| MuiIgBack |  | 
| MuiIgnoreVis |  | 
| MuiSoftSel |  | 
| MuiSSUseEDist |  | 
| MuiSSEDist |  | 
| MuiSSBack |  | 
| MuiWeldBoxSize |  | 
| MuiExtrudeType |  | 
| MuiShowVNormals |  | 
| MuiShowFNormals |  | 
| MuiSliceSplit |  | 
| MuiCutRefine |  | 
| MuiPolyThresh |  | 
| MuiFalloff |  | 
| MuiPinch |  | 
| MuiBubble |  | 
| MuiWeldDist |  | 
| MuiNormalSize |  | 
| MuiDeleteIsolatedVerts |  | 
Definition: meshdelta.h:2313
Definition: meshdelta.h:2315
Definition: meshdelta.h:2313
Definition: meshdelta.h:2316
Definition: meshdelta.h:2313
Definition: meshdelta.h:2315
Definition: meshdelta.h:2312
Definition: meshdelta.h:2312
Definition: meshdelta.h:2313
Definition: meshdelta.h:2313
Definition: meshdelta.h:2315
Definition: meshdelta.h:2314
Definition: meshdelta.h:2314
Definition: meshdelta.h:2312
Definition: meshdelta.h:2315
Definition: meshdelta.h:2315
Definition: meshdelta.h:2312
Definition: meshdelta.h:2315
Definition: meshdelta.h:2314
Definition: meshdelta.h:2312
 
 
 
- Parameters:
- Mesh &m The mesh containing the vertices used in the polygon. int deg The size of the polygon. int *vv The vertex indices of the polygon, in order around the perimeter. For instance, if deg is 5 and w points to an array containing (3, 6, 8, 0, 7), the polygon is presumed to have the outline described by m.verts[3], m.verts[6], m.verts[8], m.verts[0], and m.verts[7]. int *tri This is where the output is placed. Note that this should point to an array of size at least (deg-2)*3, to hold all the triangles. The values placed in this array are indices into the w array – that is, given a 5-sided polygon, one triangle in this list might be (0,2,3), indicating you should use the 0th, 2nd, and 3rd elements of w to form the triangle. Put another way, to make a face from the n'th triangle given by this array, you would set: f.v[0] = w[tri[n*3+0]]; f.v[1] = w[tri[n*3+1]]; f.v[2] = w[tri[n*3+2]];