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>2014-04-23 23:14:35 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-04-23 23:14:35 +0400
commitbba974241b3972f4399c79062f145fe693f42607 (patch)
tree736a81a9fde18c9a286b284dbcf51b90d938aa7b
parent1e6fa59e4f4447bfeecd5abb868361ae1b7ab9ab (diff)
Subsurf: minor optimization setting edge origindex
-rw-r--r--source/blender/blenkernel/intern/subsurf_ccg.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index 1441137defb..482633c524d 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -3388,7 +3388,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
int index, totvert, totedge, totface;
int i;
int vertNum, edgeNum, faceNum;
- int *vertOrigIndex, *faceOrigIndex, *polyOrigIndex, *base_polyOrigIndex; /* *edgeOrigIndex - as yet, unused */
+ int *vertOrigIndex, *faceOrigIndex, *polyOrigIndex, *base_polyOrigIndex, *edgeOrigIndex;
short *edgeFlags;
DMFlagMat *faceFlags;
int *polyidx = NULL;
@@ -3398,7 +3398,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
BLI_array_declare(vertidx);
#endif
int loopindex, loopindex2;
- int edgeSize, has_edge_origindex;
+ int edgeSize;
int gridSize;
int gridFaces, gridCuts;
/*int gridSideVerts;*/
@@ -3566,7 +3566,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
faceFlags = ccgdm->faceFlags = MEM_callocN(sizeof(DMFlagMat) * totface, "faceFlags");
vertOrigIndex = DM_get_vert_data_layer(&ccgdm->dm, CD_ORIGINDEX);
- /*edgeOrigIndex = DM_get_edge_data_layer(&ccgdm->dm, CD_ORIGINDEX);*/
+ edgeOrigIndex = DM_get_edge_data_layer(&ccgdm->dm, CD_ORIGINDEX);
faceOrigIndex = DM_get_tessface_data_layer(&ccgdm->dm, CD_ORIGINDEX);
polyOrigIndex = DM_get_poly_data_layer(&ccgdm->dm, CD_ORIGINDEX);
@@ -3579,9 +3579,6 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
mcol = DM_get_tessface_data_layer(&ccgdm->dm, CD_MCOL);
#endif
- has_edge_origindex = CustomData_has_layer(&ccgdm->dm.edgeData, CD_ORIGINDEX);
-
-
loopindex = loopindex2 = 0; /* current loop index */
for (index = 0; index < totface; index++) {
CCGFace *f = ccgdm->faceMap[index].face;
@@ -3671,10 +3668,10 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
}
}
- if (has_edge_origindex) {
- for (i = 0; i < numFinalEdges; ++i)
- *(int *)DM_get_edge_data(&ccgdm->dm, edgeNum + i,
- CD_ORIGINDEX) = ORIGINDEX_NONE;
+ if (edgeOrigIndex) {
+ for (i = 0; i < numFinalEdges; ++i) {
+ edgeOrigIndex[edgeNum + i] = ORIGINDEX_NONE;
+ }
}
for (s = 0; s < numVerts; s++) {
@@ -3768,9 +3765,9 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
vertNum++;
}
- for (i = 0; i < numFinalEdges; ++i) {
- if (has_edge_origindex) {
- *(int *)DM_get_edge_data(&ccgdm->dm, edgeNum + i, CD_ORIGINDEX) = mapIndex;
+ if (edgeOrigIndex) {
+ for (i = 0; i < numFinalEdges; ++i) {
+ edgeOrigIndex[edgeNum + i] = mapIndex;
}
}