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:
authorMitchell Stokes <mogurijin@gmail.com>2013-07-20 02:10:11 +0400
committerMitchell Stokes <mogurijin@gmail.com>2013-07-20 02:10:11 +0400
commit103ef7cacb5dd10aa2dfd5bb973c0dfd772885eb (patch)
tree8fd9a6b770998717f4555e7121fb16116b441865 /source/blender/blenkernel
parenteb21bdd249427465a093a078cda7864309a8f735 (diff)
parent869d654cccba8b9b0bc295e7ce89e8e322912023 (diff)
Merged changes from trunk r58324-58419.ge_dev
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_DerivedMesh.h2
-rw-r--r--source/blender/blenkernel/BKE_blender.h8
-rw-r--r--source/blender/blenkernel/BKE_fcurve.h2
-rw-r--r--source/blender/blenkernel/BKE_key.h2
-rw-r--r--source/blender/blenkernel/intern/action.c6
-rw-r--r--source/blender/blenkernel/intern/armature.c4
-rw-r--r--source/blender/blenkernel/intern/cdderivedmesh.c2
-rw-r--r--source/blender/blenkernel/intern/colortools.c2
-rw-r--r--source/blender/blenkernel/intern/constraint.c61
-rw-r--r--source/blender/blenkernel/intern/curve.c21
-rw-r--r--source/blender/blenkernel/intern/customdata.c4
-rw-r--r--source/blender/blenkernel/intern/deform.c2
-rw-r--r--source/blender/blenkernel/intern/editderivedmesh.c2
-rw-r--r--source/blender/blenkernel/intern/fcurve.c18
-rw-r--r--source/blender/blenkernel/intern/fmodifier.c12
-rw-r--r--source/blender/blenkernel/intern/implicit.c4
-rw-r--r--source/blender/blenkernel/intern/ipo.c5
-rw-r--r--source/blender/blenkernel/intern/key.c19
-rw-r--r--source/blender/blenkernel/intern/linestyle.c536
-rw-r--r--source/blender/blenkernel/intern/mask_rasterize.c8
-rw-r--r--source/blender/blenkernel/intern/material.c10
-rw-r--r--source/blender/blenkernel/intern/mesh.c5
-rw-r--r--source/blender/blenkernel/intern/node.c216
-rw-r--r--source/blender/blenkernel/intern/object.c19
-rw-r--r--source/blender/blenkernel/intern/sequencer.c4
-rw-r--r--source/blender/blenkernel/intern/subsurf_ccg.c2
-rw-r--r--source/blender/blenkernel/intern/writeffmpeg.c34
27 files changed, 517 insertions, 493 deletions
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h
index ae936a1659a..40fc71e82ca 100644
--- a/source/blender/blenkernel/BKE_DerivedMesh.h
+++ b/source/blender/blenkernel/BKE_DerivedMesh.h
@@ -438,7 +438,7 @@ struct DerivedMesh {
*/
void (*drawMappedFacesMat)(DerivedMesh *dm,
void (*setMaterial)(void *userData, int, void *attribs),
- int (*setFace)(void *userData, int index), void *userData);
+ bool (*setFace)(void *userData, int index), void *userData);
/** Release reference to the DerivedMesh. This function decides internally
* if the DerivedMesh will be freed, or cached for later use. */
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h
index 9e874c9aa15..8c556e00aaa 100644
--- a/source/blender/blenkernel/BKE_blender.h
+++ b/source/blender/blenkernel/BKE_blender.h
@@ -41,8 +41,8 @@ extern "C" {
/* these lines are grep'd, watch out for our not-so-awesome regex
* and keep comment above the defines.
* Use STRINGIFY() rather than defining with quotes */
-#define BLENDER_VERSION 267
-#define BLENDER_SUBVERSION 1
+#define BLENDER_VERSION 268
+#define BLENDER_SUBVERSION 0
/* 262 was the last editmesh release but it has compatibility code for bmesh data */
#define BLENDER_MINVERSION 262
@@ -50,9 +50,9 @@ extern "C" {
/* used by packaging tools */
/* can be left blank, otherwise a,b,c... etc with no quotes */
-#define BLENDER_VERSION_CHAR b
+#define BLENDER_VERSION_CHAR
/* alpha/beta/rc/release, docs use this */
-#define BLENDER_VERSION_CYCLE rc
+#define BLENDER_VERSION_CYCLE alpha
extern char versionstr[]; /* from blender.c */
diff --git a/source/blender/blenkernel/BKE_fcurve.h b/source/blender/blenkernel/BKE_fcurve.h
index d7ef04195d5..64a6811bf51 100644
--- a/source/blender/blenkernel/BKE_fcurve.h
+++ b/source/blender/blenkernel/BKE_fcurve.h
@@ -216,7 +216,7 @@ struct FCurve *rna_get_fcurve(struct PointerRNA *ptr, struct PropertyRNA *prop,
int binarysearch_bezt_index(struct BezTriple array[], float frame, int arraylen, bool *r_replace);
/* get the time extents for F-Curve */
-void calc_fcurve_range(struct FCurve *fcu, float *min, float *max,
+bool calc_fcurve_range(struct FCurve *fcu, float *min, float *max,
const short do_sel_only, const short do_min_length);
/* get the bounding-box extents for F-Curve */
diff --git a/source/blender/blenkernel/BKE_key.h b/source/blender/blenkernel/BKE_key.h
index a159cbb13d4..de60d316426 100644
--- a/source/blender/blenkernel/BKE_key.h
+++ b/source/blender/blenkernel/BKE_key.h
@@ -59,6 +59,8 @@ void key_curve_position_weights(float t, float data[4], int type);
void key_curve_tangent_weights(float t, float data[4], int type);
void key_curve_normal_weights(float t, float data[4], int type);
+float *BKE_key_evaluate_object_ex(struct Scene *scene, struct Object *ob, int *r_totelem,
+ float *arr, size_t arr_size);
float *BKE_key_evaluate_object(struct Scene *scene, struct Object *ob, int *r_totelem);
struct Key *BKE_key_from_object(struct Object *ob);
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c
index fa85f6e4f86..70fbf2d39e8 100644
--- a/source/blender/blenkernel/intern/action.c
+++ b/source/blender/blenkernel/intern/action.c
@@ -930,9 +930,8 @@ void calc_action_range(const bAction *act, float *start, float *end, short incl_
if (fmd->flag & FCM_LIMIT_XMAX) {
max = max_ff(max, fmd->rect.xmax);
}
+ break;
}
- break;
-
case FMODIFIER_TYPE_CYCLES: /* Cycles F-Modifier */
{
FMod_Cycles *fmd = (FMod_Cycles *)fcm->data;
@@ -941,9 +940,8 @@ void calc_action_range(const bAction *act, float *start, float *end, short incl_
min = MINAFRAMEF;
if (fmd->after_mode != FCM_EXTRAPOLATE_NONE)
max = MAXFRAMEF;
+ break;
}
- break;
-
/* TODO: function modifier may need some special limits */
default: /* all other standard modifiers are on the infinite range... */
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index 8fae3586439..2ede5acd6e9 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -2100,8 +2100,8 @@ static void splineik_evaluate_bone(tSplineIK_Tree *tree, Scene *scene, Object *o
/* z-axis scale */
scale = len_v3(pchan->pose_mat[2]);
mul_v3_fl(poseMat[2], scale);
+ break;
}
- break;
case CONSTRAINT_SPLINEIK_XZS_VOLUMETRIC:
{
/* 'volume preservation' */
@@ -2123,8 +2123,8 @@ static void splineik_evaluate_bone(tSplineIK_Tree *tree, Scene *scene, Object *o
/* apply the scaling */
mul_v3_fl(poseMat[0], scale);
mul_v3_fl(poseMat[2], scale);
+ break;
}
- break;
}
/* finally, multiply the x and z scaling by the radius of the curve too,
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index 7f6dc680a74..faa4d8d3071 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -1424,7 +1424,7 @@ static void cdDM_drawFacesGLSL(DerivedMesh *dm, DMSetMaterial setMaterial)
static void cdDM_drawMappedFacesMat(DerivedMesh *dm,
void (*setMaterial)(void *userData, int, void *attribs),
- int (*setFace)(void *userData, int index), void *userData)
+ bool (*setFace)(void *userData, int index), void *userData)
{
CDDerivedMesh *cddm = (CDDerivedMesh *) dm;
GPUVertexAttribs gattribs;
diff --git a/source/blender/blenkernel/intern/colortools.c b/source/blender/blenkernel/intern/colortools.c
index 9323531e5fe..7e878e86c1e 100644
--- a/source/blender/blenkernel/intern/colortools.c
+++ b/source/blender/blenkernel/intern/colortools.c
@@ -328,8 +328,8 @@ void curvemap_reset(CurveMap *cuma, const rctf *clipr, int preset, int slope)
cuma->curve[i].x = i / ((float)cuma->totpoint - 1);
cuma->curve[i].y = 0.5;
}
+ break;
}
- break;
case CURVE_PRESET_ROUND:
cuma->curve[0].x = 0;
cuma->curve[0].y = 1;
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index c78038c0f66..b8d851d082a 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -132,8 +132,8 @@ bConstraintOb *BKE_constraints_make_evalob(Scene *scene, Object *ob, void *subda
unit_m4(cob->matrix);
copy_m4_m4(cob->startmat, cob->matrix);
+ break;
}
- break;
case CONSTRAINT_OBTYPE_BONE:
{
/* only set if we have valid bone, otherwise default */
@@ -158,9 +158,8 @@ bConstraintOb *BKE_constraints_make_evalob(Scene *scene, Object *ob, void *subda
unit_m4(cob->matrix);
copy_m4_m4(cob->startmat, cob->matrix);
+ break;
}
- break;
-
default: /* other types not yet handled */
unit_m4(cob->matrix);
unit_m4(cob->startmat);
@@ -195,8 +194,8 @@ void BKE_constraints_clear_evalob(bConstraintOb *cob)
/* copy inverse of delta back to owner */
invert_m4_m4(cob->ob->constinv, delta);
}
+ break;
}
- break;
case CONSTRAINT_OBTYPE_BONE:
{
/* cob->ob or cob->pchan might not exist */
@@ -207,8 +206,8 @@ void BKE_constraints_clear_evalob(bConstraintOb *cob)
/* copy inverse of delta back to owner */
invert_m4_m4(cob->pchan->constinv, delta);
}
+ break;
}
- break;
}
/* free tempolary struct */
@@ -246,8 +245,8 @@ void BKE_constraint_mat_convertspace(Object *ob, bPoseChannel *pchan, float mat[
/* call self with slightly different values */
BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to);
}
+ break;
}
- break;
case CONSTRAINT_SPACE_POSE: /* ---------- FROM POSESPACE ---------- */
{
/* pose to world */
@@ -267,8 +266,8 @@ void BKE_constraint_mat_convertspace(Object *ob, bPoseChannel *pchan, float mat[
mul_m4_m4m4(mat, imat, mat);
}
}
+ break;
}
- break;
case CONSTRAINT_SPACE_LOCAL: /* ------------ FROM LOCALSPACE --------- */
{
/* local to pose - do inverse procedure that was done for pose to local */
@@ -282,8 +281,8 @@ void BKE_constraint_mat_convertspace(Object *ob, bPoseChannel *pchan, float mat[
/* call self with slightly different values */
BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to);
}
+ break;
}
- break;
case CONSTRAINT_SPACE_PARLOCAL: /* -------------- FROM LOCAL WITH PARENT ---------- */
{
/* local + parent to pose */
@@ -297,8 +296,8 @@ void BKE_constraint_mat_convertspace(Object *ob, bPoseChannel *pchan, float mat[
/* call self with slightly different values */
BKE_constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, to);
}
+ break;
}
- break;
}
}
else {
@@ -2235,8 +2234,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the z axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[2], totmat[0], totmat[1]);
+ break;
}
- break;
case TRACK_Z: /* LOCK X TRACK Z */
{
/* Projection of Vector on the plane */
@@ -2249,8 +2248,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the z axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[1], totmat[2], totmat[0]);
+ break;
}
- break;
case TRACK_nY: /* LOCK X TRACK -Y */
{
/* Projection of Vector on the plane */
@@ -2264,8 +2263,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the z axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[2], totmat[0], totmat[1]);
+ break;
}
- break;
case TRACK_nZ: /* LOCK X TRACK -Z */
{
/* Projection of Vector on the plane */
@@ -2279,16 +2278,16 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the z axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[1], totmat[2], totmat[0]);
+ break;
}
- break;
default:
{
unit_m3(totmat);
+ break;
}
- break;
}
+ break;
}
- break;
case LOCK_Y: /* LOCK Y */
{
switch (data->trackflag) {
@@ -2304,8 +2303,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the z axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[2], totmat[0], totmat[1]);
+ break;
}
- break;
case TRACK_Z: /* LOCK Y TRACK Z */
{
/* Projection of Vector on the plane */
@@ -2318,8 +2317,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the z axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[0], totmat[1], totmat[2]);
+ break;
}
- break;
case TRACK_nX: /* LOCK Y TRACK -X */
{
/* Projection of Vector on the plane */
@@ -2333,8 +2332,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the z axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[2], totmat[0], totmat[1]);
+ break;
}
- break;
case TRACK_nZ: /* LOCK Y TRACK -Z */
{
/* Projection of Vector on the plane */
@@ -2348,16 +2347,16 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the z axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[0], totmat[1], totmat[2]);
+ break;
}
- break;
default:
{
unit_m3(totmat);
+ break;
}
- break;
}
+ break;
}
- break;
case LOCK_Z: /* LOCK Z */
{
switch (data->trackflag) {
@@ -2373,8 +2372,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the x axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[1], totmat[2], totmat[0]);
+ break;
}
- break;
case TRACK_Y: /* LOCK Z TRACK Y */
{
/* Projection of Vector on the plane */
@@ -2387,8 +2386,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the x axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[0], totmat[1], totmat[2]);
+ break;
}
- break;
case TRACK_nX: /* LOCK Z TRACK -X */
{
/* Projection of Vector on the plane */
@@ -2402,8 +2401,8 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the x axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[1], totmat[2], totmat[0]);
+ break;
}
- break;
case TRACK_nY: /* LOCK Z TRACK -Y */
{
/* Projection of Vector on the plane */
@@ -2417,21 +2416,21 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
/* the x axis gets mapped onto a third orthogonal vector */
cross_v3_v3v3(totmat[0], totmat[1], totmat[2]);
+ break;
}
- break;
default:
{
unit_m3(totmat);
+ break;
}
- break;
}
+ break;
}
- break;
default:
{
unit_m3(totmat);
+ break;
}
- break;
}
/* Block to keep matrix heading */
copy_m3_m4(tmpmat, cob->matrix);
@@ -4414,8 +4413,8 @@ static bConstraint *add_new_constraint(Object *ob, bPoseChannel *pchan, const ch
con->ownspace = CONSTRAINT_SPACE_POSE;
con->flag |= CONSTRAINT_SPACEONCE;
}
+ break;
}
- break;
}
return con;
@@ -4640,8 +4639,8 @@ void BKE_get_constraint_target_matrix(Scene *scene, bConstraint *con, int index,
unit_m4(cob->matrix);
unit_m4(cob->startmat);
}
+ break;
}
- break;
case CONSTRAINT_OBTYPE_BONE: /* this may occur in some cases */
{
cob->ob = NULL; /* this might not work at all :/ */
@@ -4654,8 +4653,8 @@ void BKE_get_constraint_target_matrix(Scene *scene, bConstraint *con, int index,
unit_m4(cob->matrix);
unit_m4(cob->startmat);
}
+ break;
}
- break;
}
/* get targets - we only need the first one though (and there should only be one) */
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c
index 3b9fbbb1c4d..00a479b8b88 100644
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@ -2323,6 +2323,7 @@ void BKE_curve_bevelList_make(Object *ob)
bl = MEM_callocN(sizeof(BevList) + 1 * sizeof(BevPoint), "makeBevelList1");
BLI_addtail(&(cu->bev), bl);
bl->nr = 0;
+ bl->charidx = nu->charidx;
}
else {
if (G.is_rendering && cu->resolu_ren != 0)
@@ -2335,10 +2336,10 @@ void BKE_curve_bevelList_make(Object *ob)
bl = MEM_callocN(sizeof(BevList) + len * sizeof(BevPoint), "makeBevelList2");
BLI_addtail(&(cu->bev), bl);
- if (nu->flagu & CU_NURB_CYCLIC) bl->poly = 0;
- else bl->poly = -1;
+ bl->poly = (nu->flagu & CU_NURB_CYCLIC) ? 0 : -1;
bl->nr = len;
bl->dupe_nr = 0;
+ bl->charidx = nu->charidx;
bevp = (BevPoint *)(bl + 1);
bp = nu->bp;
@@ -2358,8 +2359,8 @@ void BKE_curve_bevelList_make(Object *ob)
bl = MEM_callocN(sizeof(BevList) + len * sizeof(BevPoint), "makeBevelBPoints");
BLI_addtail(&(cu->bev), bl);
- if (nu->flagu & CU_NURB_CYCLIC) bl->poly = 0;
- else bl->poly = -1;
+ bl->poly = (nu->flagu & CU_NURB_CYCLIC) ? 0 : -1;
+ bl->charidx = nu->charidx;
bevp = (BevPoint *)(bl + 1);
a = nu->pntsu - 1;
@@ -2445,8 +2446,8 @@ void BKE_curve_bevelList_make(Object *ob)
BLI_addtail(&(cu->bev), bl);
bl->nr = len;
bl->dupe_nr = 0;
- if (nu->flagu & CU_NURB_CYCLIC) bl->poly = 0;
- else bl->poly = -1;
+ bl->poly = (nu->flagu & CU_NURB_CYCLIC) ? 0 : -1;
+ bl->charidx = nu->charidx;
bevp = (BevPoint *)(bl + 1);
BKE_nurb_makeCurve(nu, &bevp->vec[0],
@@ -2572,9 +2573,11 @@ void BKE_curve_bevelList_make(Object *ob)
bl = sd->bl; /* is bl a hole? */
sd1 = sortdata + (a - 1);
for (b = a - 1; b >= 0; b--, sd1--) { /* all polys to the left */
- if (bevelinside(sd1->bl, bl)) {
- bl->hole = 1 - sd1->bl->hole;
- break;
+ if (sd1->bl->charidx == bl->charidx) { /* for text, only check matching char */
+ if (bevelinside(sd1->bl, bl)) {
+ bl->hole = 1 - sd1->bl->hole;
+ break;
+ }
}
}
}
diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c
index e08474e22c9..28fa5cc689b 100644
--- a/source/blender/blenkernel/intern/customdata.c
+++ b/source/blender/blenkernel/intern/customdata.c
@@ -158,7 +158,7 @@ static void layerCopy_mdeformvert(const void *source, void *dest,
MDeformVert *dvert = (MDeformVert *)((char *)dest + i * size);
if (dvert->totweight) {
- MDeformWeight *dw = MEM_callocN(dvert->totweight * sizeof(*dw),
+ MDeformWeight *dw = MEM_mallocN(dvert->totweight * sizeof(*dw),
"layerCopy_mdeformvert dw");
memcpy(dw, dvert->dw, dvert->totweight * sizeof(*dw));
@@ -265,7 +265,7 @@ static void layerInterp_mdeformvert(void **sources, const float *weights,
if (dvert->dw) MEM_freeN(dvert->dw);
if (totweight) {
- dvert->dw = MEM_callocN(sizeof(*dvert->dw) * totweight,
+ dvert->dw = MEM_mallocN(sizeof(*dvert->dw) * totweight,
"layerInterp_mdeformvert dvert->dw");
dvert->totweight = totweight;
diff --git a/source/blender/blenkernel/intern/deform.c b/source/blender/blenkernel/intern/deform.c
index a492b227815..0dd9d8550bb 100644
--- a/source/blender/blenkernel/intern/deform.c
+++ b/source/blender/blenkernel/intern/deform.c
@@ -735,7 +735,7 @@ MDeformWeight *defvert_verify_index(MDeformVert *dvert, const int defgroup)
if (dw_new)
return dw_new;
- dw_new = MEM_callocN(sizeof(MDeformWeight) * (dvert->totweight + 1), "deformWeight");
+ dw_new = MEM_mallocN(sizeof(MDeformWeight) * (dvert->totweight + 1), "deformWeight");
if (dvert->dw) {
memcpy(dw_new, dvert->dw, sizeof(MDeformWeight) * dvert->totweight);
MEM_freeN(dvert->dw);
diff --git a/source/blender/blenkernel/intern/editderivedmesh.c b/source/blender/blenkernel/intern/editderivedmesh.c
index 46cee96a537..ddd5e4a1e02 100644
--- a/source/blender/blenkernel/intern/editderivedmesh.c
+++ b/source/blender/blenkernel/intern/editderivedmesh.c
@@ -920,7 +920,7 @@ static void emdm_pass_attrib_vertex_mat(DMVertexAttribs *attribs, BMLoop *loop,
static void emDM_drawMappedFacesMat(DerivedMesh *dm,
void (*setMaterial)(void *userData, int, void *attribs),
- int (*setFace)(void *userData, int index), void *userData)
+ bool (*setFace)(void *userData, int index), void *userData)
{
EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm;
BMEditMesh *em = bmdm->em;
diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c
index 8958680d611..55a312f31ba 100644
--- a/source/blender/blenkernel/intern/fcurve.c
+++ b/source/blender/blenkernel/intern/fcurve.c
@@ -577,7 +577,7 @@ short calc_fcurve_bounds(FCurve *fcu, float *xmin, float *xmax, float *ymin, flo
}
/* Calculate the extents of F-Curve's keyframes */
-void calc_fcurve_range(FCurve *fcu, float *start, float *end,
+bool calc_fcurve_range(FCurve *fcu, float *start, float *end,
const short do_sel_only, const short do_min_length)
{
float min = 999999999.0f, max = -999999999.0f;
@@ -621,6 +621,8 @@ void calc_fcurve_range(FCurve *fcu, float *start, float *end,
*start = min;
*end = max;
+
+ return foundvert;
}
/* ----------------- Status Checks -------------------------- */
@@ -665,17 +667,16 @@ short fcurve_are_keyframes_usable(FCurve *fcu)
if ((data->flag & FCM_GENERATOR_ADDITIVE) == 0)
return 0;
+ break;
}
- break;
case FMODIFIER_TYPE_FN_GENERATOR:
{
FMod_FunctionGenerator *data = (FMod_FunctionGenerator *)fcm->data;
if ((data->flag & FCM_GENERATOR_ADDITIVE) == 0)
return 0;
+ break;
}
- break;
-
/* always harmful - cannot allow */
default:
return 0;
@@ -1701,9 +1702,8 @@ static float evaluate_driver(ChannelDriver *driver, const float evaltime)
else
driver->curval = value;
}
+ break;
}
- break;
-
case DRIVER_TYPE_MIN: /* smallest value */
case DRIVER_TYPE_MAX: /* largest value */
{
@@ -1736,9 +1736,8 @@ static float evaluate_driver(ChannelDriver *driver, const float evaltime)
/* store value in driver */
driver->curval = value;
+ break;
}
- break;
-
case DRIVER_TYPE_PYTHON: /* expression */
{
#ifdef WITH_PYTHON
@@ -1757,9 +1756,8 @@ static float evaluate_driver(ChannelDriver *driver, const float evaltime)
#else /* WITH_PYTHON*/
(void)evaltime;
#endif /* WITH_PYTHON*/
+ break;
}
- break;
-
default:
{
/* special 'hack' - just use stored value
diff --git a/source/blender/blenkernel/intern/fmodifier.c b/source/blender/blenkernel/intern/fmodifier.c
index 19912a19d94..234f8667632 100644
--- a/source/blender/blenkernel/intern/fmodifier.c
+++ b/source/blender/blenkernel/intern/fmodifier.c
@@ -213,9 +213,8 @@ static void fcm_generator_evaluate(FCurve *UNUSED(fcu), FModifier *fcm, float *c
/* cleanup */
if (powers)
MEM_freeN(powers);
+ break;
}
- break;
-
case FCM_GENERATOR_POLYNOMIAL_FACTORISED: /* Factorized polynomial */
{
float value = 1.0f, *cp = NULL;
@@ -232,8 +231,8 @@ static void fcm_generator_evaluate(FCurve *UNUSED(fcu), FModifier *fcm, float *c
else
*cvalue = value;
}
+ break;
}
- break;
}
}
@@ -316,8 +315,8 @@ static void fcm_fn_generator_evaluate(FCurve *UNUSED(fcu), FModifier *fcm, float
}
else
fn = tan;
+ break;
}
- break;
case FCM_GENERATOR_FN_LN: /* natural log */
{
/* check that value is greater than 1? */
@@ -328,8 +327,8 @@ static void fcm_fn_generator_evaluate(FCurve *UNUSED(fcu), FModifier *fcm, float
if ((data->flag & FCM_GENERATOR_ADDITIVE) == 0)
*cvalue = 0.0f; /* no value possible here */
}
+ break;
}
- break;
case FCM_GENERATOR_FN_SQRT: /* square root */
{
/* no negative numbers */
@@ -340,9 +339,8 @@ static void fcm_fn_generator_evaluate(FCurve *UNUSED(fcu), FModifier *fcm, float
if ((data->flag & FCM_GENERATOR_ADDITIVE) == 0)
*cvalue = 0.0f; /* no value possible here */
}
+ break;
}
- break;
-
default:
printf("Invalid Function-Generator for F-Modifier - %d\n", data->type);
}
diff --git a/source/blender/blenkernel/intern/implicit.c b/source/blender/blenkernel/intern/implicit.c
index b9064fe8ba3..c8e18bc3dee 100644
--- a/source/blender/blenkernel/intern/implicit.c
+++ b/source/blender/blenkernel/intern/implicit.c
@@ -48,6 +48,10 @@
#include "BKE_global.h"
+#ifdef __GNUC__
+# pragma GCC diagnostic ignored "-Wtype-limits"
+#endif
+
#ifdef _OPENMP
# define CLOTH_OPENMP_LIMIT 512
#endif
diff --git a/source/blender/blenkernel/intern/ipo.c b/source/blender/blenkernel/intern/ipo.c
index 10226ade786..ecc4a03d255 100644
--- a/source/blender/blenkernel/intern/ipo.c
+++ b/source/blender/blenkernel/intern/ipo.c
@@ -1174,9 +1174,8 @@ static void icu_to_fcurves(ID *id, ListBase *groups, ListBase *list, IpoCurve *i
{
/* just copy, as the new defines match the old ones... */
fcu->extend = icu->extrap;
+ break;
}
- break;
-
case IPO_CYCL: /* cyclic extrapolation */
case IPO_CYCLX: /* cyclic extrapolation + offset */
{
@@ -1191,8 +1190,8 @@ static void icu_to_fcurves(ID *id, ListBase *groups, ListBase *list, IpoCurve *i
data->before_mode = data->after_mode = FCM_EXTRAPOLATE_CYCLIC_OFFSET;
else
data->before_mode = data->after_mode = FCM_EXTRAPOLATE_CYCLIC;
+ break;
}
- break;
}
/* -------- */
diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c
index e141b9dbabe..a79fa3873f5 100644
--- a/source/blender/blenkernel/intern/key.c
+++ b/source/blender/blenkernel/intern/key.c
@@ -1342,7 +1342,8 @@ static void do_latt_key(Scene *scene, Object *ob, Key *key, char *out, const int
}
/* returns key coordinates (+ tilt) when key applied, NULL otherwise */
-float *BKE_key_evaluate_object(Scene *scene, Object *ob, int *r_totelem)
+float *BKE_key_evaluate_object_ex(Scene *scene, Object *ob, int *r_totelem,
+ float *arr, size_t arr_size)
{
Key *key = BKE_key_from_object(ob);
KeyBlock *actkb = BKE_keyblock_from_object(ob);
@@ -1386,7 +1387,16 @@ float *BKE_key_evaluate_object(Scene *scene, Object *ob, int *r_totelem)
return NULL;
/* allocate array */
- out = MEM_callocN(size, "BKE_key_evaluate_object out");
+ if (arr == NULL) {
+ out = MEM_callocN(size, "BKE_key_evaluate_object out");
+ }
+ else {
+ if (arr_size != size) {
+ return NULL;
+ }
+
+ out = (char *)arr;
+ }
/* prevent python from screwing this up? anyhoo, the from pointer could be dropped */
key->from = (ID *)ob->data;
@@ -1427,6 +1437,11 @@ float *BKE_key_evaluate_object(Scene *scene, Object *ob, int *r_totelem)
return (float *)out;
}
+float *BKE_key_evaluate_object(Scene *scene, Object *ob, int *r_totelem)
+{
+ return BKE_key_evaluate_object_ex(scene, ob, r_totelem, NULL, 0);
+}
+
Key *BKE_key_from_object(Object *ob)
{
if (ob == NULL) return NULL;
diff --git a/source/blender/blenkernel/intern/linestyle.c b/source/blender/blenkernel/intern/linestyle.c
index 3ab1a8093be..497554be113 100644
--- a/source/blender/blenkernel/intern/linestyle.c
+++ b/source/blender/blenkernel/intern/linestyle.c
@@ -201,20 +201,20 @@ static LineStyleModifier *alloc_color_modifier(int type)
size_t size;
switch (type) {
- case LS_MODIFIER_ALONG_STROKE:
- size = sizeof(LineStyleColorModifier_AlongStroke);
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
- size = sizeof(LineStyleColorModifier_DistanceFromCamera);
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
- size = sizeof(LineStyleColorModifier_DistanceFromObject);
- break;
- case LS_MODIFIER_MATERIAL:
- size = sizeof(LineStyleColorModifier_Material);
- break;
- default:
- return NULL; /* unknown modifier type */
+ case LS_MODIFIER_ALONG_STROKE:
+ size = sizeof(LineStyleColorModifier_AlongStroke);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ size = sizeof(LineStyleColorModifier_DistanceFromCamera);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ size = sizeof(LineStyleColorModifier_DistanceFromObject);
+ break;
+ case LS_MODIFIER_MATERIAL:
+ size = sizeof(LineStyleColorModifier_Material);
+ break;
+ default:
+ return NULL; /* unknown modifier type */
}
return new_modifier(type, size);
@@ -228,26 +228,26 @@ LineStyleModifier *BKE_add_linestyle_color_modifier(FreestyleLineStyle *linestyl
m->blend = MA_RAMP_BLEND;
switch (type) {
- case LS_MODIFIER_ALONG_STROKE:
- ((LineStyleColorModifier_AlongStroke *)m)->color_ramp = add_colorband(1);
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
- ((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp = add_colorband(1);
- ((LineStyleColorModifier_DistanceFromCamera *)m)->range_min = 0.0f;
- ((LineStyleColorModifier_DistanceFromCamera *)m)->range_max = 10000.0f;
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
- ((LineStyleColorModifier_DistanceFromObject *)m)->target = NULL;
- ((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp = add_colorband(1);
- ((LineStyleColorModifier_DistanceFromObject *)m)->range_min = 0.0f;
- ((LineStyleColorModifier_DistanceFromObject *)m)->range_max = 10000.0f;
- break;
- case LS_MODIFIER_MATERIAL:
- ((LineStyleColorModifier_Material *)m)->color_ramp = add_colorband(1);
- ((LineStyleColorModifier_Material *)m)->mat_attr = LS_MODIFIER_MATERIAL_DIFF;
- break;
- default:
- return NULL; /* unknown modifier type */
+ case LS_MODIFIER_ALONG_STROKE:
+ ((LineStyleColorModifier_AlongStroke *)m)->color_ramp = add_colorband(1);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ ((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp = add_colorband(1);
+ ((LineStyleColorModifier_DistanceFromCamera *)m)->range_min = 0.0f;
+ ((LineStyleColorModifier_DistanceFromCamera *)m)->range_max = 10000.0f;
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ ((LineStyleColorModifier_DistanceFromObject *)m)->target = NULL;
+ ((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp = add_colorband(1);
+ ((LineStyleColorModifier_DistanceFromObject *)m)->range_min = 0.0f;
+ ((LineStyleColorModifier_DistanceFromObject *)m)->range_max = 10000.0f;
+ break;
+ case LS_MODIFIER_MATERIAL:
+ ((LineStyleColorModifier_Material *)m)->color_ramp = add_colorband(1);
+ ((LineStyleColorModifier_Material *)m)->mat_attr = LS_MODIFIER_MATERIAL_DIFF;
+ break;
+ default:
+ return NULL; /* unknown modifier type */
}
add_to_modifier_list(&linestyle->color_modifiers, m);
@@ -264,23 +264,23 @@ LineStyleModifier *BKE_copy_linestyle_color_modifier(FreestyleLineStyle *linesty
new_m->blend = m->blend;
switch (m->type) {
- case LS_MODIFIER_ALONG_STROKE:
+ case LS_MODIFIER_ALONG_STROKE:
{
LineStyleColorModifier_AlongStroke *p = (LineStyleColorModifier_AlongStroke *)m;
LineStyleColorModifier_AlongStroke *q = (LineStyleColorModifier_AlongStroke *)new_m;
q->color_ramp = MEM_dupallocN(p->color_ramp);
+ break;
}
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
{
LineStyleColorModifier_DistanceFromCamera *p = (LineStyleColorModifier_DistanceFromCamera *)m;
LineStyleColorModifier_DistanceFromCamera *q = (LineStyleColorModifier_DistanceFromCamera *)new_m;
q->color_ramp = MEM_dupallocN(p->color_ramp);
q->range_min = p->range_min;
q->range_max = p->range_max;
+ break;
}
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
{
LineStyleColorModifier_DistanceFromObject *p = (LineStyleColorModifier_DistanceFromObject *)m;
LineStyleColorModifier_DistanceFromObject *q = (LineStyleColorModifier_DistanceFromObject *)new_m;
@@ -290,19 +290,19 @@ LineStyleModifier *BKE_copy_linestyle_color_modifier(FreestyleLineStyle *linesty
q->color_ramp = MEM_dupallocN(p->color_ramp);
q->range_min = p->range_min;
q->range_max = p->range_max;
+ break;
}
- break;
- case LS_MODIFIER_MATERIAL:
+ case LS_MODIFIER_MATERIAL:
{
LineStyleColorModifier_Material *p = (LineStyleColorModifier_Material *)m;
LineStyleColorModifier_Material *q = (LineStyleColorModifier_Material *)new_m;
q->color_ramp = MEM_dupallocN(p->color_ramp);
q->flags = p->flags;
q->mat_attr = p->mat_attr;
+ break;
}
- break;
- default:
- return NULL; /* unknown modifier type */
+ default:
+ return NULL; /* unknown modifier type */
}
add_to_modifier_list(&linestyle->color_modifiers, new_m);
@@ -312,18 +312,18 @@ LineStyleModifier *BKE_copy_linestyle_color_modifier(FreestyleLineStyle *linesty
void BKE_remove_linestyle_color_modifier(FreestyleLineStyle *linestyle, LineStyleModifier *m)
{
switch (m->type) {
- case LS_MODIFIER_ALONG_STROKE:
- MEM_freeN(((LineStyleColorModifier_AlongStroke *)m)->color_ramp);
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
- MEM_freeN(((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp);
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
- MEM_freeN(((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp);
- break;
- case LS_MODIFIER_MATERIAL:
- MEM_freeN(((LineStyleColorModifier_Material *)m)->color_ramp);
- break;
+ case LS_MODIFIER_ALONG_STROKE:
+ MEM_freeN(((LineStyleColorModifier_AlongStroke *)m)->color_ramp);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ MEM_freeN(((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ MEM_freeN(((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp);
+ break;
+ case LS_MODIFIER_MATERIAL:
+ MEM_freeN(((LineStyleColorModifier_Material *)m)->color_ramp);
+ break;
}
BLI_freelinkN(&linestyle->color_modifiers, m);
}
@@ -333,20 +333,20 @@ static LineStyleModifier *alloc_alpha_modifier(int type)
size_t size;
switch (type) {
- case LS_MODIFIER_ALONG_STROKE:
- size = sizeof(LineStyleAlphaModifier_AlongStroke);
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
- size = sizeof(LineStyleAlphaModifier_DistanceFromCamera);
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
- size = sizeof(LineStyleAlphaModifier_DistanceFromObject);
- break;
- case LS_MODIFIER_MATERIAL:
- size = sizeof(LineStyleAlphaModifier_Material);
- break;
- default:
- return NULL; /* unknown modifier type */
+ case LS_MODIFIER_ALONG_STROKE:
+ size = sizeof(LineStyleAlphaModifier_AlongStroke);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ size = sizeof(LineStyleAlphaModifier_DistanceFromCamera);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ size = sizeof(LineStyleAlphaModifier_DistanceFromObject);
+ break;
+ case LS_MODIFIER_MATERIAL:
+ size = sizeof(LineStyleAlphaModifier_Material);
+ break;
+ default:
+ return NULL; /* unknown modifier type */
}
return new_modifier(type, size);
}
@@ -359,38 +359,38 @@ LineStyleModifier *BKE_add_linestyle_alpha_modifier(FreestyleLineStyle *linestyl
m->blend = LS_VALUE_BLEND;
switch (type) {
- case LS_MODIFIER_ALONG_STROKE:
+ case LS_MODIFIER_ALONG_STROKE:
{
LineStyleAlphaModifier_AlongStroke *p = (LineStyleAlphaModifier_AlongStroke *)m;
p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
+ break;
}
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
{
LineStyleAlphaModifier_DistanceFromCamera *p = (LineStyleAlphaModifier_DistanceFromCamera *)m;
p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
p->range_min = 0.0f;
p->range_max = 10000.0f;
+ break;
}
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
{
LineStyleAlphaModifier_DistanceFromObject *p = (LineStyleAlphaModifier_DistanceFromObject *)m;
p->target = NULL;
p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
p->range_min = 0.0f;
p->range_max = 10000.0f;
+ break;
}
- break;
- case LS_MODIFIER_MATERIAL:
+ case LS_MODIFIER_MATERIAL:
{
LineStyleAlphaModifier_Material *p = (LineStyleAlphaModifier_Material *)m;
p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
p->mat_attr = LS_MODIFIER_MATERIAL_DIFF;
+ break;
}
- break;
- default:
- return NULL; /* unknown modifier type */
+ default:
+ return NULL; /* unknown modifier type */
}
add_to_modifier_list(&linestyle->alpha_modifiers, m);
@@ -407,15 +407,15 @@ LineStyleModifier *BKE_copy_linestyle_alpha_modifier(FreestyleLineStyle *linesty
new_m->blend = m->blend;
switch (m->type) {
- case LS_MODIFIER_ALONG_STROKE:
+ case LS_MODIFIER_ALONG_STROKE:
{
LineStyleAlphaModifier_AlongStroke *p = (LineStyleAlphaModifier_AlongStroke *)m;
LineStyleAlphaModifier_AlongStroke *q = (LineStyleAlphaModifier_AlongStroke *)new_m;
q->curve = curvemapping_copy(p->curve);
q->flags = p->flags;
+ break;
}
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
{
LineStyleAlphaModifier_DistanceFromCamera *p = (LineStyleAlphaModifier_DistanceFromCamera *)m;
LineStyleAlphaModifier_DistanceFromCamera *q = (LineStyleAlphaModifier_DistanceFromCamera *)new_m;
@@ -423,9 +423,9 @@ LineStyleModifier *BKE_copy_linestyle_alpha_modifier(FreestyleLineStyle *linesty
q->flags = p->flags;
q->range_min = p->range_min;
q->range_max = p->range_max;
+ break;
}
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
{
LineStyleAlphaModifier_DistanceFromObject *p = (LineStyleAlphaModifier_DistanceFromObject *)m;
LineStyleAlphaModifier_DistanceFromObject *q = (LineStyleAlphaModifier_DistanceFromObject *)new_m;
@@ -436,19 +436,19 @@ LineStyleModifier *BKE_copy_linestyle_alpha_modifier(FreestyleLineStyle *linesty
q->flags = p->flags;
q->range_min = p->range_min;
q->range_max = p->range_max;
+ break;
}
- break;
- case LS_MODIFIER_MATERIAL:
+ case LS_MODIFIER_MATERIAL:
{
LineStyleAlphaModifier_Material *p = (LineStyleAlphaModifier_Material *)m;
LineStyleAlphaModifier_Material *q = (LineStyleAlphaModifier_Material *)new_m;
q->curve = curvemapping_copy(p->curve);
q->flags = p->flags;
q->mat_attr = p->mat_attr;
+ break;
}
- break;
- default:
- return NULL; /* unknown modifier type */
+ default:
+ return NULL; /* unknown modifier type */
}
add_to_modifier_list(&linestyle->alpha_modifiers, new_m);
@@ -458,18 +458,18 @@ LineStyleModifier *BKE_copy_linestyle_alpha_modifier(FreestyleLineStyle *linesty
void BKE_remove_linestyle_alpha_modifier(FreestyleLineStyle *linestyle, LineStyleModifier *m)
{
switch (m->type) {
- case LS_MODIFIER_ALONG_STROKE:
- curvemapping_free(((LineStyleAlphaModifier_AlongStroke *)m)->curve);
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
- curvemapping_free(((LineStyleAlphaModifier_DistanceFromCamera *)m)->curve);
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
- curvemapping_free(((LineStyleAlphaModifier_DistanceFromObject *)m)->curve);
- break;
- case LS_MODIFIER_MATERIAL:
- curvemapping_free(((LineStyleAlphaModifier_Material *)m)->curve);
- break;
+ case LS_MODIFIER_ALONG_STROKE:
+ curvemapping_free(((LineStyleAlphaModifier_AlongStroke *)m)->curve);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ curvemapping_free(((LineStyleAlphaModifier_DistanceFromCamera *)m)->curve);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ curvemapping_free(((LineStyleAlphaModifier_DistanceFromObject *)m)->curve);
+ break;
+ case LS_MODIFIER_MATERIAL:
+ curvemapping_free(((LineStyleAlphaModifier_Material *)m)->curve);
+ break;
}
BLI_freelinkN(&linestyle->alpha_modifiers, m);
}
@@ -479,23 +479,23 @@ static LineStyleModifier *alloc_thickness_modifier(int type)
size_t size;
switch (type) {
- case LS_MODIFIER_ALONG_STROKE:
- size = sizeof(LineStyleThicknessModifier_AlongStroke);
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
- size = sizeof(LineStyleThicknessModifier_DistanceFromCamera);
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
- size = sizeof(LineStyleThicknessModifier_DistanceFromObject);
- break;
- case LS_MODIFIER_MATERIAL:
- size = sizeof(LineStyleThicknessModifier_Material);
- break;
- case LS_MODIFIER_CALLIGRAPHY:
- size = sizeof(LineStyleThicknessModifier_Calligraphy);
- break;
- default:
- return NULL; /* unknown modifier type */
+ case LS_MODIFIER_ALONG_STROKE:
+ size = sizeof(LineStyleThicknessModifier_AlongStroke);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ size = sizeof(LineStyleThicknessModifier_DistanceFromCamera);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ size = sizeof(LineStyleThicknessModifier_DistanceFromObject);
+ break;
+ case LS_MODIFIER_MATERIAL:
+ size = sizeof(LineStyleThicknessModifier_Material);
+ break;
+ case LS_MODIFIER_CALLIGRAPHY:
+ size = sizeof(LineStyleThicknessModifier_Calligraphy);
+ break;
+ default:
+ return NULL; /* unknown modifier type */
}
return new_modifier(type, size);
@@ -509,15 +509,15 @@ LineStyleModifier *BKE_add_linestyle_thickness_modifier(FreestyleLineStyle *line
m->blend = LS_VALUE_BLEND;
switch (type) {
- case LS_MODIFIER_ALONG_STROKE:
+ case LS_MODIFIER_ALONG_STROKE:
{
LineStyleThicknessModifier_AlongStroke *p = (LineStyleThicknessModifier_AlongStroke *)m;
p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
p->value_min = 0.0f;
p->value_max = 1.0f;
+ break;
}
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
{
LineStyleThicknessModifier_DistanceFromCamera *p = (LineStyleThicknessModifier_DistanceFromCamera *)m;
p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
@@ -525,9 +525,9 @@ LineStyleModifier *BKE_add_linestyle_thickness_modifier(FreestyleLineStyle *line
p->range_max = 1000.0f;
p->value_min = 0.0f;
p->value_max = 1.0f;
+ break;
}
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
{
LineStyleThicknessModifier_DistanceFromObject *p = (LineStyleThicknessModifier_DistanceFromObject *)m;
p->target = NULL;
@@ -536,27 +536,27 @@ LineStyleModifier *BKE_add_linestyle_thickness_modifier(FreestyleLineStyle *line
p->range_max = 1000.0f;
p->value_min = 0.0f;
p->value_max = 1.0f;
+ break;
}
- break;
- case LS_MODIFIER_MATERIAL:
+ case LS_MODIFIER_MATERIAL:
{
LineStyleThicknessModifier_Material *p = (LineStyleThicknessModifier_Material *)m;
p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
p->mat_attr = LS_MODIFIER_MATERIAL_DIFF;
p->value_min = 0.0f;
p->value_max = 1.0f;
+ break;
}
- break;
- case LS_MODIFIER_CALLIGRAPHY:
+ case LS_MODIFIER_CALLIGRAPHY:
{
LineStyleThicknessModifier_Calligraphy *p = (LineStyleThicknessModifier_Calligraphy *)m;
p->min_thickness = 1.0f;
p->max_thickness = 10.0f;
p->orientation = DEG2RADF(60.0f);
+ break;
}
- break;
- default:
- return NULL; /* unknown modifier type */
+ default:
+ return NULL; /* unknown modifier type */
}
add_to_modifier_list(&linestyle->thickness_modifiers, m);
@@ -575,7 +575,7 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin
new_m->blend = m->blend;
switch (m->type) {
- case LS_MODIFIER_ALONG_STROKE:
+ case LS_MODIFIER_ALONG_STROKE:
{
LineStyleThicknessModifier_AlongStroke *p = (LineStyleThicknessModifier_AlongStroke *)m;
LineStyleThicknessModifier_AlongStroke *q = (LineStyleThicknessModifier_AlongStroke *)new_m;
@@ -583,9 +583,9 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin
q->flags = p->flags;
q->value_min = p->value_min;
q->value_max = p->value_max;
+ break;
}
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
{
LineStyleThicknessModifier_DistanceFromCamera *p = (LineStyleThicknessModifier_DistanceFromCamera *)m;
LineStyleThicknessModifier_DistanceFromCamera *q = (LineStyleThicknessModifier_DistanceFromCamera *)new_m;
@@ -595,9 +595,9 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin
q->range_max = p->range_max;
q->value_min = p->value_min;
q->value_max = p->value_max;
+ break;
}
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
{
LineStyleThicknessModifier_DistanceFromObject *p = (LineStyleThicknessModifier_DistanceFromObject *)m;
LineStyleThicknessModifier_DistanceFromObject *q = (LineStyleThicknessModifier_DistanceFromObject *)new_m;
@@ -610,9 +610,9 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin
q->range_max = p->range_max;
q->value_min = p->value_min;
q->value_max = p->value_max;
+ break;
}
- break;
- case LS_MODIFIER_MATERIAL:
+ case LS_MODIFIER_MATERIAL:
{
LineStyleThicknessModifier_Material *p = (LineStyleThicknessModifier_Material *)m;
LineStyleThicknessModifier_Material *q = (LineStyleThicknessModifier_Material *)new_m;
@@ -621,19 +621,19 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin
q->mat_attr = p->mat_attr;
q->value_min = p->value_min;
q->value_max = p->value_max;
+ break;
}
- break;
- case LS_MODIFIER_CALLIGRAPHY:
+ case LS_MODIFIER_CALLIGRAPHY:
{
LineStyleThicknessModifier_Calligraphy *p = (LineStyleThicknessModifier_Calligraphy *)m;
LineStyleThicknessModifier_Calligraphy *q = (LineStyleThicknessModifier_Calligraphy *)new_m;
q->min_thickness = p->min_thickness;
q->max_thickness = p->max_thickness;
q->orientation = p->orientation;
+ break;
}
- break;
- default:
- return NULL; /* unknown modifier type */
+ default:
+ return NULL; /* unknown modifier type */
}
add_to_modifier_list(&linestyle->thickness_modifiers, new_m);
@@ -643,20 +643,20 @@ LineStyleModifier *BKE_copy_linestyle_thickness_modifier(FreestyleLineStyle *lin
void BKE_remove_linestyle_thickness_modifier(FreestyleLineStyle *linestyle, LineStyleModifier *m)
{
switch (m->type) {
- case LS_MODIFIER_ALONG_STROKE:
- curvemapping_free(((LineStyleThicknessModifier_AlongStroke *)m)->curve);
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
- curvemapping_free(((LineStyleThicknessModifier_DistanceFromCamera *)m)->curve);
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
- curvemapping_free(((LineStyleThicknessModifier_DistanceFromObject *)m)->curve);
- break;
- case LS_MODIFIER_MATERIAL:
- curvemapping_free(((LineStyleThicknessModifier_Material *)m)->curve);
- break;
- case LS_MODIFIER_CALLIGRAPHY:
- break;
+ case LS_MODIFIER_ALONG_STROKE:
+ curvemapping_free(((LineStyleThicknessModifier_AlongStroke *)m)->curve);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ curvemapping_free(((LineStyleThicknessModifier_DistanceFromCamera *)m)->curve);
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ curvemapping_free(((LineStyleThicknessModifier_DistanceFromObject *)m)->curve);
+ break;
+ case LS_MODIFIER_MATERIAL:
+ curvemapping_free(((LineStyleThicknessModifier_Material *)m)->curve);
+ break;
+ case LS_MODIFIER_CALLIGRAPHY:
+ break;
}
BLI_freelinkN(&linestyle->thickness_modifiers, m);
}
@@ -666,47 +666,47 @@ static LineStyleModifier *alloc_geometry_modifier(int type)
size_t size;
switch (type) {
- case LS_MODIFIER_SAMPLING:
- size = sizeof(LineStyleGeometryModifier_Sampling);
- break;
- case LS_MODIFIER_BEZIER_CURVE:
- size = sizeof(LineStyleGeometryModifier_BezierCurve);
- break;
- case LS_MODIFIER_SINUS_DISPLACEMENT:
- size = sizeof(LineStyleGeometryModifier_SinusDisplacement);
- break;
- case LS_MODIFIER_SPATIAL_NOISE:
- size = sizeof(LineStyleGeometryModifier_SpatialNoise);
- break;
- case LS_MODIFIER_PERLIN_NOISE_1D:
- size = sizeof(LineStyleGeometryModifier_PerlinNoise1D);
- break;
- case LS_MODIFIER_PERLIN_NOISE_2D:
- size = sizeof(LineStyleGeometryModifier_PerlinNoise2D);
- break;
- case LS_MODIFIER_BACKBONE_STRETCHER:
- size = sizeof(LineStyleGeometryModifier_BackboneStretcher);
- break;
- case LS_MODIFIER_TIP_REMOVER:
- size = sizeof(LineStyleGeometryModifier_TipRemover);
- break;
- case LS_MODIFIER_POLYGONIZATION:
- size = sizeof(LineStyleGeometryModifier_Polygonalization);
- break;
- case LS_MODIFIER_GUIDING_LINES:
- size = sizeof(LineStyleGeometryModifier_GuidingLines);
- break;
- case LS_MODIFIER_BLUEPRINT:
- size = sizeof(LineStyleGeometryModifier_Blueprint);
- break;
- case LS_MODIFIER_2D_OFFSET:
- size = sizeof(LineStyleGeometryModifier_2DOffset);
- break;
- case LS_MODIFIER_2D_TRANSFORM:
- size = sizeof(LineStyleGeometryModifier_2DTransform);
- break;
- default:
- return NULL; /* unknown modifier type */
+ case LS_MODIFIER_SAMPLING:
+ size = sizeof(LineStyleGeometryModifier_Sampling);
+ break;
+ case LS_MODIFIER_BEZIER_CURVE:
+ size = sizeof(LineStyleGeometryModifier_BezierCurve);
+ break;
+ case LS_MODIFIER_SINUS_DISPLACEMENT:
+ size = sizeof(LineStyleGeometryModifier_SinusDisplacement);
+ break;
+ case LS_MODIFIER_SPATIAL_NOISE:
+ size = sizeof(LineStyleGeometryModifier_SpatialNoise);
+ break;
+ case LS_MODIFIER_PERLIN_NOISE_1D:
+ size = sizeof(LineStyleGeometryModifier_PerlinNoise1D);
+ break;
+ case LS_MODIFIER_PERLIN_NOISE_2D:
+ size = sizeof(LineStyleGeometryModifier_PerlinNoise2D);
+ break;
+ case LS_MODIFIER_BACKBONE_STRETCHER:
+ size = sizeof(LineStyleGeometryModifier_BackboneStretcher);
+ break;
+ case LS_MODIFIER_TIP_REMOVER:
+ size = sizeof(LineStyleGeometryModifier_TipRemover);
+ break;
+ case LS_MODIFIER_POLYGONIZATION:
+ size = sizeof(LineStyleGeometryModifier_Polygonalization);
+ break;
+ case LS_MODIFIER_GUIDING_LINES:
+ size = sizeof(LineStyleGeometryModifier_GuidingLines);
+ break;
+ case LS_MODIFIER_BLUEPRINT:
+ size = sizeof(LineStyleGeometryModifier_Blueprint);
+ break;
+ case LS_MODIFIER_2D_OFFSET:
+ size = sizeof(LineStyleGeometryModifier_2DOffset);
+ break;
+ case LS_MODIFIER_2D_TRANSFORM:
+ size = sizeof(LineStyleGeometryModifier_2DTransform);
+ break;
+ default:
+ return NULL; /* unknown modifier type */
}
return new_modifier(type, size);
@@ -719,78 +719,78 @@ LineStyleModifier *BKE_add_linestyle_geometry_modifier(FreestyleLineStyle *lines
m = alloc_geometry_modifier(type);
switch (type) {
- case LS_MODIFIER_SAMPLING:
+ case LS_MODIFIER_SAMPLING:
{
LineStyleGeometryModifier_Sampling *p = (LineStyleGeometryModifier_Sampling *)m;
p->sampling = 10.0f;
+ break;
}
- break;
- case LS_MODIFIER_BEZIER_CURVE:
+ case LS_MODIFIER_BEZIER_CURVE:
{
LineStyleGeometryModifier_BezierCurve *p = (LineStyleGeometryModifier_BezierCurve *)m;
p->error = 10.0f;
+ break;
}
- break;
- case LS_MODIFIER_SINUS_DISPLACEMENT:
+ case LS_MODIFIER_SINUS_DISPLACEMENT:
{
LineStyleGeometryModifier_SinusDisplacement *p = (LineStyleGeometryModifier_SinusDisplacement *)m;
p->wavelength = 20.0f;
p->amplitude = 5.0f;
p->phase = 0.0f;
+ break;
}
- break;
- case LS_MODIFIER_SPATIAL_NOISE:
+ case LS_MODIFIER_SPATIAL_NOISE:
{
LineStyleGeometryModifier_SpatialNoise *p = (LineStyleGeometryModifier_SpatialNoise *)m;
p->amplitude = 5.0f;
p->scale = 20.0f;
p->octaves = 4;
p->flags = LS_MODIFIER_SPATIAL_NOISE_SMOOTH | LS_MODIFIER_SPATIAL_NOISE_PURERANDOM;
+ break;
}
- break;
- case LS_MODIFIER_PERLIN_NOISE_1D:
+ case LS_MODIFIER_PERLIN_NOISE_1D:
{
LineStyleGeometryModifier_PerlinNoise1D *p = (LineStyleGeometryModifier_PerlinNoise1D *)m;
p->frequency = 10.0f;
p->amplitude = 10.0f;
p->octaves = 4;
p->angle = DEG2RADF(45.0f);
+ break;
}
- break;
- case LS_MODIFIER_PERLIN_NOISE_2D:
+ case LS_MODIFIER_PERLIN_NOISE_2D:
{
LineStyleGeometryModifier_PerlinNoise2D *p = (LineStyleGeometryModifier_PerlinNoise2D *)m;
p->frequency = 10.0f;
p->amplitude = 10.0f;
p->octaves = 4;
p->angle = DEG2RADF(45.0f);
+ break;
}
- break;
- case LS_MODIFIER_BACKBONE_STRETCHER:
+ case LS_MODIFIER_BACKBONE_STRETCHER:
{
LineStyleGeometryModifier_BackboneStretcher *p = (LineStyleGeometryModifier_BackboneStretcher *)m;
p->backbone_length = 10.0f;
+ break;
}
- break;
- case LS_MODIFIER_TIP_REMOVER:
+ case LS_MODIFIER_TIP_REMOVER:
{
LineStyleGeometryModifier_TipRemover *p = (LineStyleGeometryModifier_TipRemover *)m;
p->tip_length = 10.0f;
+ break;
}
- break;
- case LS_MODIFIER_POLYGONIZATION:
+ case LS_MODIFIER_POLYGONIZATION:
{
LineStyleGeometryModifier_Polygonalization *p = (LineStyleGeometryModifier_Polygonalization *)m;
p->error = 10.0f;
+ break;
}
- break;
- case LS_MODIFIER_GUIDING_LINES:
+ case LS_MODIFIER_GUIDING_LINES:
{
LineStyleGeometryModifier_GuidingLines *p = (LineStyleGeometryModifier_GuidingLines *)m;
p->offset = 0.0f;
+ break;
}
- break;
- case LS_MODIFIER_BLUEPRINT:
+ case LS_MODIFIER_BLUEPRINT:
{
LineStyleGeometryModifier_Blueprint *p = (LineStyleGeometryModifier_Blueprint *)m;
p->flags = LS_MODIFIER_BLUEPRINT_CIRCLES;
@@ -799,18 +799,18 @@ LineStyleModifier *BKE_add_linestyle_geometry_modifier(FreestyleLineStyle *lines
p->random_radius = 3;
p->random_center = 5;
p->random_backbone = 5;
+ break;
}
- break;
- case LS_MODIFIER_2D_OFFSET:
+ case LS_MODIFIER_2D_OFFSET:
{
LineStyleGeometryModifier_2DOffset *p = (LineStyleGeometryModifier_2DOffset *)m;
p->start = 0.0f;
p->end = 0.0f;
p->x = 0.0f;
p->y = 0.0f;
+ break;
}
- break;
- case LS_MODIFIER_2D_TRANSFORM:
+ case LS_MODIFIER_2D_TRANSFORM:
{
LineStyleGeometryModifier_2DTransform *p = (LineStyleGeometryModifier_2DTransform *)m;
p->pivot = LS_MODIFIER_2D_TRANSFORM_PIVOT_CENTER;
@@ -820,10 +820,10 @@ LineStyleModifier *BKE_add_linestyle_geometry_modifier(FreestyleLineStyle *lines
p->pivot_u = 0.5f;
p->pivot_x = 0.0f;
p->pivot_y = 0.0f;
+ break;
}
- break;
- default:
- return NULL; /* unknown modifier type */
+ default:
+ return NULL; /* unknown modifier type */
}
add_to_modifier_list(&linestyle->geometry_modifiers, m);
@@ -838,30 +838,30 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line
new_m->flags = m->flags;
switch (m->type) {
- case LS_MODIFIER_SAMPLING:
+ case LS_MODIFIER_SAMPLING:
{
LineStyleGeometryModifier_Sampling *p = (LineStyleGeometryModifier_Sampling *)m;
LineStyleGeometryModifier_Sampling *q = (LineStyleGeometryModifier_Sampling *)new_m;
q->sampling = p->sampling;
+ break;
}
- break;
- case LS_MODIFIER_BEZIER_CURVE:
+ case LS_MODIFIER_BEZIER_CURVE:
{
LineStyleGeometryModifier_BezierCurve *p = (LineStyleGeometryModifier_BezierCurve *)m;
LineStyleGeometryModifier_BezierCurve *q = (LineStyleGeometryModifier_BezierCurve *)new_m;
q->error = p->error;
+ break;
}
- break;
- case LS_MODIFIER_SINUS_DISPLACEMENT:
+ case LS_MODIFIER_SINUS_DISPLACEMENT:
{
LineStyleGeometryModifier_SinusDisplacement *p = (LineStyleGeometryModifier_SinusDisplacement *)m;
LineStyleGeometryModifier_SinusDisplacement *q = (LineStyleGeometryModifier_SinusDisplacement *)new_m;
q->wavelength = p->wavelength;
q->amplitude = p->amplitude;
q->phase = p->phase;
+ break;
}
- break;
- case LS_MODIFIER_SPATIAL_NOISE:
+ case LS_MODIFIER_SPATIAL_NOISE:
{
LineStyleGeometryModifier_SpatialNoise *p = (LineStyleGeometryModifier_SpatialNoise *)m;
LineStyleGeometryModifier_SpatialNoise *q = (LineStyleGeometryModifier_SpatialNoise *)new_m;
@@ -869,9 +869,9 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line
q->scale = p->scale;
q->octaves = p->octaves;
q->flags = p->flags;
+ break;
}
- break;
- case LS_MODIFIER_PERLIN_NOISE_1D:
+ case LS_MODIFIER_PERLIN_NOISE_1D:
{
LineStyleGeometryModifier_PerlinNoise1D *p = (LineStyleGeometryModifier_PerlinNoise1D *)m;
LineStyleGeometryModifier_PerlinNoise1D *q = (LineStyleGeometryModifier_PerlinNoise1D *)new_m;
@@ -880,9 +880,9 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line
q->angle = p->angle;
q->octaves = p->octaves;
q->seed = p->seed;
+ break;
}
- break;
- case LS_MODIFIER_PERLIN_NOISE_2D:
+ case LS_MODIFIER_PERLIN_NOISE_2D:
{
LineStyleGeometryModifier_PerlinNoise2D *p = (LineStyleGeometryModifier_PerlinNoise2D *)m;
LineStyleGeometryModifier_PerlinNoise2D *q = (LineStyleGeometryModifier_PerlinNoise2D *)new_m;
@@ -891,37 +891,37 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line
q->angle = p->angle;
q->octaves = p->octaves;
q->seed = p->seed;
+ break;
}
- break;
- case LS_MODIFIER_BACKBONE_STRETCHER:
+ case LS_MODIFIER_BACKBONE_STRETCHER:
{
LineStyleGeometryModifier_BackboneStretcher *p = (LineStyleGeometryModifier_BackboneStretcher *)m;
LineStyleGeometryModifier_BackboneStretcher *q = (LineStyleGeometryModifier_BackboneStretcher *)new_m;
q->backbone_length = p->backbone_length;
+ break;
}
- break;
- case LS_MODIFIER_TIP_REMOVER:
+ case LS_MODIFIER_TIP_REMOVER:
{
LineStyleGeometryModifier_TipRemover *p = (LineStyleGeometryModifier_TipRemover *)m;
LineStyleGeometryModifier_TipRemover *q = (LineStyleGeometryModifier_TipRemover *)new_m;
q->tip_length = p->tip_length;
+ break;
}
- break;
- case LS_MODIFIER_POLYGONIZATION:
+ case LS_MODIFIER_POLYGONIZATION:
{
LineStyleGeometryModifier_Polygonalization *p = (LineStyleGeometryModifier_Polygonalization *)m;
LineStyleGeometryModifier_Polygonalization *q = (LineStyleGeometryModifier_Polygonalization *)new_m;
q->error = p->error;
+ break;
}
- break;
- case LS_MODIFIER_GUIDING_LINES:
+ case LS_MODIFIER_GUIDING_LINES:
{
LineStyleGeometryModifier_GuidingLines *p = (LineStyleGeometryModifier_GuidingLines *)m;
LineStyleGeometryModifier_GuidingLines *q = (LineStyleGeometryModifier_GuidingLines *)new_m;
q->offset = p->offset;
+ break;
}
- break;
- case LS_MODIFIER_BLUEPRINT:
+ case LS_MODIFIER_BLUEPRINT:
{
LineStyleGeometryModifier_Blueprint *p = (LineStyleGeometryModifier_Blueprint *)m;
LineStyleGeometryModifier_Blueprint *q = (LineStyleGeometryModifier_Blueprint *)new_m;
@@ -931,9 +931,9 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line
q->random_radius = p->random_radius;
q->random_center = p->random_center;
q->random_backbone = p->random_backbone;
+ break;
}
- break;
- case LS_MODIFIER_2D_OFFSET:
+ case LS_MODIFIER_2D_OFFSET:
{
LineStyleGeometryModifier_2DOffset *p = (LineStyleGeometryModifier_2DOffset *)m;
LineStyleGeometryModifier_2DOffset *q = (LineStyleGeometryModifier_2DOffset *)new_m;
@@ -941,9 +941,9 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line
q->end = p->end;
q->x = p->x;
q->y = p->y;
+ break;
}
- break;
- case LS_MODIFIER_2D_TRANSFORM:
+ case LS_MODIFIER_2D_TRANSFORM:
{
LineStyleGeometryModifier_2DTransform *p = (LineStyleGeometryModifier_2DTransform *)m;
LineStyleGeometryModifier_2DTransform *q = (LineStyleGeometryModifier_2DTransform *)new_m;
@@ -954,10 +954,10 @@ LineStyleModifier *BKE_copy_linestyle_geometry_modifier(FreestyleLineStyle *line
q->pivot_u = p->pivot_u;
q->pivot_x = p->pivot_x;
q->pivot_y = p->pivot_y;
+ break;
}
- break;
- default:
- return NULL; /* unknown modifier type */
+ default:
+ return NULL; /* unknown modifier type */
}
add_to_modifier_list(&linestyle->geometry_modifiers, new_m);
@@ -1007,20 +1007,20 @@ void BKE_list_modifier_color_ramps(FreestyleLineStyle *linestyle, ListBase *list
listbase->first = listbase->last = NULL;
for (m = (LineStyleModifier *)linestyle->color_modifiers.first; m; m = m->next) {
switch (m->type) {
- case LS_MODIFIER_ALONG_STROKE:
- color_ramp = ((LineStyleColorModifier_AlongStroke *)m)->color_ramp;
- break;
- case LS_MODIFIER_DISTANCE_FROM_CAMERA:
- color_ramp = ((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp;
- break;
- case LS_MODIFIER_DISTANCE_FROM_OBJECT:
- color_ramp = ((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp;
- break;
- case LS_MODIFIER_MATERIAL:
- color_ramp = ((LineStyleColorModifier_Material *)m)->color_ramp;
- break;
- default:
- continue;
+ case LS_MODIFIER_ALONG_STROKE:
+ color_ramp = ((LineStyleColorModifier_AlongStroke *)m)->color_ramp;
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_CAMERA:
+ color_ramp = ((LineStyleColorModifier_DistanceFromCamera *)m)->color_ramp;
+ break;
+ case LS_MODIFIER_DISTANCE_FROM_OBJECT:
+ color_ramp = ((LineStyleColorModifier_DistanceFromObject *)m)->color_ramp;
+ break;
+ case LS_MODIFIER_MATERIAL:
+ color_ramp = ((LineStyleColorModifier_Material *)m)->color_ramp;
+ break;
+ default:
+ continue;
}
link = (LinkData *) MEM_callocN( sizeof(LinkData), "link to color ramp");
link->data = color_ramp;
diff --git a/source/blender/blenkernel/intern/mask_rasterize.c b/source/blender/blenkernel/intern/mask_rasterize.c
index e68f87211eb..ac48eaa3185 100644
--- a/source/blender/blenkernel/intern/mask_rasterize.c
+++ b/source/blender/blenkernel/intern/mask_rasterize.c
@@ -496,10 +496,10 @@ static void layer_bucket_init(MaskRasterLayer *layer, const float pixel_size)
/* this should _almost_ never happen but since it can in extreme cases,
* we have to clamp the values or we overrun the buffer and crash */
- CLAMP(xi_min, 0, layer->buckets_x - 1);
- CLAMP(xi_max, 0, layer->buckets_x - 1);
- CLAMP(yi_min, 0, layer->buckets_y - 1);
- CLAMP(yi_max, 0, layer->buckets_y - 1);
+ if (xi_min >= layer->buckets_x) xi_min = layer->buckets_x - 1;
+ if (xi_max >= layer->buckets_x) xi_max = layer->buckets_x - 1;
+ if (yi_min >= layer->buckets_y) yi_min = layer->buckets_y - 1;
+ if (yi_max >= layer->buckets_y) yi_max = layer->buckets_y - 1;
for (yi = yi_min; yi <= yi_max; yi++) {
unsigned int bucket_index = (layer->buckets_x * yi) + xi_min;
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index a445d43da00..e14b51975c8 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -1430,8 +1430,8 @@ void ramp_blend(int type, float r_col[3], const float fac, const float col[3])
r_col[1] = facm * (r_col[1]) + fac * tmpg;
r_col[2] = facm * (r_col[2]) + fac * tmpb;
}
+ break;
}
- break;
case MA_RAMP_SAT:
{
float rH, rS, rV;
@@ -1441,8 +1441,8 @@ void ramp_blend(int type, float r_col[3], const float fac, const float col[3])
rgb_to_hsv(col[0], col[1], col[2], &colH, &colS, &colV);
hsv_to_rgb(rH, (facm * rS + fac * colS), rV, r_col + 0, r_col + 1, r_col + 2);
}
+ break;
}
- break;
case MA_RAMP_VAL:
{
float rH, rS, rV;
@@ -1450,8 +1450,8 @@ void ramp_blend(int type, float r_col[3], const float fac, const float col[3])
rgb_to_hsv(r_col[0], r_col[1], r_col[2], &rH, &rS, &rV);
rgb_to_hsv(col[0], col[1], col[2], &colH, &colS, &colV);
hsv_to_rgb(rH, rS, (facm * rV + fac * colV), r_col + 0, r_col + 1, r_col + 2);
+ break;
}
- break;
case MA_RAMP_COLOR:
{
float rH, rS, rV;
@@ -1465,8 +1465,8 @@ void ramp_blend(int type, float r_col[3], const float fac, const float col[3])
r_col[1] = facm * (r_col[1]) + fac * tmpg;
r_col[2] = facm * (r_col[2]) + fac * tmpb;
}
+ break;
}
- break;
case MA_RAMP_SOFT:
{
float scr, scg, scb;
@@ -1479,8 +1479,8 @@ void ramp_blend(int type, float r_col[3], const float fac, const float col[3])
r_col[0] = facm * (r_col[0]) + fac * (((1.0f - r_col[0]) * col[0] * (r_col[0])) + (r_col[0] * scr));
r_col[1] = facm * (r_col[1]) + fac * (((1.0f - r_col[1]) * col[1] * (r_col[1])) + (r_col[1] * scg));
r_col[2] = facm * (r_col[2]) + fac * (((1.0f - r_col[2]) * col[2] * (r_col[2])) + (r_col[2] * scb));
+ break;
}
- break;
case MA_RAMP_LINEAR:
if (col[0] > 0.5f)
r_col[0] = r_col[0] + fac * (2.0f * (col[0] - 0.5f));
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index f24a55dcc44..439965420f7 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -2189,10 +2189,13 @@ static void bm_corners_to_loops_ex(ID *id, CustomData *fdata, CustomData *ldata,
if (ld->disps)
MEM_freeN(ld->disps);
- ld->disps = MEM_callocN(sizeof(float) * 3 * side * side, "converted loop mdisps");
+ ld->disps = MEM_mallocN(sizeof(float) * 3 * side * side, "converted loop mdisps");
if (fd->disps) {
memcpy(ld->disps, disps, sizeof(float) * 3 * side * side);
}
+ else {
+ memset(ld->disps, 0, sizeof(float) * 3 * side * side);
+ }
}
}
}
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index 386b50c7018..84dfa70abfc 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -525,60 +525,60 @@ bNodeSocket *nodeInsertSocket(bNodeTree *ntree, bNode *node, int in_out, const c
const char *nodeStaticSocketType(int type, int subtype)
{
switch (type) {
- case SOCK_FLOAT:
- switch (subtype) {
- case PROP_UNSIGNED:
- return "NodeSocketFloatUnsigned";
- case PROP_PERCENTAGE:
- return "NodeSocketFloatPercentage";
- case PROP_FACTOR:
- return "NodeSocketFloatFactor";
- case PROP_ANGLE:
- return "NodeSocketFloatAngle";
- case PROP_TIME:
- return "NodeSocketFloatTime";
- case PROP_NONE:
- default:
- return "NodeSocketFloat";
- }
- case SOCK_INT:
- switch (subtype) {
- case PROP_UNSIGNED:
- return "NodeSocketIntUnsigned";
- case PROP_PERCENTAGE:
- return "NodeSocketIntPercentage";
- case PROP_FACTOR:
- return "NodeSocketIntFactor";
- case PROP_NONE:
- default:
- return "NodeSocketInt";
- }
- case SOCK_BOOLEAN:
- return "NodeSocketBool";
- case SOCK_VECTOR:
- switch (subtype) {
- case PROP_TRANSLATION:
- return "NodeSocketVectorTranslation";
- case PROP_DIRECTION:
- return "NodeSocketVectorDirection";
- case PROP_VELOCITY:
- return "NodeSocketVectorVelocity";
- case PROP_ACCELERATION:
- return "NodeSocketVectorAcceleration";
- case PROP_EULER:
- return "NodeSocketVectorEuler";
- case PROP_XYZ:
- return "NodeSocketVectorXYZ";
- case PROP_NONE:
- default:
- return "NodeSocketVector";
- }
- case SOCK_RGBA:
- return "NodeSocketColor";
- case SOCK_STRING:
- return "NodeSocketString";
- case SOCK_SHADER:
- return "NodeSocketShader";
+ case SOCK_FLOAT:
+ switch (subtype) {
+ case PROP_UNSIGNED:
+ return "NodeSocketFloatUnsigned";
+ case PROP_PERCENTAGE:
+ return "NodeSocketFloatPercentage";
+ case PROP_FACTOR:
+ return "NodeSocketFloatFactor";
+ case PROP_ANGLE:
+ return "NodeSocketFloatAngle";
+ case PROP_TIME:
+ return "NodeSocketFloatTime";
+ case PROP_NONE:
+ default:
+ return "NodeSocketFloat";
+ }
+ case SOCK_INT:
+ switch (subtype) {
+ case PROP_UNSIGNED:
+ return "NodeSocketIntUnsigned";
+ case PROP_PERCENTAGE:
+ return "NodeSocketIntPercentage";
+ case PROP_FACTOR:
+ return "NodeSocketIntFactor";
+ case PROP_NONE:
+ default:
+ return "NodeSocketInt";
+ }
+ case SOCK_BOOLEAN:
+ return "NodeSocketBool";
+ case SOCK_VECTOR:
+ switch (subtype) {
+ case PROP_TRANSLATION:
+ return "NodeSocketVectorTranslation";
+ case PROP_DIRECTION:
+ return "NodeSocketVectorDirection";
+ case PROP_VELOCITY:
+ return "NodeSocketVectorVelocity";
+ case PROP_ACCELERATION:
+ return "NodeSocketVectorAcceleration";
+ case PROP_EULER:
+ return "NodeSocketVectorEuler";
+ case PROP_XYZ:
+ return "NodeSocketVectorXYZ";
+ case PROP_NONE:
+ default:
+ return "NodeSocketVector";
+ }
+ case SOCK_RGBA:
+ return "NodeSocketColor";
+ case SOCK_STRING:
+ return "NodeSocketString";
+ case SOCK_SHADER:
+ return "NodeSocketShader";
}
return NULL;
}
@@ -586,60 +586,60 @@ const char *nodeStaticSocketType(int type, int subtype)
const char *nodeStaticSocketInterfaceType(int type, int subtype)
{
switch (type) {
- case SOCK_FLOAT:
- switch (subtype) {
- case PROP_UNSIGNED:
- return "NodeSocketInterfaceFloatUnsigned";
- case PROP_PERCENTAGE:
- return "NodeSocketInterfaceFloatPercentage";
- case PROP_FACTOR:
- return "NodeSocketInterfaceFloatFactor";
- case PROP_ANGLE:
- return "NodeSocketInterfaceFloatAngle";
- case PROP_TIME:
- return "NodeSocketInterfaceFloatTime";
- case PROP_NONE:
- default:
- return "NodeSocketInterfaceFloat";
- }
- case SOCK_INT:
- switch (subtype) {
- case PROP_UNSIGNED:
- return "NodeSocketInterfaceIntUnsigned";
- case PROP_PERCENTAGE:
- return "NodeSocketInterfaceIntPercentage";
- case PROP_FACTOR:
- return "NodeSocketInterfaceIntFactor";
- case PROP_NONE:
- default:
- return "NodeSocketInterfaceInt";
- }
- case SOCK_BOOLEAN:
- return "NodeSocketInterfaceBool";
- case SOCK_VECTOR:
- switch (subtype) {
- case PROP_TRANSLATION:
- return "NodeSocketInterfaceVectorTranslation";
- case PROP_DIRECTION:
- return "NodeSocketInterfaceVectorDirection";
- case PROP_VELOCITY:
- return "NodeSocketInterfaceVectorVelocity";
- case PROP_ACCELERATION:
- return "NodeSocketInterfaceVectorAcceleration";
- case PROP_EULER:
- return "NodeSocketInterfaceVectorEuler";
- case PROP_XYZ:
- return "NodeSocketInterfaceVectorXYZ";
- case PROP_NONE:
- default:
- return "NodeSocketInterfaceVector";
- }
- case SOCK_RGBA:
- return "NodeSocketInterfaceColor";
- case SOCK_STRING:
- return "NodeSocketInterfaceString";
- case SOCK_SHADER:
- return "NodeSocketInterfaceShader";
+ case SOCK_FLOAT:
+ switch (subtype) {
+ case PROP_UNSIGNED:
+ return "NodeSocketInterfaceFloatUnsigned";
+ case PROP_PERCENTAGE:
+ return "NodeSocketInterfaceFloatPercentage";
+ case PROP_FACTOR:
+ return "NodeSocketInterfaceFloatFactor";
+ case PROP_ANGLE:
+ return "NodeSocketInterfaceFloatAngle";
+ case PROP_TIME:
+ return "NodeSocketInterfaceFloatTime";
+ case PROP_NONE:
+ default:
+ return "NodeSocketInterfaceFloat";
+ }
+ case SOCK_INT:
+ switch (subtype) {
+ case PROP_UNSIGNED:
+ return "NodeSocketInterfaceIntUnsigned";
+ case PROP_PERCENTAGE:
+ return "NodeSocketInterfaceIntPercentage";
+ case PROP_FACTOR:
+ return "NodeSocketInterfaceIntFactor";
+ case PROP_NONE:
+ default:
+ return "NodeSocketInterfaceInt";
+ }
+ case SOCK_BOOLEAN:
+ return "NodeSocketInterfaceBool";
+ case SOCK_VECTOR:
+ switch (subtype) {
+ case PROP_TRANSLATION:
+ return "NodeSocketInterfaceVectorTranslation";
+ case PROP_DIRECTION:
+ return "NodeSocketInterfaceVectorDirection";
+ case PROP_VELOCITY:
+ return "NodeSocketInterfaceVectorVelocity";
+ case PROP_ACCELERATION:
+ return "NodeSocketInterfaceVectorAcceleration";
+ case PROP_EULER:
+ return "NodeSocketInterfaceVectorEuler";
+ case PROP_XYZ:
+ return "NodeSocketInterfaceVectorXYZ";
+ case PROP_NONE:
+ default:
+ return "NodeSocketInterfaceVector";
+ }
+ case SOCK_RGBA:
+ return "NodeSocketInterfaceColor";
+ case SOCK_STRING:
+ return "NodeSocketInterfaceString";
+ case SOCK_SHADER:
+ return "NodeSocketInterfaceShader";
}
return NULL;
}
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index e79a759407b..1df64431824 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -1589,13 +1589,15 @@ void BKE_object_mat3_to_rot(Object *ob, float mat[3][3], bool use_compat)
normalize_qt_qt(dquat, ob->dquat);
invert_qt(dquat);
mul_qt_qtqt(ob->quat, dquat, ob->quat);
+ break;
}
- break;
case ROT_MODE_AXISANGLE:
+ {
mat3_to_axis_angle(ob->rotAxis, &ob->rotAngle, mat);
sub_v3_v3(ob->rotAxis, ob->drotAxis);
ob->rotAngle -= ob->drotAngle;
break;
+ }
default: /* euler */
{
float quat[4];
@@ -2357,8 +2359,9 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3], const bool us
/* Use the object bounding box so that modifier output
* gets taken into account */
- if (ob->bb)
+ if (ob->bb) {
bb = *(ob->bb);
+ }
else {
if (cu->bb == NULL)
BKE_curve_texspace_calc(cu);
@@ -2370,8 +2373,8 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3], const bool us
minmax_v3v3_v3(min_r, max_r, bb.vec[a]);
}
change = TRUE;
+ break;
}
- break;
case OB_LATTICE:
{
Lattice *lt = ob->data;
@@ -2387,9 +2390,10 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3], const bool us
}
}
change = TRUE;
+ break;
}
- break;
case OB_ARMATURE:
+ {
if (ob->pose) {
bArmature *arm = ob->data;
bPoseChannel *pchan;
@@ -2408,6 +2412,7 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3], const bool us
}
}
break;
+ }
case OB_MESH:
{
Mesh *me = BKE_mesh_from_object(ob);
@@ -2421,8 +2426,8 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3], const bool us
}
change = TRUE;
}
+ break;
}
- break;
case OB_MBALL:
{
float ob_min[3], ob_max[3];
@@ -2721,10 +2726,8 @@ void BKE_object_handle_update_ex(Scene *scene, Object *ob,
makeDerivedMesh(scene, ob, NULL, data_mask, 0);
}
#endif
-
+ break;
}
- break;
-
case OB_ARMATURE:
if (ob->id.lib && ob->proxy_from) {
if (BKE_pose_copy_result(ob->pose, ob->proxy_from->pose) == false) {
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index e81afc7efb6..b080cfcff2f 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -179,8 +179,10 @@ static void BKE_sequence_free_ex(Scene *scene, Sequence *seq, const int do_cache
if (seq->strip)
seq_free_strip(seq->strip);
- if (seq->anim)
+ if (seq->anim) {
IMB_free_anim(seq->anim);
+ seq->anim = NULL;
+ }
if (seq->type & SEQ_TYPE_EFFECT) {
struct SeqEffectHandle sh = BKE_sequence_get_effect(seq);
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index 9b5e5070342..26a5dada108 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -1970,7 +1970,7 @@ static void ccgDM_drawFacesGLSL(DerivedMesh *dm, DMSetMaterial setMaterial)
/* Only used by non-editmesh types */
static void ccgDM_drawMappedFacesMat(DerivedMesh *dm,
void (*setMaterial)(void *userData, int, void *attribs),
- int (*setFace)(void *userData, int index), void *userData)
+ bool (*setFace)(void *userData, int index), void *userData)
{
CCGDerivedMesh *ccgdm = (CCGDerivedMesh *) dm;
CCGSubSurf *ss = ccgdm->ss;
diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c
index f08a51e602c..110d67b3d47 100644
--- a/source/blender/blenkernel/intern/writeffmpeg.c
+++ b/source/blender/blenkernel/intern/writeffmpeg.c
@@ -1072,23 +1072,23 @@ int BKE_ffmpeg_start(struct Scene *scene, RenderData *rd, int rectx, int recty,
specs.channels = c->channels;
switch (av_get_packed_sample_fmt(c->sample_fmt)) {
- case AV_SAMPLE_FMT_U8:
- specs.format = AUD_FORMAT_U8;
- break;
- case AV_SAMPLE_FMT_S16:
- specs.format = AUD_FORMAT_S16;
- break;
- case AV_SAMPLE_FMT_S32:
- specs.format = AUD_FORMAT_S32;
- break;
- case AV_SAMPLE_FMT_FLT:
- specs.format = AUD_FORMAT_FLOAT32;
- break;
- case AV_SAMPLE_FMT_DBL:
- specs.format = AUD_FORMAT_FLOAT64;
- break;
- default:
- return -31415;
+ case AV_SAMPLE_FMT_U8:
+ specs.format = AUD_FORMAT_U8;
+ break;
+ case AV_SAMPLE_FMT_S16:
+ specs.format = AUD_FORMAT_S16;
+ break;
+ case AV_SAMPLE_FMT_S32:
+ specs.format = AUD_FORMAT_S32;
+ break;
+ case AV_SAMPLE_FMT_FLT:
+ specs.format = AUD_FORMAT_FLOAT32;
+ break;
+ case AV_SAMPLE_FMT_DBL:
+ specs.format = AUD_FORMAT_FLOAT64;
+ break;
+ default:
+ return -31415;
}
specs.rate = rd->ffcodecdata.audio_mixrate;