Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2006-03-25 07:37:40 +0300
committerCampbell Barton <ideasman42@gmail.com>2006-03-25 07:37:40 +0300
commit84d8b0cafe387ee873749f2777c39e26a4ebeee0 (patch)
treee947f8f3f3f593c89e135e0ffd5df1add8665b8e /source/blender/src/editmesh_lib.c
parent927be3725aa01d847dc9a10b0c5fc0eec5114564 (diff)
Added select group meny to mesh editmode.
Currently only works for faces. Try Shift+G in face/editmode.
Diffstat (limited to 'source/blender/src/editmesh_lib.c')
-rw-r--r--source/blender/src/editmesh_lib.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/source/blender/src/editmesh_lib.c b/source/blender/src/editmesh_lib.c
index 9d67f62db2a..c3cd12f1ebf 100644
--- a/source/blender/src/editmesh_lib.c
+++ b/source/blender/src/editmesh_lib.c
@@ -1573,12 +1573,26 @@ int convex(float *v1, float *v2, float *v3, float *v4)
- edges having ->fgoni index set (for select)
*/
-static float editface_area(EditFace *efa)
+float EM_face_area(EditFace *efa)
{
if(efa->v4) return AreaQ3Dfl(efa->v1->co, efa->v2->co, efa->v3->co, efa->v4->co);
else return AreaT3Dfl(efa->v1->co, efa->v2->co, efa->v3->co);
}
+float EM_face_perimeter(EditFace *efa)
+{
+ if(efa->v4) return
+ VecLenf(efa->v1->co, efa->v2->co)+
+ VecLenf(efa->v2->co, efa->v3->co)+
+ VecLenf(efa->v3->co, efa->v4->co)+
+ VecLenf(efa->v4->co, efa->v1->co);
+
+ else return
+ VecLenf(efa->v1->co, efa->v2->co)+
+ VecLenf(efa->v2->co, efa->v3->co)+
+ VecLenf(efa->v3->co, efa->v1->co);
+}
+
void EM_fgon_flags(void)
{
EditMesh *em = G.editMesh;
@@ -1616,7 +1630,7 @@ void EM_fgon_flags(void)
if(efa->e4 && (efa->e4->h & EM_FGON)) efa->e4->fgoni= curindex;
// we search for largest face, to give facedot drawing rights
- maxsize= editface_area(efa);
+ maxsize= EM_face_area(efa);
efamax= efa;
// now flush curendex over edges and set faceflags
@@ -1636,7 +1650,7 @@ void EM_fgon_flags(void)
if(efan->e3->h & EM_FGON) efan->e3->fgoni= curindex;
if(efan->e4 && (efan->e4->h & EM_FGON)) efan->e4->fgoni= curindex;
- size= editface_area(efan);
+ size= EM_face_area(efan);
if(size>maxsize) {
efamax= efan;
maxsize= size;
@@ -1668,7 +1682,3 @@ void EM_fgon_flags(void)
}
}
-
-
-
-