rna: move metaball.active_element to metaball.elements.active
[blender.git] / source / blender / blenkernel / intern / mball.c
index e35d8bce88664d40016e731b46b76095553f0984..e6f38e04d76c81dcb9461bd46a6a34091c87c46b 100644 (file)
@@ -176,6 +176,55 @@ void make_local_mball(MetaBall *mb)
                }
        }
 }
+
+/* most simple meta-element adding function
+ * dont do context menipulation here (rna uses) */
+MetaElem *add_metaball_element(MetaBall *mb, const int type)
+{
+       MetaElem *ml= MEM_callocN(sizeof(MetaElem), "metaelem");
+
+       unit_qt(ml->quat);
+
+       ml->rad= 2.0;
+       ml->s= 2.0;
+       ml->flag= MB_SCALE_RAD;
+
+       switch(type) {
+       case MB_BALL:
+               ml->type = MB_BALL;
+               ml->expx= ml->expy= ml->expz= 1.0;
+
+               break;
+       case MB_TUBE:
+               ml->type = MB_TUBE;
+               ml->expx= ml->expy= ml->expz= 1.0;
+
+               break;
+       case MB_PLANE:
+               ml->type = MB_PLANE;
+               ml->expx= ml->expy= ml->expz= 1.0;
+
+               break;
+       case MB_ELIPSOID:
+               ml->type = MB_ELIPSOID;
+               ml->expx= 1.2f;
+               ml->expy= 0.8f;
+               ml->expz= 1.0;
+               
+               break;
+       case MB_CUBE:
+               ml->type = MB_CUBE;
+               ml->expx= ml->expy= ml->expz= 1.0;
+
+               break;
+       default:
+               break;
+       }
+
+       BLI_addtail(&mb->elems, ml);
+
+       return ml;
+}
 /** Compute bounding box of all MetaElems/MetaBalls.
  *
  * Bounding box is computed from polygonized surface. Object *ob is