Ok, why did the line endings on some of the files change? That doesn't make any sense.
Joe On Mon, Mar 16, 2009 at 8:15 AM, Joseph Eagar <[email protected]> wrote: > Revision: 19312 > > http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19312 > Author: joeedh > Date: 2009-03-16 15:15:18 +0100 (Mon, 16 Mar 2009) > > Log Message: > ----------- > edge subdivide ops now use bmesh code, rather then just the test bmesh op. > also, got bmesh edge subdivide's smooth subdivide mode to work (fractal > already worked I think, not sure). > > Modified Paths: > -------------- > branches/bmesh/blender/source/blender/bmesh/bmesh_operators.h > branches/bmesh/blender/source/blender/bmesh/intern/bmesh_opdefines.c > branches/bmesh/blender/source/blender/bmesh/intern/bmesh_polygon.c > branches/bmesh/blender/source/blender/bmesh/intern/bmesh_private.h > branches/bmesh/blender/source/blender/bmesh/operators/subdivideop.c > branches/bmesh/blender/source/blender/bmesh/operators/triangulateop.c > branches/bmesh/blender/source/blender/editors/mesh/editmesh.c > branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c > branches/bmesh/blender/source/blender/editors/mesh/editmesh_tools.c > branches/bmesh/blender/source/blender/editors/space_view3d/drawobject.c > branches/bmesh/blender/source/blender/makesdna/DNA_meshdata_types.h > > Modified: branches/bmesh/blender/source/blender/bmesh/bmesh_operators.h > =================================================================== > --- branches/bmesh/blender/source/blender/bmesh/bmesh_operators.h > 2009-03-16 11:43:02 UTC (rev 19311) > +++ branches/bmesh/blender/source/blender/bmesh/bmesh_operators.h > 2009-03-16 14:15:18 UTC (rev 19312) > @@ -1,198 +1,206 @@ > -#ifndef BM_OPERATORS_H > -#define BM_OPERATORS_H > - > -/*slot names and operator names appear in comments next to/above tbeir > - enumeration/define value*/ > - > -/*------------begin operator defines (see bmesh_opdefines.c > too)------------*/ > - > -/*split*/ > -#define BMOP_SPLIT 0 > - > -/*the split operator. splits geometry from the mesh.*/ > -enum { > - BMOP_SPLIT_MULTIN, /*geom*/ > - BMOP_SPLIT_MULTOUT, /*geomout*/ > - > - //bounding edges of split faces > - BMOP_SPLIT_BOUNDS_EDGEMAP, /*boundarymap*/ > - BMOP_SPLIT_ISOLATED_VERTS_MAP, /*isovertmap*/ > - BMOP_SPLIT_TOTSLOT, > -}; > - > -/*dupe*/ > -#define BMOP_DUPE 1 > - > -/*duplicates input geometry, and creates a bounds mapping between old/new > - edges along the boundary.*/ > -enum { > - BMOP_DUPE_MULTIN, /*geom*/ > - BMOP_DUPE_ORIG, /*origout*/ > - BMOP_DUPE_NEW, /*newout*/ > - /*we need a map for verts duplicated not connected > - to any faces, too.*/ > - BMOP_DUPE_BOUNDS_EDGEMAP, /*boundarymap*/ > - BMOP_DUPE_ISOLATED_VERTS_MAP, /*isovertmap*/ > - BMOP_DUPE_TOTSLOT > -}; > - > -/*del*/ > -#define BMOP_DEL 2 > - > -/*deletes input geometry, using on of several deletion methods > - specified by context.*/ > -enum { > - BMOP_DEL_MULTIN, /*geom*/ > - BMOP_DEL_CONTEXT, /*context*/ > - BMOP_DEL_TOTSLOT, > -}; > - > -/*context slot values*/ > -#define DEL_VERTS 1 > -#define DEL_EDGES 2 > -#define DEL_ONLYFACES 3 > -#define DEL_EDGESFACES 4 > -#define DEL_FACES 5 > -#define DEL_ALL 6 > -#define DEL_ONLYTAGGED 7 > - > -/*editmesh_to_bmesh*/ > -#define BMOP_FROM_EDITMESH 3 > - > -/*editmesh->bmesh op*/ > -enum { > - BMOP_FROM_EDITMESH_EM, /*em*/ > - > - /*maps old elements to new ones. > - coud do new elements to old too, > - in the future*/ > - BMOP_FROM_EDITMESH_MAP, > - BMOP_FROM_EDITMESH_TOTSLOT, > -}; > - > -/*bmesh_to_editmesh*/ > -#define BMOP_TO_EDITMESH 4 > - > -/*bmesh->editmesh op*/ > -enum { > - BMOP_TO_EDITMESH_EMOUT, /*emout*/ > - BMOP_TO_EDITMESH_TOTSLOT, > -}; > - > -/*esubd*/ > -#define BMOP_ESUBDIVIDE 5 > - > -/*edge subdivide op*/ > -enum { > - BMOP_ESUBDIVIDE_EDGES, /*edges*/ > - BMOP_ESUBDIVIDE_NUMCUTS, /*numcuts*/ > - > - //beauty flag in esubdivide > - BMOP_ESUBDIVIDE_FLAG, /*flag*/ > - BMOP_ESUBDIVIDE_RADIUS, /*radius*/ > - > - BMOP_ESUBDIVIDE_CUSTOMFILL_FACEMAP, /*custompatterns*/ > - BMOP_ESUBDIVIDE_PERCENT_EDGEMAP, /*edgepercents*/ > - > - /*inner verts/new faces of completely filled faces, e.g. > - fully selected face.*/ > - BMOP_ESUBDIVIDE_INNER_MULTOUT, /*outinner*/ > - > - /*new edges and vertices from splitting original edges, > - doesn't include edges creating by connecting verts.*/ > - BMOP_ESUBDIVIDE_SPLIT_MULTOUT, /*outsplit*/ > - BMOP_ESUBDIVIDE_TOTSLOT, > -}; > -/* > -SUBDIV_SELECT_INNER > -SUBDIV_SELECT_ORIG > -SUBDIV_SELECT_INNER_SEL > -SUBDIV_SELECT_LOOPCUT > -DOUBLEOPFILL > -*/ > - > -/*triangulate*/ > -#define BMOP_TRIANGULATE 6 > - > -/*triangle tesselator op*/ > -enum { > - BMOP_TRIANG_FACEIN, /*faces*/ > - BMOP_TRIANG_NEW_EDGES, /*edgeout*/ > - BMOP_TRIANG_NEW_FACES, /*faceout*/ > - BMOP_TRIANG_TOTSLOT, > -}; > - > -/*dissolvefaces*/ > -#define BMOP_DISSOLVE_FACES 7 > - > -/*dissolve faces*/ > -enum { > - BMOP_DISFACES_FACEIN, > - //list of faces that comprise regions of split faces > - BMOP_DISFACES_REGIONOUT, > - BMOP_DISFACES_TOTSLOT, > -}; > - > -/*dissolveverts*/ > -#define BMOP_DISSOLVE_VERTS 8 > - > -/*dissolve verts*/ > -enum { > - BMOP_DISVERTS_VERTIN, /*verts*/ > - BMOP_DISVERTS_TOTSLOT, > -}; > - > -/*makefgon*/ > -#define BMOP_MAKE_FGONS 9 > - > -#define BMOP_MAKE_FGONS_TOTSLOT 0 > - > -/*extrudefaceregion*/ > -#define BMOP_EXTRUDE_EDGECONTEXT 10 > -enum { > - BMOP_EXFACE_EDGEFACEIN, /*edgefacein*/ > - > - //exclude edges from skirt connecting > - BMOP_EXFACE_EXCLUDEMAP, /*exclude*/ > - > - //new geometry > - BMOP_EXFACE_MULTOUT, /*geomout*/ > - BMOP_EXFACE_TOTSLOT, > -}; > - > -/*connectverts*/ > -#define BMOP_CONNECT_VERTS 11 > -enum { > - BM_CONVERTS_VERTIN, /*verts*/ > - BM_CONVERTS_EDGEOUT, /*edgeout*/ > - BM_CONVERTS_TOTSLOT > -}; > - > -/*keep this updated!*/ > -#define BMOP_TOTAL_OPS 12 > -/*-------------------------------end operator > defines------------------------*/ > - > -extern BMOpDefine *opdefines[]; > -extern int bmesh_total_ops; > - > -/*------specific operator helper functions-------*/ > - > -/*executes the duplicate operation, feeding elements of > - type flag etypeflag and header flag flag to it. note, > - to get more useful information (such as the mapping from > - original to new elements) you should run the dupe op manually.*/ > -struct Object; > -struct EditMesh; > - > -void BMOP_DupeFromFlag(struct BMesh *bm, int etypeflag, int flag); > -void BM_esubdivideflag(struct Object *obedit, struct BMesh *bm, int selflag, > float rad, > - int flag, int numcuts, int seltype); > -void BM_extrudefaceflag(BMesh *bm, int flag); > - > -/*this next one return 1 if they did anything, or zero otherwise. > - they're kindof a hackish way to integrate with fkey, until > - such time as fkey is completely bmeshafied.*/ > -/*this doesn't display errors to the user, btw*/ > -int BM_ConnectVerts(struct EditMesh *em, int flag); > - > -#endif > +#ifndef BM_OPERATORS_H > +#define BM_OPERATORS_H > + > +/*slot names and operator names appear in comments next to/above tbeir > + enumeration/define value*/ > + > +/*------------begin operator defines (see bmesh_opdefines.c > too)------------*/ > + > +/*split*/ > +#define BMOP_SPLIT 0 > + > +/*the split operator. splits geometry from the mesh.*/ > +enum { > + BMOP_SPLIT_MULTIN, /*geom*/ > + BMOP_SPLIT_MULTOUT, /*geomout*/ > + > + //bounding edges of split faces > + BMOP_SPLIT_BOUNDS_EDGEMAP, /*boundarymap*/ > + BMOP_SPLIT_ISOLATED_VERTS_MAP, /*isovertmap*/ > + BMOP_SPLIT_TOTSLOT, > +}; > + > +/*dupe*/ > +#define BMOP_DUPE 1 > + > +/*duplicates input geometry, and creates a bounds mapping between old/new > + edges along the boundary.*/ > +enum { > + BMOP_DUPE_MULTIN, /*geom*/ > + BMOP_DUPE_ORIG, /*origout*/ > + BMOP_DUPE_NEW, /*newout*/ > + /*we need a map for verts duplicated not connected > + to any faces, too.*/ > + BMOP_DUPE_BOUNDS_EDGEMAP, /*boundarymap*/ > + BMOP_DUPE_ISOLATED_VERTS_MAP, /*isovertmap*/ > + BMOP_DUPE_TOTSLOT > +}; > + > +/*del*/ > +#define BMOP_DEL 2 > + > +/*deletes input geometry, using on of several deletion methods > + specified by context.*/ > +enum { > + BMOP_DEL_MULTIN, /*geom*/ > + BMOP_DEL_CONTEXT, /*context*/ > + BMOP_DEL_TOTSLOT, > +}; > + > +/*context slot values*/ > +#define DEL_VERTS 1 > +#define DEL_EDGES 2 > +#define DEL_ONLYFACES 3 > +#define DEL_EDGESFACES 4 > +#define DEL_FACES 5 > +#define DEL_ALL 6 > +#define DEL_ONLYTAGGED 7 > + > +/*editmesh_to_bmesh*/ > +#define BMOP_FROM_EDITMESH 3 > + > +/*editmesh->bmesh op*/ > +enum { > + BMOP_FROM_EDITMESH_EM, /*em*/ > + > + /*maps old elements to new ones. > + coud do new elements to old too, > + in the future*/ > + BMOP_FROM_EDITMESH_MAP, > + BMOP_FROM_EDITMESH_TOTSLOT, > +}; > + > +/*bmesh_to_editmesh*/ > +#define BMOP_TO_EDITMESH 4 > + > +/*bmesh->editmesh op*/ > +enum { > + BMOP_TO_EDITMESH_EMOUT, /*emout*/ > + BMOP_TO_EDITMESH_TOTSLOT, > +}; > + > +/*esubd*/ > +#define BMOP_ESUBDIVIDE 5 > + > +/*edge subdivide op*/ > +enum { > + BMOP_ESUBDIVIDE_EDGES, /*edges*/ > + BMOP_ESUBDIVIDE_NUMCUTS, /*numcuts*/ > + > + //beauty flag in esubdivide > + BMOP_ESUBDIVIDE_FLAG, /*flag*/ > + BMOP_ESUBDIVIDE_RADIUS, /*radius*/ > + > + BMOP_ESUBDIVIDE_CUSTOMFILL_FACEMAP, /*custompatterns*/ > + BMOP_ESUBDIVIDE_PERCENT_EDGEMAP, /*edgepercents*/ > + > + /*inner verts/new faces of completely filled faces, e.g. > + fully selected face.*/ > + BMOP_ESUBDIVIDE_INNER_MULTOUT, /*outinner*/ > + > + /*new edges and vertices from splitting original edges, > + doesn't include edges creating by connecting verts.*/ > + BMOP_ESUBDIVIDE_SPLIT_MULTOUT, /*outsplit*/ > + BMOP_ESUBDIVIDE_TOTSLOT, > +}; > +/* > +SUBDIV_SELECT_INNER > +SUBDIV_SELECT_ORIG > +SUBDIV_SELECT_INNER_SEL > +SUBDIV_SELECT_LOOPCUT > +DOUBLEOPFILL > +*/ > + > +/*triangulate*/ > +#define BMOP_TRIANGULATE 6 > + > +/*triangle tesselator op*/ > +enum { > + BMOP_TRIANG_FACEIN, /*faces*/ > + BMOP_TRIANG_NEW_EDGES, /*edgeout*/ > + BMOP_TRIANG_NEW_FACES, /*faceout*/ > + > + /*facemap, maps new faces to old one. since triangulator > + uses only split face, the original ngon face is still there, > + though it's just another triangle now.*/ > + BMOP_TRIANG_FACEMAP, > + BMOP_TRIANG_TOTSLOT, > +}; > + > +/*dissolvefaces*/ > +#define BMOP_DISSOLVE_FACES 7 > + > +/*dissolve faces*/ > +enum { > + BMOP_DISFACES_FACEIN, > + //list of faces that comprise regions of split faces > + BMOP_DISFACES_REGIONOUT, > + BMOP_DISFACES_TOTSLOT, > +}; > + > +/*dissolveverts*/ > +#define BMOP_DISSOLVE_VERTS 8 > + > +/*dissolve verts*/ > +enum { > + BMOP_DISVERTS_VERTIN, /*verts*/ > + BMOP_DISVERTS_TOTSLOT, > +}; > + > +/*makefgon*/ > +#define BMOP_MAKE_FGONS 9 > + > +#define BMOP_MAKE_FGONS_TOTSLOT 0 > + > +/*extrudefaceregion*/ > +#define BMOP_EXTRUDE_EDGECONTEXT 10 > +enum { > + BMOP_EXFACE_EDGEFACEIN, /*edgefacein*/ > + > + //exclude edges from skirt connecting > + BMOP_EXFACE_EXCLUDEMAP, /*exclude*/ > + > + //new geometry > + BMOP_EXFACE_MULTOUT, /*geomout*/ > + BMOP_EXFACE_TOTSLOT, > +}; > + > +/*connectverts*/ > +#define BMOP_CONNECT_VERTS 11 > +enum { > + BM_CONVERTS_VERTIN, /*verts*/ > + BM_CONVERTS_EDGEOUT, /*edgeout*/ > + BM_CONVERTS_TOTSLOT > +}; > + > +/*keep this updated!*/ > +#define BMOP_TOTAL_OPS 12 > +/*-------------------------------end operator > defines------------------------*/ > + > +extern BMOpDefine *opdefines[]; > +extern int bmesh_total_ops; > + > +/*------specific operator helper functions-------*/ > + > +/*executes the duplicate operation, feeding elements of > + type flag etypeflag and header flag flag to it. note, > + to get more useful information (such as the mapping from > + original to new elements) you should run the dupe op manually.*/ > +struct Object; > +struct EditMesh; > + > +void BMOP_DupeFromFlag(struct BMesh *bm, int etypeflag, int flag); > +void BM_esubdivideflag(struct Object *obedit, struct BMesh *bm, int selflag, > float rad, > + int flag, int numcuts, int seltype); > +void BM_esubdivideflag_conv(struct Object *obedit, struct EditMesh *em, > + int selflag, float rad, int flag, int numcuts, > + int seltype); > +void BM_extrudefaceflag(BMesh *bm, int flag); > + > +/*this next one return 1 if they did anything, or zero otherwise. > + they're kindof a hackish way to integrate with fkey, until > + such time as fkey is completely bmeshafied.*/ > +/*this doesn't display errors to the user, btw*/ > +int BM_ConnectVerts(struct EditMesh *em, int flag); > + > +#endif > > Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_opdefines.c > =================================================================== > --- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_opdefines.c > 2009-03-16 11:43:02 UTC (rev 19311) > > @@ Diff output truncated at 10240 characters. @@ > > _______________________________________________ > Bf-blender-cvs mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-blender-cvs > _______________________________________________ Bf-blender-cvs mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-blender-cvs
