diff options
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_construct.c')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_construct.c | 52 |
1 files changed, 35 insertions, 17 deletions
diff --git a/source/blender/bmesh/intern/bmesh_construct.c b/source/blender/bmesh/intern/bmesh_construct.c index fddb7b4bf2c..fa58ccd98bc 100644 --- a/source/blender/bmesh/intern/bmesh_construct.c +++ b/source/blender/bmesh/intern/bmesh_construct.c @@ -1002,18 +1002,28 @@ char BM_vert_flag_from_mflag(const char meflag) } char BM_edge_flag_from_mflag(const short meflag) { - return ( ((meflag & SELECT) ? BM_ELEM_SELECT : 0) | - ((meflag & ME_SEAM) ? BM_ELEM_SEAM : 0) | - ((meflag & ME_EDGEDRAW) ? BM_ELEM_DRAW : 0) | - ((meflag & ME_SHARP) == 0 ? BM_ELEM_SMOOTH : 0) | /* invert */ - ((meflag & ME_HIDE) ? BM_ELEM_HIDDEN : 0) + return ( ((meflag & SELECT) ? BM_ELEM_SELECT : 0) | + ((meflag & ME_SEAM) ? BM_ELEM_SEAM : 0) | + ((meflag & ME_EDGEDRAW) ? BM_ELEM_DRAW : 0) | + ((meflag & ME_SHARP) == 0 ? BM_ELEM_SMOOTH : 0) | /* invert */ + ((meflag & ME_HIDE) ? BM_ELEM_HIDDEN : 0) | +#ifdef WITH_FREESTYLE + ((meflag & ME_FREESTYLE_EDGE) ? BM_ELEM_FREESTYLE : 0) +#else + 0 +#endif ); } char BM_face_flag_from_mflag(const char meflag) { - return ( ((meflag & ME_FACE_SEL) ? BM_ELEM_SELECT : 0) | - ((meflag & ME_SMOOTH) ? BM_ELEM_SMOOTH : 0) | - ((meflag & ME_HIDE) ? BM_ELEM_HIDDEN : 0) + return ( ((meflag & ME_FACE_SEL) ? BM_ELEM_SELECT : 0) | + ((meflag & ME_SMOOTH) ? BM_ELEM_SMOOTH : 0) | + ((meflag & ME_HIDE) ? BM_ELEM_HIDDEN : 0) | +#ifdef WITH_FREESTYLE + ((meflag & ME_FREESTYLE_FACE) ? BM_ELEM_FREESTYLE : 0) +#else + 0 +#endif ); } @@ -1031,12 +1041,15 @@ short BM_edge_flag_to_mflag(BMEdge *eed) { const char hflag = eed->head.hflag; - return ( ((hflag & BM_ELEM_SELECT) ? SELECT : 0) | - ((hflag & BM_ELEM_SEAM) ? ME_SEAM : 0) | - ((hflag & BM_ELEM_DRAW) ? ME_EDGEDRAW : 0) | - ((hflag & BM_ELEM_SMOOTH) == 0 ? ME_SHARP : 0) | - ((hflag & BM_ELEM_HIDDEN) ? ME_HIDE : 0) | - ((BM_edge_is_wire(eed)) ? ME_LOOSEEDGE : 0) | /* not typical */ + return ( ((hflag & BM_ELEM_SELECT) ? SELECT : 0) | + ((hflag & BM_ELEM_SEAM) ? ME_SEAM : 0) | + ((hflag & BM_ELEM_DRAW) ? ME_EDGEDRAW : 0) | + ((hflag & BM_ELEM_SMOOTH) == 0 ? ME_SHARP : 0) | + ((hflag & BM_ELEM_HIDDEN) ? ME_HIDE : 0) | +#ifdef WITH_FREESTYLE + ((hflag & BM_ELEM_FREESTYLE) ? ME_FREESTYLE_EDGE : 0) | +#endif + ((BM_edge_is_wire(eed)) ? ME_LOOSEEDGE : 0) | /* not typical */ ME_EDGERENDER ); } @@ -1044,8 +1057,13 @@ char BM_face_flag_to_mflag(BMFace *efa) { const char hflag = efa->head.hflag; - return ( ((hflag & BM_ELEM_SELECT) ? ME_FACE_SEL : 0) | - ((hflag & BM_ELEM_SMOOTH) ? ME_SMOOTH : 0) | - ((hflag & BM_ELEM_HIDDEN) ? ME_HIDE : 0) + return ( ((hflag & BM_ELEM_SELECT) ? ME_FACE_SEL : 0) | + ((hflag & BM_ELEM_SMOOTH) ? ME_SMOOTH : 0) | + ((hflag & BM_ELEM_HIDDEN) ? ME_HIDE : 0) | +#ifdef WITH_FREESTYLE + ((hflag & BM_ELEM_FREESTYLE) ? ME_FREESTYLE_FACE : 0) +#else + 0 +#endif ); } |