[Bf-blender-cvs] [5e1d438d5e] surface-deform-modifier: Constify some stuff (for clarity and correctness)
Luca Rood
noreply at git.blender.org
Tue Jan 10 19:43:06 CET 2017
Commit: 5e1d438d5e7a4f70c1db67314cf213ee48f3d9ee
Author: Luca Rood
Date: Tue Jan 10 16:30:52 2017 -0200
Branches: surface-deform-modifier
https://developer.blender.org/rB5e1d438d5e7a4f70c1db67314cf213ee48f3d9ee
Constify some stuff (for clarity and correctness)
===================================================================
M source/blender/modifiers/intern/MOD_surfacedeform.c
===================================================================
diff --git a/source/blender/modifiers/intern/MOD_surfacedeform.c b/source/blender/modifiers/intern/MOD_surfacedeform.c
index 82450da947..d153ed951e 100644
--- a/source/blender/modifiers/intern/MOD_surfacedeform.c
+++ b/source/blender/modifiers/intern/MOD_surfacedeform.c
@@ -28,14 +28,14 @@ typedef struct SDefEdgePolys {
typedef struct SDefBindCalcData {
BVHTreeFromMesh * const treeData;
- SDefAdjacency ** const vert_edges;
- SDefEdgePolys * const edge_polys;
+ const SDefAdjacency ** const vert_edges;
+ const SDefEdgePolys * const edge_polys;
SDefVert * const bind_verts;
const MLoopTri * const looptri;
- MPoly * const mpoly;
- MEdge * const medge;
- MLoop * const mloop;
- MVert * const mvert;
+ const MPoly * const mpoly;
+ const MEdge * const medge;
+ const MLoop * const mloop;
+ const MVert * const mvert;
float (* const vertexCos)[3];
const float falloff;
int success;
@@ -192,10 +192,10 @@ static void freeAdjacencyMap(SDefAdjacency ** const vert_edges, SDefEdgePolys *
MEM_freeN(vert_edges);
}
-static int buildAdjacencyMap(MPoly *poly, MEdge *edge, MLoop * const mloop, const int numpoly, const int numedges,
+static int buildAdjacencyMap(const MPoly *poly, const MEdge *edge, const MLoop * const mloop, const int numpoly, const int numedges,
SDefAdjacency ** const vert_edges, SDefEdgePolys * const edge_polys)
{
- MLoop *loop;
+ const MLoop *loop;
SDefAdjacency *adj;
int i, j;
@@ -244,7 +244,7 @@ static int buildAdjacencyMap(MPoly *poly, MEdge *edge, MLoop * const mloop, cons
return 1;
}
-BLI_INLINE void sortPolyVertsEdge(int *indices, MLoop * const mloop, const int edge, const int num)
+BLI_INLINE void sortPolyVertsEdge(int *indices, const MLoop * const mloop, const int edge, const int num)
{
int i;
bool found = false;
@@ -266,7 +266,7 @@ BLI_INLINE void sortPolyVertsEdge(int *indices, MLoop * const mloop, const int e
}
}
-BLI_INLINE void sortPolyVertsTri(int *indices, MLoop * const mloop, const int loopstart, const int num)
+BLI_INLINE void sortPolyVertsTri(int *indices, const MLoop * const mloop, const int loopstart, const int num)
{
int i;
@@ -328,11 +328,11 @@ BLI_INLINE void meanValueCoordinates(float w[], const float point[2], const floa
BLI_INLINE int nearestVert(SDefBindCalcData * const data, const float point_co[3])
{
- MVert * const mvert = data->mvert;
+ const MVert * const mvert = data->mvert;
BVHTreeNearest nearest = {.dist_sq = FLT_MAX, .index = -1};
- MPoly *poly;
- MEdge *edge;
- MLoop *loop;
+ const MPoly *poly;
+ const MEdge *edge;
+ const MLoop *loop;
float max_dist = FLT_MAX;
float dist;
int index;
@@ -420,12 +420,12 @@ static void freeBindData(SDefBindWeightData * const bwdata)
BLI_INLINE SDefBindWeightData *computeBindWeights(SDefBindCalcData * const data, const float point_co[3])
{
const int nearest = nearestVert(data, point_co);
- SDefAdjacency * const vert_edges = data->vert_edges[nearest];
- SDefEdgePolys * const edge_polys = data->edge_polys;
+ const SDefAdjacency * const vert_edges = data->vert_edges[nearest];
+ const SDefEdgePolys * const edge_polys = data->edge_polys;
- SDefAdjacency *vedge;
- MPoly *poly;
- MLoop *loop;
+ const SDefAdjacency *vedge;
+ const MPoly *poly;
+ const MLoop *loop;
SDefBindWeightData *bwdata;
SDefBindPoly *bpoly;
@@ -598,7 +598,7 @@ BLI_INLINE SDefBindWeightData *computeBindWeights(SDefBindCalcData * const data,
if (!inf_weight_flags) {
for (vedge = vert_edges; vedge; vedge = vedge->next) {
SDefBindPoly *bpolys[2];
- SDefEdgePolys *epolys;
+ const SDefEdgePolys *epolys;
float tmp1, tmp2;
int edge_ind = vedge->index;
int edge_on_poly[2];
@@ -833,7 +833,7 @@ static void bindVert(void *userdata, void *UNUSED(userdata_chunk), const int ind
for (bpoly = bwdata->bind_polys; bpoly; bpoly = bpoly->next) {
if (bpoly->weight >= FLT_EPSILON) {
if (bpoly->inside) {
- MLoop *loop = &data->mloop[bpoly->loopstart];
+ const MLoop *loop = &data->mloop[bpoly->loopstart];
sdbind->influence = bpoly->weight;
sdbind->numverts = bpoly->numverts;
@@ -954,9 +954,9 @@ static bool surfacedeformBind(SurfaceDeformModifierData *smd, float (*vertexCos)
int numverts, int tnumpoly, DerivedMesh *tdm)
{
BVHTreeFromMesh treeData = {NULL};
- MPoly *mpoly = tdm->getPolyArray(tdm);
- MEdge *medge = tdm->getEdgeArray(tdm);
- MLoop *mloop = tdm->getLoopArray(tdm);
+ const MPoly *mpoly = tdm->getPolyArray(tdm);
+ const MEdge *medge = tdm->getEdgeArray(tdm);
+ const MLoop *mloop = tdm->getLoopArray(tdm);
int tnumedges = tdm->getNumEdges(tdm);
int tnumverts = tdm->getNumVerts(tdm);
int adj_result;
@@ -1055,7 +1055,7 @@ static void surfacedeformModifier_do(ModifierData *md, float (*vertexCos)[3], in
int tnumpoly;
SDefVert *sdvert;
SDefBind *sdbind;
- MVert *mvert;
+ const MVert *mvert;
int i, j, k;
float norm[3], temp[3];
More information about the Bf-blender-cvs
mailing list