diff options
author | Ben Batt <benbatt@gmail.com> | 2006-08-28 05:12:36 +0400 |
---|---|---|
committer | Ben Batt <benbatt@gmail.com> | 2006-08-28 05:12:36 +0400 |
commit | 433f6c7043c06d8d0330fa69f63d475549b48e91 (patch) | |
tree | d147f943e4cfcc2f0df50818e18f983772a52c22 /source/blender/src/editmesh.c | |
parent | 5dbc4c5f8fda61da055a2186a5080feec96828c0 (diff) |
Integration of the Google Summer of Code Modifier Stack Upgrade project. The
main features are:
* Modifiers can now be in any order in the modifier stack
* DerivedMesh now has a standard framework for custom element data to be passed
through the stack with mesh data (being copied and interpolated as
appropriate), so modifiers can access whatever data they need
* The modifier stack code has been refactored and a number of bugs have been
removed
* The EdgeSplit modifier has been added:
http://mediawiki.blender.org/index.php/BlenderDev/EdgeSplitModifier
* The DerivedMesh modifier has been added:
http://mediawiki.blender.org/index.php/BlenderDev/DisplaceModifier
* The UVProject modifier has been added:
http://mediawiki.blender.org/index.php/BlenderDev/UVProjectModifier
For more info, see:
http://mediawiki.blender.org/index.php/User:Artificer/ModifierStackUpgrade
(currently undergoing reorganisation)
Diffstat (limited to 'source/blender/src/editmesh.c')
-rw-r--r-- | source/blender/src/editmesh.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/src/editmesh.c b/source/blender/src/editmesh.c index 6c351a09dc4..72b118b56a2 100644 --- a/source/blender/src/editmesh.c +++ b/source/blender/src/editmesh.c @@ -286,6 +286,7 @@ EditEdge *addedgelist(EditVert *v1, EditVert *v2, EditEdge *example) rule is to do this with addedgelist call, before addfacelist */ if(example) { eed->crease= example->crease; + eed->sharp = example->sharp; eed->seam = example->seam; eed->h |= (example->h & EM_FGON); } @@ -858,6 +859,7 @@ void make_editMesh() eed->crease= ((float)medge->crease)/255.0; if(medge->flag & ME_SEAM) eed->seam= 1; + if(medge->flag & ME_SHARP) eed->sharp = 1; if(medge->flag & SELECT) eed->f |= SELECT; if(medge->flag & ME_FGON) eed->h= EM_FGON; // 2 different defines! if(medge->flag & ME_HIDE) eed->h |= 1; @@ -1081,6 +1083,7 @@ void load_editMesh(void) medge->flag= (eed->f & SELECT) | ME_EDGERENDER; if(eed->f2<2) medge->flag |= ME_EDGEDRAW; if(eed->f2==0) medge->flag |= ME_LOOSEEDGE; + if(eed->sharp) medge->flag |= ME_SHARP; if(eed->seam) medge->flag |= ME_SEAM; if(eed->h & EM_FGON) medge->flag |= ME_FGON; // different defines yes if(eed->h & 1) medge->flag |= ME_HIDE; @@ -1782,7 +1785,7 @@ typedef struct EditVertC typedef struct EditEdgeC { int v1, v2; - unsigned char f, h, seam, pad; + unsigned char f, h, seam, sharp, pad; short crease, fgoni; } EditEdgeC; @@ -1888,6 +1891,7 @@ static void *editMesh_to_undoMesh(void) eedc->f= eed->f; eedc->h= eed->h; eedc->seam= eed->seam; + eedc->sharp= eed->sharp; eedc->crease= (short)(eed->crease*255.0); eedc->fgoni= eed->fgoni; eed->tmp.l = a; /*store index*/ @@ -1983,6 +1987,7 @@ static void undoMesh_to_editMesh(void *umv) eed->f= eedc->f; eed->h= eedc->h; eed->seam= eedc->seam; + eed->sharp= eedc->sharp; eed->fgoni= eedc->fgoni; eed->crease= ((float)eedc->crease)/255.0; } |