diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-05-09 00:18:33 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-05-09 00:18:33 +0400 |
commit | f6abd6ee401fb19a3005c0f0b604674b026eb270 (patch) | |
tree | 4212a9a9c886034e60d84681d3b9b6dc46b931a2 /source/blender/editors/armature/reeb.c | |
parent | d9a70ceeb14fa7e723ce226f36eba12aea2373df (diff) |
style cleanup: graph & armature
Diffstat (limited to 'source/blender/editors/armature/reeb.c')
-rw-r--r-- | source/blender/editors/armature/reeb.c | 436 |
1 files changed, 214 insertions, 222 deletions
diff --git a/source/blender/editors/armature/reeb.c b/source/blender/editors/armature/reeb.c index efcbab78884..2564683ddd2 100644 --- a/source/blender/editors/armature/reeb.c +++ b/source/blender/editors/armature/reeb.c @@ -98,7 +98,7 @@ typedef struct VertexData { typedef struct EdgeIndex { EditEdge **edges; - int *offset; + int *offset; } EdgeIndex; typedef enum { @@ -110,12 +110,12 @@ typedef enum { int mergeArcs(ReebGraph *rg, ReebArc *a0, ReebArc *a1); void mergeArcEdges(ReebGraph *rg, ReebArc *aDst, ReebArc *aSrc, MergeDirection direction); int mergeConnectedArcs(ReebGraph *rg, ReebArc *a0, ReebArc *a1); -EditEdge * NextEdgeForVert(EdgeIndex *indexed_edges, int index); +EditEdge *NextEdgeForVert(EdgeIndex *indexed_edges, int index); void mergeArcFaces(ReebGraph *rg, ReebArc *aDst, ReebArc *aSrc); void addFacetoArc(ReebArc *arc, EditFace *efa); -void REEB_RadialSymmetry(BNode* root_node, RadialArc* ring, int count); -void REEB_AxialSymmetry(BNode* root_node, BNode* node1, BNode* node2, struct BArc* barc1, BArc* barc2); +void REEB_RadialSymmetry(BNode *root_node, RadialArc *ring, int count); +void REEB_AxialSymmetry(BNode *root_node, BNode *node1, BNode *node2, struct BArc *barc1, BArc *barc2); void flipArcBuckets(ReebArc *arc); @@ -145,34 +145,34 @@ static VertexData *allocVertexData(EditMesh *em) static int indexData(EditVert *eve) { - return ((VertexData*)eve->tmp.p)->i; + return ((VertexData *)eve->tmp.p)->i; } static float weightData(EditVert *eve) { - return ((VertexData*)eve->tmp.p)->w; + return ((VertexData *)eve->tmp.p)->w; } static void weightSetData(EditVert *eve, float w) { - ((VertexData*)eve->tmp.p)->w = w; + ((VertexData *)eve->tmp.p)->w = w; } -static ReebNode* nodeData(EditVert *eve) +static ReebNode *nodeData(EditVert *eve) { - return ((VertexData*)eve->tmp.p)->n; + return ((VertexData *)eve->tmp.p)->n; } static void nodeSetData(EditVert *eve, ReebNode *n) { - ((VertexData*)eve->tmp.p)->n = n; + ((VertexData *)eve->tmp.p)->n = n; } #endif void REEB_freeArc(BArc *barc) { - ReebArc *arc = (ReebArc*)barc; + ReebArc *arc = (ReebArc *)barc; BLI_freelistN(&arc->edges); if (arc->buckets) @@ -191,7 +191,7 @@ void REEB_freeGraph(ReebGraph *rg) // free nodes for (node = rg->nodes.first; node; node = node->next) { - BLI_freeNode((BGraph*)rg, (BNode*)node); + BLI_freeNode((BGraph *)rg, (BNode *)node); } BLI_freelistN(&rg->nodes); @@ -199,7 +199,7 @@ void REEB_freeGraph(ReebGraph *rg) arc = rg->arcs.first; while (arc) { ReebArc *next = arc->next; - REEB_freeArc((BArc*)arc); + REEB_freeArc((BArc *)arc); arc = next; } @@ -214,7 +214,7 @@ void REEB_freeGraph(ReebGraph *rg) MEM_freeN(rg); } -ReebGraph * newReebGraph(void) +ReebGraph *newReebGraph(void) { ReebGraph *rg; rg = MEM_callocN(sizeof(ReebGraph), "reeb graph"); @@ -233,13 +233,13 @@ ReebGraph * newReebGraph(void) void BIF_flagMultiArcs(ReebGraph *rg, int flag) { - for ( ; rg; rg = rg->link_up) { - BLI_flagArcs((BGraph*)rg, flag); + for (; rg; rg = rg->link_up) { + BLI_flagArcs((BGraph *)rg, flag); } } #if 0 /* UNUSED */ -static ReebNode * addNode(ReebGraph *rg, EditVert *eve) +static ReebNode *addNode(ReebGraph *rg, EditVert *eve) { float weight; ReebNode *node = NULL; @@ -264,7 +264,7 @@ static ReebNode * addNode(ReebGraph *rg, EditVert *eve) return node; } -static ReebNode * copyNode(ReebGraph *rg, ReebNode *node) +static ReebNode *copyNode(ReebGraph *rg, ReebNode *node) { ReebNode *cp_node = NULL; @@ -329,7 +329,7 @@ ReebNode *BIF_lowestLevelNode(ReebNode *node) } #if 0 /* UNUSED */ -static ReebArc * copyArc(ReebGraph *rg, ReebArc *arc) +static ReebArc *copyArc(ReebGraph *rg, ReebArc *arc) { ReebArc *cp_arc; ReebNode *node; @@ -375,7 +375,7 @@ static ReebArc * copyArc(ReebGraph *rg, ReebArc *arc) return cp_arc; } -static ReebGraph * copyReebGraph(ReebGraph *rg, int level) +static ReebGraph *copyReebGraph(ReebGraph *rg, int level) { ReebNode *node; ReebArc *arc; @@ -399,7 +399,7 @@ static ReebGraph * copyReebGraph(ReebGraph *rg, int level) copyArc(cp_rg, arc); } - BLI_buildAdjacencyList((BGraph*)cp_rg); + BLI_buildAdjacencyList((BGraph *)cp_rg); return cp_rg; } @@ -417,7 +417,7 @@ ReebGraph *BIF_graphForMultiNode(ReebGraph *rg, ReebNode *node) } #if 0 /* UNUSED */ -static ReebEdge * copyEdge(ReebEdge *edge) +static ReebEdge *copyEdge(ReebEdge *edge) { ReebEdge *newEdge = NULL; @@ -433,11 +433,11 @@ static ReebEdge * copyEdge(ReebEdge *edge) static void printArc(ReebArc *arc) { ReebEdge *edge; - ReebNode *head = (ReebNode*)arc->head; - ReebNode *tail = (ReebNode*)arc->tail; + ReebNode *head = (ReebNode *)arc->head; + ReebNode *tail = (ReebNode *)arc->tail; printf("arc: (%i) %f -> (%i) %f\n", head->index, head->weight, tail->index, tail->weight); - for (edge = arc->edges.first; edge ; edge = edge->next) + for (edge = arc->edges.first; edge; edge = edge->next) { printf("\tedge (%i, %i)\n", edge->v1->index, edge->v2->index); } @@ -475,8 +475,8 @@ static void NodeDegreeIncrement(ReebGraph *UNUSED(rg), ReebNode *node) } #else -#define NodeDegreeDecrement(rg, node) {node->degree--;} -#define NodeDegreeIncrement(rg, node) {node->degree++;} +#define NodeDegreeDecrement(rg, node) {node->degree--; } +#define NodeDegreeIncrement(rg, node) {node->degree++; } #endif void repositionNodes(ReebGraph *rg) @@ -490,14 +490,14 @@ void repositionNodes(ReebGraph *rg) } for (arc = rg->arcs.first; arc; arc = arc->next) { - if (((ReebArc*)arc)->bcount > 0) { + if (((ReebArc *)arc)->bcount > 0) { float p[3]; - copy_v3_v3(p, ((ReebArc*)arc)->buckets[0].p); + copy_v3_v3(p, ((ReebArc *)arc)->buckets[0].p); mul_v3_fl(p, 1.0f / arc->head->degree); add_v3_v3(arc->head->p, p); - copy_v3_v3(p, ((ReebArc*)arc)->buckets[((ReebArc*)arc)->bcount - 1].p); + copy_v3_v3(p, ((ReebArc *)arc)->buckets[((ReebArc *)arc)->bcount - 1].p); mul_v3_fl(p, 1.0f / arc->tail->degree); add_v3_v3(arc->tail->p, p); } @@ -529,15 +529,15 @@ void verifyNodeDegree(ReebGraph *rg) static void verifyBucketsArc(ReebGraph *UNUSED(rg), ReebArc *arc) { - ReebNode *head = (ReebNode*)arc->head; - ReebNode *tail = (ReebNode*)arc->tail; + ReebNode *head = (ReebNode *)arc->head; + ReebNode *tail = (ReebNode *)arc->tail; if (arc->bcount > 0) { int i; for (i = 0; i < arc->bcount; i++) { if (arc->buckets[i].nv == 0) { printArc(arc); - printf("count error in bucket %i/%i\n", i+1, arc->bcount); + printf("count error in bucket %i/%i\n", i + 1, arc->bcount); } } @@ -653,12 +653,12 @@ static void mergeArcBuckets(ReebArc *aDst, ReebArc *aSrc, float start, float end indexSrc++; } - for ( ; indexDst < aDst->bcount && - indexSrc < aSrc->bcount && - aDst->buckets[indexDst].val <= end && - aSrc->buckets[indexSrc].val <= end + for (; indexDst < aDst->bcount && + indexSrc < aSrc->bcount && + aDst->buckets[indexDst].val <= end && + aSrc->buckets[indexSrc].val <= end - ; indexDst++, indexSrc++) + ; indexDst++, indexSrc++) { mergeBuckets(aDst->buckets + indexDst, aSrc->buckets + indexSrc); } @@ -809,7 +809,7 @@ static void fillArcEmptyBuckets(ReebArc *arc) static void ExtendArcBuckets(ReebArc *arc) { ReebArcIterator arc_iter; - BArcIterator *iter = (BArcIterator*)&arc_iter; + BArcIterator *iter = (BArcIterator *)&arc_iter; EmbedBucket *last_bucket, *first_bucket; float *previous = NULL; float average_length = 0, length; @@ -823,10 +823,10 @@ static void ExtendArcBuckets(ReebArc *arc) IT_next(iter); previous = iter->p; - for ( IT_next(iter); - IT_stopped(iter) == 0; - previous = iter->p, IT_next(iter) - ) + for (IT_next(iter); + IT_stopped(iter) == 0; + previous = iter->p, IT_next(iter) + ) { average_length += len_v3v3(previous, iter->p); } @@ -880,7 +880,7 @@ static void extendGraphBuckets(ReebGraph *rg) static void calculateArcLength(ReebArc *arc) { ReebArcIterator arc_iter; - BArcIterator *iter = (BArcIterator*)&arc_iter; + BArcIterator *iter = (BArcIterator *)&arc_iter; float *vec0, *vec1; arc->length = 0; @@ -913,9 +913,9 @@ static void calculateGraphLength(ReebGraph *rg) /**************************************** SYMMETRY HANDLING ******************************************/ -void REEB_RadialSymmetry(BNode* root_node, RadialArc* ring, int count) +void REEB_RadialSymmetry(BNode *root_node, RadialArc *ring, int count) { - ReebNode *node = (ReebNode*)root_node; + ReebNode *node = (ReebNode *)root_node; float axis[3]; int i; @@ -932,11 +932,11 @@ void REEB_RadialSymmetry(BNode* root_node, RadialArc* ring, int count) add_v3_v3v3(tangent, ring[i].n, ring[j].n); cross_v3_v3v3(normal, tangent, axis); - node1 = (ReebNode*)BLI_otherNode(ring[i].arc, root_node); - node2 = (ReebNode*)BLI_otherNode(ring[j].arc, root_node); + node1 = (ReebNode *)BLI_otherNode(ring[i].arc, root_node); + node2 = (ReebNode *)BLI_otherNode(ring[j].arc, root_node); - arc1 = (ReebArc*)ring[i].arc; - arc2 = (ReebArc*)ring[j].arc; + arc1 = (ReebArc *)ring[i].arc; + arc2 = (ReebArc *)ring[j].arc; /* mirror first node and mix with the second */ BLI_mirrorAlongAxis(node1->p, root_node->p, normal); @@ -947,12 +947,12 @@ void REEB_RadialSymmetry(BNode* root_node, RadialArc* ring, int count) * */ if (arc1->bcount > 0 && arc2->bcount > 0) { ReebArcIterator arc_iter1, arc_iter2; - BArcIterator *iter1 = (BArcIterator*)&arc_iter1; - BArcIterator *iter2 = (BArcIterator*)&arc_iter2; + BArcIterator *iter1 = (BArcIterator *)&arc_iter1; + BArcIterator *iter2 = (BArcIterator *)&arc_iter2; EmbedBucket *bucket1 = NULL, *bucket2 = NULL; - initArcIterator(iter1, arc1, (ReebNode*)root_node); - initArcIterator(iter2, arc2, (ReebNode*)root_node); + initArcIterator(iter1, arc1, (ReebNode *)root_node); + initArcIterator(iter2, arc2, (ReebNode *)root_node); bucket1 = IT_next(iter1); bucket2 = IT_next(iter2); @@ -967,7 +967,7 @@ void REEB_RadialSymmetry(BNode* root_node, RadialArc* ring, int count) } - for ( ;bucket1 && bucket2; bucket1 = IT_next(iter1), bucket2 = IT_next(iter2)) { + for (; bucket1 && bucket2; bucket1 = IT_next(iter1), bucket2 = IT_next(iter2)) { bucket2->nv += bucket1->nv; /* add counts */ /* mirror on axis */ @@ -989,11 +989,11 @@ void REEB_RadialSymmetry(BNode* root_node, RadialArc* ring, int count) add_v3_v3v3(tangent, ring[i].n, ring[j].n); cross_v3_v3v3(normal, tangent, axis); - node1 = (ReebNode*)BLI_otherNode(ring[i].arc, root_node); - node2 = (ReebNode*)BLI_otherNode(ring[j].arc, root_node); + node1 = (ReebNode *)BLI_otherNode(ring[i].arc, root_node); + node2 = (ReebNode *)BLI_otherNode(ring[j].arc, root_node); - arc1 = (ReebArc*)ring[i].arc; - arc2 = (ReebArc*)ring[j].arc; + arc1 = (ReebArc *)ring[i].arc; + arc2 = (ReebArc *)ring[j].arc; /* copy first node than mirror */ copy_v3_v3(node2->p, node1->p); @@ -1004,8 +1004,8 @@ void REEB_RadialSymmetry(BNode* root_node, RadialArc* ring, int count) * */ if (arc1->bcount > 0 && arc2->bcount > 0) { ReebArcIterator arc_iter1, arc_iter2; - BArcIterator *iter1 = (BArcIterator*)&arc_iter1; - BArcIterator *iter2 = (BArcIterator*)&arc_iter2; + BArcIterator *iter1 = (BArcIterator *)&arc_iter1; + BArcIterator *iter2 = (BArcIterator *)&arc_iter2; EmbedBucket *bucket1 = NULL, *bucket2 = NULL; initArcIterator(iter1, arc1, node); @@ -1024,7 +1024,7 @@ void REEB_RadialSymmetry(BNode* root_node, RadialArc* ring, int count) } - for ( ;bucket1 && bucket2; bucket1 = IT_next(iter1), bucket2 = IT_next(iter2)) { + for (; bucket1 && bucket2; bucket1 = IT_next(iter1), bucket2 = IT_next(iter2)) { /* copy and mirror back to bucket2 */ bucket2->nv = bucket1->nv; copy_v3_v3(bucket2->p, bucket1->p); @@ -1034,13 +1034,13 @@ void REEB_RadialSymmetry(BNode* root_node, RadialArc* ring, int count) } } -void REEB_AxialSymmetry(BNode* root_node, BNode* node1, BNode* node2, struct BArc* barc1, BArc* barc2) +void REEB_AxialSymmetry(BNode *root_node, BNode *node1, BNode *node2, struct BArc *barc1, BArc *barc2) { ReebArc *arc1, *arc2; float nor[3], p[3]; - arc1 = (ReebArc*)barc1; - arc2 = (ReebArc*)barc2; + arc1 = (ReebArc *)barc1; + arc2 = (ReebArc *)barc2; copy_v3_v3(nor, root_node->symmetry_axis); @@ -1061,12 +1061,12 @@ void REEB_AxialSymmetry(BNode* root_node, BNode* node1, BNode* node2, struct BAr * */ if (arc1->bcount > 0 && arc2->bcount > 0) { ReebArcIterator arc_iter1, arc_iter2; - BArcIterator *iter1 = (BArcIterator*)&arc_iter1; - BArcIterator *iter2 = (BArcIterator*)&arc_iter2; + BArcIterator *iter1 = (BArcIterator *)&arc_iter1; + BArcIterator *iter2 = (BArcIterator *)&arc_iter2; EmbedBucket *bucket1 = NULL, *bucket2 = NULL; - initArcIterator(iter1, arc1, (ReebNode*)root_node); - initArcIterator(iter2, arc2, (ReebNode*)root_node); + initArcIterator(iter1, arc1, (ReebNode *)root_node); + initArcIterator(iter2, arc2, (ReebNode *)root_node); bucket1 = IT_next(iter1); bucket2 = IT_next(iter2); @@ -1081,7 +1081,7 @@ void REEB_AxialSymmetry(BNode* root_node, BNode* node1, BNode* node2, struct BAr } - for ( ; bucket1 && bucket2; bucket1 = IT_next(iter1), bucket2 = IT_next(iter2)) { + for (; bucket1 && bucket2; bucket1 = IT_next(iter1), bucket2 = IT_next(iter2)) { bucket1->nv += bucket2->nv; /* add counts */ /* mirror on axis */ @@ -1110,21 +1110,21 @@ void postprocessGraph(ReebGraph *rg, char mode) switch (mode) { - case SKGEN_AVERAGE: - fac1 = fac2 = fac3 = 1.0f / 3.0f; - break; - case SKGEN_SMOOTH: - fac1 = fac3 = 0.25f; - fac2 = 0.5f; - break; - case SKGEN_SHARPEN: - fac1 = fac3 = -0.25f; - fac2 = 1.5f; - break; - default: + case SKGEN_AVERAGE: + fac1 = fac2 = fac3 = 1.0f / 3.0f; + break; + case SKGEN_SMOOTH: + fac1 = fac3 = 0.25f; + fac2 = 0.5f; + break; + case SKGEN_SHARPEN: + fac1 = fac3 = -0.25f; + fac2 = 1.5f; + break; + default: // XXX // error("Unknown post processing mode"); - return; + return; } for (arc = rg->arcs.first; arc; arc = arc->next) @@ -1145,8 +1145,8 @@ void postprocessGraph(ReebGraph *rg, char mode) static int compareNodesWeight(void *vnode1, void *vnode2) { - ReebNode *node1 = (ReebNode*)vnode1; - ReebNode *node2 = (ReebNode*)vnode2; + ReebNode *node1 = (ReebNode *)vnode1; + ReebNode *node2 = (ReebNode *)vnode2; if (node1->weight < node2->weight) { @@ -1156,8 +1156,7 @@ static int compareNodesWeight(void *vnode1, void *vnode2) { return 1; } - else - { + else { return 0; } } @@ -1169,10 +1168,10 @@ void sortNodes(ReebGraph *rg) static int compareArcsWeight(void *varc1, void *varc2) { - ReebArc *arc1 = (ReebArc*)varc1; - ReebArc *arc2 = (ReebArc*)varc2; - ReebNode *node1 = (ReebNode*)arc1->head; - ReebNode *node2 = (ReebNode*)arc2->head; + ReebArc *arc1 = (ReebArc *)varc1; + ReebArc *arc2 = (ReebArc *)varc2; + ReebNode *node1 = (ReebNode *)arc1->head; + ReebNode *node2 = (ReebNode *)arc2->head; if (node1->weight < node2->weight) { @@ -1182,8 +1181,7 @@ static int compareArcsWeight(void *varc1, void *varc2) { return 1; } - else - { + else { return 0; } } @@ -1201,7 +1199,7 @@ static void reweightArc(ReebGraph *rg, ReebArc *arc, ReebNode *start_node, float float end_weight = start_weight + ABS(arc->tail->weight - arc->head->weight); int i; - node = (ReebNode*)BLI_otherNode((BArc*)arc, (BNode*)start_node); + node = (ReebNode *)BLI_otherNode((BArc *)arc, (BNode *)start_node); /* prevent backtracking */ if (node->flag == 1) @@ -1243,7 +1241,7 @@ static void reweightSubgraph(ReebGraph *rg, ReebNode *start_node, float start_we { int i; - BLI_flagNodes((BGraph*)rg, 0); + BLI_flagNodes((BGraph *)rg, 0); for (i = 0; i < start_node->degree; i++) { @@ -1317,15 +1315,15 @@ static int joinSubgraphsEnds(ReebGraph *rg, float threshold, int nb_subgraphs) if (merging) { - BLI_ReflagSubgraph((BGraph*)rg, end_node->flag, subgraph); + BLI_ReflagSubgraph((BGraph *)rg, end_node->flag, subgraph); resizeArcBuckets(start_arc); fillArcEmptyBuckets(start_arc); NodeDegreeIncrement(rg, end_node); - BLI_rebuildAdjacencyListForNode((BGraph*)rg, (BNode*)end_node); + BLI_rebuildAdjacencyListForNode((BGraph *)rg, (BNode *)end_node); - BLI_removeNode((BGraph*)rg, (BNode*)start_node); + BLI_removeNode((BGraph *)rg, (BNode *)start_node); } joined = 1; @@ -1368,10 +1366,9 @@ static int joinSubgraphs(ReebGraph *rg, float threshold) int nb_subgraphs; int joined = 0; - BLI_buildAdjacencyList((BGraph*)rg); + BLI_buildAdjacencyList((BGraph *)rg); - if (BLI_isGraphCyclic((BGraph*)rg)) - { + if (BLI_isGraphCyclic((BGraph *)rg)) { /* don't deal with cyclic graphs YET */ return 0; } @@ -1379,13 +1376,13 @@ static int joinSubgraphs(ReebGraph *rg, float threshold) /* sort nodes before flagging subgraphs to make sure root node is subgraph 0 */ sortNodes(rg); - nb_subgraphs = BLI_FlagSubgraphs((BGraph*)rg); + nb_subgraphs = BLI_FlagSubgraphs((BGraph *)rg); /* Harmonic function can create flipped arcs, take the occasion to fix them */ // XXX // if (G.scene->toolsettings->skgen_options & SKGEN_HARMONIC) // { - fixSubgraphsOrientation(rg, nb_subgraphs); + fixSubgraphsOrientation(rg, nb_subgraphs); // } if (nb_subgraphs > 1) @@ -1395,7 +1392,7 @@ static int joinSubgraphs(ReebGraph *rg, float threshold) if (joined) { removeNormalNodes(rg); - BLI_buildAdjacencyList((BGraph*)rg); + BLI_buildAdjacencyList((BGraph *)rg); } } @@ -1407,8 +1404,8 @@ static int joinSubgraphs(ReebGraph *rg, float threshold) static float lengthArc(ReebArc *arc) { #if 0 - ReebNode *head = (ReebNode*)arc->head; - ReebNode *tail = (ReebNode*)arc->tail; + ReebNode *head = (ReebNode *)arc->head; + ReebNode *tail = (ReebNode *)arc->tail; return tail->weight - head->weight; #else @@ -1418,8 +1415,8 @@ static float lengthArc(ReebArc *arc) static int compareArcs(void *varc1, void *varc2) { - ReebArc *arc1 = (ReebArc*)varc1; - ReebArc *arc2 = (ReebArc*)varc2; + ReebArc *arc1 = (ReebArc *)varc1; + ReebArc *arc2 = (ReebArc *)varc2; float len1 = lengthArc(arc1); float len2 = lengthArc(arc2); @@ -1434,7 +1431,7 @@ static int compareArcs(void *varc1, void *varc2) } } -static void filterArc(ReebGraph *rg, ReebNode *newNode, ReebNode *removedNode, ReebArc * srcArc, int merging) +static void filterArc(ReebGraph *rg, ReebNode *newNode, ReebNode *removedNode, ReebArc *srcArc, int merging) { ReebArc *arc = NULL, *nextArc = NULL; @@ -1470,7 +1467,7 @@ static void filterArc(ReebGraph *rg, ReebNode *newNode, ReebNode *removedNode, R // If it's srcArc, it'll be removed later, so keep it for now if (arc != srcArc) { BLI_remlink(&rg->arcs, arc); - REEB_freeArc((BArc*)arc); + REEB_freeArc((BArc *)arc); } } else { @@ -1509,8 +1506,8 @@ void filterNullReebGraph(ReebGraph *rg) nextArc = arc->next; // Only collapse arcs too short to have any embed bucket if (arc->bcount == 0) { - ReebNode *newNode = (ReebNode*)arc->head; - ReebNode *removedNode = (ReebNode*)arc->tail; + ReebNode *newNode = (ReebNode *)arc->head; + ReebNode *removedNode = (ReebNode *)arc->tail; float blend; blend = (float)newNode->degree / (float)(newNode->degree + removedNode->degree); // blending factors @@ -1523,9 +1520,9 @@ void filterNullReebGraph(ReebGraph *rg) nextArc = arc->next; BLI_remlink(&rg->arcs, arc); - REEB_freeArc((BArc*)arc); + REEB_freeArc((BArc *)arc); - BLI_removeNode((BGraph*)rg, (BNode*)removedNode); + BLI_removeNode((BGraph *)rg, (BNode *)removedNode); } arc = nextArc; @@ -1561,9 +1558,9 @@ static int filterInternalExternalReebGraph(ReebGraph *rg, float threshold_intern nextArc = arc->next; BLI_remlink(&rg->arcs, arc); - REEB_freeArc((BArc*)arc); + REEB_freeArc((BArc *)arc); - BLI_removeNode((BGraph*)rg, (BNode*)removedNode); + BLI_removeNode((BGraph *)rg, (BNode *)removedNode); value = 1; } @@ -1613,9 +1610,9 @@ static int filterInternalExternalReebGraph(ReebGraph *rg, float threshold_intern nextArc = arc->next; BLI_remlink(&rg->arcs, arc); - REEB_freeArc((BArc*)arc); + REEB_freeArc((BArc *)arc); - BLI_removeNode((BGraph*)rg, (BNode*)removedNode); + BLI_removeNode((BGraph *)rg, (BNode *)removedNode); value = 1; } } @@ -1641,7 +1638,7 @@ static int filterCyclesReebGraph(ReebGraph *rg, float UNUSED(distance_threshold) NodeDegreeDecrement(rg, arc1->tail); BLI_remlink(&rg->arcs, arc2); - REEB_freeArc((BArc*)arc2); + REEB_freeArc((BArc *)arc2); filtered = 1; } @@ -1662,7 +1659,7 @@ int filterSmartReebGraph(ReebGraph *UNUSED(rg), float UNUSED(threshold)) #ifdef DEBUG_REEB { EditFace *efa; - for (efa=G.editMesh->faces.first; efa; efa=efa->next) { + for (efa = G.editMesh->faces.first; efa; efa = efa->next) { efa->tmp.fp = -1; } } @@ -1686,14 +1683,14 @@ int filterSmartReebGraph(ReebGraph *UNUSED(rg), float UNUSED(threshold)) float avg_vec[3] = {0, 0, 0}; for (BLI_ghashIterator_init(&ghi, arc->faces); - !BLI_ghashIterator_isDone(&ghi); - BLI_ghashIterator_step(&ghi)) + !BLI_ghashIterator_isDone(&ghi); + BLI_ghashIterator_step(&ghi)) { EditFace *efa = BLI_ghashIterator_getValue(&ghi); #if 0 ReebArcIterator arc_iter; - BArcIterator *iter = (BArcIterator*)&arc_iter; + BArcIterator *iter = (BArcIterator *)&arc_iter; EmbedBucket *bucket = NULL; EmbedBucket *previous = NULL; float min_distance = -1; @@ -1716,8 +1713,7 @@ int filterSmartReebGraph(ReebGraph *UNUSED(rg), float UNUSED(threshold)) vec0 = arc->head->p; } /* Previous is a valid bucket */ - else - { + else { vec0 = previous->p; } @@ -1805,7 +1801,7 @@ int filterSmartReebGraph(ReebGraph *UNUSED(rg), float UNUSED(threshold)) nextArc = arc->next; BLI_remlink(&rg->arcs, arc); - REEB_freeArc((BArc*)arc); + REEB_freeArc((BArc *)arc); BLI_freelinkN(&rg->nodes, removedNode); value = 1; @@ -1858,7 +1854,7 @@ static void finalizeGraph(ReebGraph *rg, char passes, char method) { int i; - BLI_buildAdjacencyList((BGraph*)rg); + BLI_buildAdjacencyList((BGraph *)rg); sortNodes(rg); @@ -1873,10 +1869,10 @@ static void finalizeGraph(ReebGraph *rg, char passes, char method) /************************************** WEIGHT SPREADING ***********************************************/ -static int compareVerts(const void* a, const void* b) +static int compareVerts(const void *a, const void *b) { - EditVert *va = *(EditVert**)a; - EditVert *vb = *(EditVert**)b; + EditVert *va = *(EditVert **)a; + EditVert *vb = *(EditVert **)b; int value = 0; if (weightData(va) < weightData(vb)) { @@ -1897,7 +1893,7 @@ static void spreadWeight(EditMesh *em) int i; int work_needed = 1; - verts = MEM_callocN(sizeof(EditVert*) * totvert, "verts array"); + verts = MEM_callocN(sizeof(EditVert *) * totvert, "verts array"); for (eve = em->verts.first, i = 0; eve; eve = eve->next, i++) { verts[i] = eve; @@ -1905,7 +1901,7 @@ static void spreadWeight(EditMesh *em) while (work_needed == 1) { work_needed = 0; - qsort(verts, totvert, sizeof(EditVert*), compareVerts); + qsort(verts, totvert, sizeof(EditVert *), compareVerts); for (i = 0; i < totvert; i++) { eve = verts[i]; @@ -1976,7 +1972,7 @@ static void removeZeroNodes(ReebGraph *rg) next_node = node->next; if (node->degree == 0) { - BLI_removeNode((BGraph*)rg, (BNode*)node); + BLI_removeNode((BGraph *)rg, (BNode *)node); } } } @@ -1992,7 +1988,7 @@ void removeNormalNodes(ReebGraph *rg) while (arc->head->degree == 2 || arc->tail->degree == 2) { // merge at v1 if (arc->head->degree == 2) { - ReebArc *connectedArc = (ReebArc*)BLI_findConnectedArc((BGraph*)rg, (BArc*)arc, (BNode*)arc->head); + ReebArc *connectedArc = (ReebArc *)BLI_findConnectedArc((BGraph *)rg, (BArc *)arc, (BNode *)arc->head); /* If arcs are one after the other */ if (arc->head == connectedArc->tail) { @@ -2015,7 +2011,7 @@ void removeNormalNodes(ReebGraph *rg) /* merge at v2 */ if (arc->tail->degree == 2) { - ReebArc *connectedArc = (ReebArc*)BLI_findConnectedArc((BGraph*)rg, (BArc*)arc, (BNode*)arc->tail); + ReebArc *connectedArc = (ReebArc *)BLI_findConnectedArc((BGraph *)rg, (BArc *)arc, (BNode *)arc->tail); /* If arcs are one after the other */ if (arc->tail == connectedArc->head) { @@ -2073,8 +2069,8 @@ void mergeArcFaces(ReebGraph *UNUSED(rg), ReebArc *aDst, ReebArc *aSrc) GHashIterator ghi; for (BLI_ghashIterator_init(&ghi, aSrc->faces); - !BLI_ghashIterator_isDone(&ghi); - BLI_ghashIterator_step(&ghi)) + !BLI_ghashIterator_isDone(&ghi); + BLI_ghashIterator_step(&ghi)) { EditFace *efa = BLI_ghashIterator_getValue(&ghi); BLI_ghash_insert(aDst->faces, efa, efa); @@ -2107,11 +2103,11 @@ void mergeArcEdges(ReebGraph *rg, ReebArc *aDst, ReebArc *aSrc, MergeDirection d // if edge was the first in the list, point the edit edge to the new reeb edge instead. if (*p == e) { - *p = (void*)newEdge; + *p = (void *)newEdge; } // otherwise, advance in the list until the predecessor is found then insert it there else { - ReebEdge *previous = (ReebEdge*)*p; + ReebEdge *previous = (ReebEdge *)*p; while (previous->nextEdge != e) { previous = previous->nextEdge; @@ -2155,9 +2151,9 @@ int mergeConnectedArcs(ReebGraph *rg, ReebArc *a0, ReebArc *a1) // remove a1 from graph BLI_remlink(&rg->arcs, a1); - REEB_freeArc((BArc*)a1); + REEB_freeArc((BArc *)a1); - BLI_removeNode((BGraph*)rg, (BNode*)removedNode); + BLI_removeNode((BGraph *)rg, (BNode *)removedNode); result = 1; return result; @@ -2183,7 +2179,7 @@ int mergeArcs(ReebGraph *rg, ReebArc *a0, ReebArc *a1) // remove a1 from graph BLI_remlink(&rg->arcs, a1); - REEB_freeArc((BArc*)a1); + REEB_freeArc((BArc *)a1); result = 1; } else if (a0->tail->weight > a1->tail->weight) { /* a1->tail->weight is in the middle */ @@ -2266,9 +2262,9 @@ static void glueByMergeSort(ReebGraph *rg, ReebArc *a0, ReebArc *a1, ReebEdge *e else { a1 = nextArcMappedToEdge(a1, e1); } - } } } +} static void mergePaths(ReebGraph *rg, ReebEdge *e0, ReebEdge *e1, ReebEdge *e2) { @@ -2281,7 +2277,7 @@ static void mergePaths(ReebGraph *rg, ReebEdge *e0, ReebEdge *e1, ReebEdge *e2) glueByMergeSort(rg, a0, a2, e0, e2); } -static ReebEdge * createArc(ReebGraph *rg, ReebNode *node1, ReebNode *node2) +static ReebEdge *createArc(ReebGraph *rg, ReebNode *node1, ReebNode *node2) { ReebEdge *edge; @@ -2359,7 +2355,7 @@ static ReebEdge * createArc(ReebGraph *rg, ReebNode *node1, ReebNode *node2) return edge; } -static void addTriangleToGraph(ReebGraph *rg, ReebNode * n1, ReebNode * n2, ReebNode * n3, EditFace *efa) +static void addTriangleToGraph(ReebGraph *rg, ReebNode *n1, ReebNode *n2, ReebNode *n3, EditFace *efa) { ReebEdge *re1, *re2, *re3; ReebEdge *e1, *e2, *e3; @@ -2408,7 +2404,7 @@ static void addTriangleToGraph(ReebGraph *rg, ReebNode * n1, ReebNode * n2, Reeb mergePaths(rg, e1, e2, e3); } -ReebGraph * generateReebGraph(EditMesh *em, int subdivisions) +ReebGraph *generateReebGraph(EditMesh *em, int subdivisions) { ReebGraph *rg; EditVert *eve; @@ -2536,13 +2532,13 @@ static float cotan_weight(float *v1, float *v2, float *v3) if (clen == 0.0f) return 0.0f; - return dot_v3v3(a, b)/clen; + return dot_v3v3(a, b) / clen; } static void addTriangle(EditVert *v1, EditVert *v2, EditVert *v3, int e1, int e2, int e3) { /* Angle opposite e1 */ - float t1= cotan_weight(v1->co, v2->co, v3->co) / e2; + float t1 = cotan_weight(v1->co, v2->co, v3->co) / e2; /* Angle opposite e2 */ float t2 = cotan_weight(v2->co, v3->co, v1->co) / e3; @@ -2554,9 +2550,9 @@ static void addTriangle(EditVert *v1, EditVert *v2, EditVert *v3, int e1, int e2 int i2 = indexData(v2); int i3 = indexData(v3); - nlMatrixAdd(i1, i1, t2+t3); - nlMatrixAdd(i2, i2, t1+t3); - nlMatrixAdd(i3, i3, t1+t2); + nlMatrixAdd(i1, i1, t2 + t3); + nlMatrixAdd(i2, i2, t1 + t3); + nlMatrixAdd(i3, i3, t1 + t2); nlMatrixAdd(i1, i2, -t3); nlMatrixAdd(i2, i1, -t3); @@ -2688,7 +2684,7 @@ int weightToHarmonic(EditMesh *em, EdgeIndex *indexed_edges) } -EditEdge * NextEdgeForVert(EdgeIndex *indexed_edges, int index) +EditEdge *NextEdgeForVert(EdgeIndex *indexed_edges, int index) { static int offset = -1; @@ -2712,7 +2708,7 @@ EditEdge * NextEdgeForVert(EdgeIndex *indexed_edges, int index) static void shortestPathsFromVert(EditMesh *em, EditVert *starting_vert, EdgeIndex *indexed_edges) { - Heap *edge_heap; + Heap *edge_heap; EditVert *current_eve = NULL; EditEdge *eed = NULL; EditEdge *select_eed = NULL; @@ -2725,7 +2721,7 @@ static void shortestPathsFromVert(EditMesh *em, EditVert *starting_vert, EdgeInd BLI_heap_insert(edge_heap, FLT_MAX, NULL); /* Initialize edge flag */ - for (eed= em->edges.first; eed; eed= eed->next) { + for (eed = em->edges.first; eed; eed = eed->next) { eed->f1 = 0; } @@ -2744,8 +2740,7 @@ static void shortestPathsFromVert(EditMesh *em, EditVert *starting_vert, EdgeInd } /* Find next shortest edge with unselected verts */ - do - { + do { current_weight = BLI_heap_node_value(BLI_heap_top(edge_heap)); select_eed = BLI_heap_popmin(edge_heap); } while (select_eed != NULL && select_eed->v1->f1 != 0 && select_eed->v2->f1); @@ -2795,7 +2790,7 @@ static void buildIndexedEdges(EditMesh *em, EdgeIndex *indexed_edges) tot_indexed += totvert; - indexed_edges->edges = MEM_callocN(tot_indexed * sizeof(EditEdge*), "EdgeIndex edges"); + indexed_edges->edges = MEM_callocN(tot_indexed * sizeof(EditEdge *), "EdgeIndex edges"); /* setting vert offsets */ for (eve = em->verts.first; eve; eve = eve->next) { @@ -2807,7 +2802,7 @@ static void buildIndexedEdges(EditMesh *em, EdgeIndex *indexed_edges) } /* adding edges in array */ - for (eed = em->edges.first; eed; eed= eed->next) { + for (eed = em->edges.first; eed; eed = eed->next) { if (eed->v1->h == 0 && eed->v2->h == 0) { int i; for (i = indexed_edges->offset[indexData(eed->v1)]; i < tot_indexed; i++) { @@ -2862,7 +2857,7 @@ int weightFromDistance(EditMesh *em, EdgeIndex *indexed_edges) int allDone = 0; /* Calculate edge weight */ - for (eed = em->edges.first; eed; eed= eed->next) { + for (eed = em->edges.first; eed; eed = eed->next) { if (eed->v1->h == 0 && eed->v2->h == 0) { eed->tmp.fp = len_v3v3(eed->v1->co, eed->v2->co); } @@ -2925,12 +2920,12 @@ int weightFromDistance(EditMesh *em, EdgeIndex *indexed_edges) /****************************************** BUCKET ITERATOR **************************************************/ -static void* headNode(void *arg); -static void* tailNode(void *arg); -static void* nextBucket(void *arg); -static void* nextNBucket(void *arg, int n); -static void* peekBucket(void *arg, int n); -static void* previousBucket(void *arg); +static void *headNode(void *arg); +static void *tailNode(void *arg); +static void *nextBucket(void *arg); +static void *nextNBucket(void *arg, int n); +static void *peekBucket(void *arg, int n); +static void *previousBucket(void *arg); static int iteratorStopped(void *arg); static void initIteratorFct(ReebArcIterator *iter) @@ -2959,7 +2954,7 @@ static void setIteratorValues(ReebArcIterator *iter, EmbedBucket *bucket) void initArcIterator(BArcIterator *arg, ReebArc *arc, ReebNode *head) { - ReebArcIterator *iter = (ReebArcIterator*)arg; + ReebArcIterator *iter = (ReebArcIterator *)arg; initIteratorFct(iter); iter->arc = arc; @@ -2982,7 +2977,7 @@ void initArcIterator(BArcIterator *arg, ReebArc *arc, ReebNode *head) void initArcIteratorStart(BArcIterator *arg, struct ReebArc *arc, struct ReebNode *head, int start) { - ReebArcIterator *iter = (ReebArcIterator*)arg; + ReebArcIterator *iter = (ReebArcIterator *)arg; initIteratorFct(iter); iter->arc = arc; @@ -3009,7 +3004,7 @@ void initArcIteratorStart(BArcIterator *arg, struct ReebArc *arc, struct ReebNod void initArcIterator2(BArcIterator *arg, ReebArc *arc, int start, int end) { - ReebArcIterator *iter = (ReebArcIterator*)arg; + ReebArcIterator *iter = (ReebArcIterator *)arg; initIteratorFct(iter); iter->arc = arc; @@ -3029,9 +3024,9 @@ void initArcIterator2(BArcIterator *arg, ReebArc *arc, int start, int end) iter->length = abs(iter->end - iter->start) + 1; } -static void* headNode(void *arg) +static void *headNode(void *arg) { - ReebArcIterator *iter = (ReebArcIterator*)arg; + ReebArcIterator *iter = (ReebArcIterator *)arg; ReebNode *node; if (iter->start < iter->end) { @@ -3048,9 +3043,9 @@ static void* headNode(void *arg) return node; } -static void* tailNode(void *arg) +static void *tailNode(void *arg) { - ReebArcIterator *iter = (ReebArcIterator*)arg; + ReebArcIterator *iter = (ReebArcIterator *)arg; ReebNode *node; if (iter->start < iter->end) { @@ -3067,9 +3062,9 @@ static void* tailNode(void *arg) return node; } -static void* nextBucket(void *arg) +static void *nextBucket(void *arg) { - ReebArcIterator *iter = (ReebArcIterator*)arg; + ReebArcIterator *iter = (ReebArcIterator *)arg; EmbedBucket *result = NULL; iter->index++; @@ -3082,9 +3077,9 @@ static void* nextBucket(void *arg) return result; } -static void* nextNBucket(void *arg, int n) +static void *nextNBucket(void *arg, int n) { - ReebArcIterator *iter = (ReebArcIterator*)arg; + ReebArcIterator *iter = (ReebArcIterator *)arg; EmbedBucket *result = NULL; iter->index += n; @@ -3098,9 +3093,9 @@ static void* nextNBucket(void *arg, int n) return result; } -static void* peekBucket(void *arg, int n) +static void *peekBucket(void *arg, int n) { - ReebArcIterator *iter = (ReebArcIterator*)arg; + ReebArcIterator *iter = (ReebArcIterator *)arg; EmbedBucket *result = NULL; int index = iter->index + n; @@ -3113,9 +3108,9 @@ static void* peekBucket(void *arg, int n) return result; } -static void* previousBucket(void *arg) +static void *previousBucket(void *arg) { - ReebArcIterator *iter = (ReebArcIterator*)arg; + ReebArcIterator *iter = (ReebArcIterator *)arg; EmbedBucket *result = NULL; if (iter->index > 0) { @@ -3129,7 +3124,7 @@ static void* previousBucket(void *arg) static int iteratorStopped(void *arg) { - ReebArcIterator *iter = (ReebArcIterator*)arg; + ReebArcIterator *iter = (ReebArcIterator *)arg; if (iter->index >= iter->length) { return 1; @@ -3148,7 +3143,7 @@ ReebGraph *BIF_ReebGraphMultiFromEditMesh(bContext *C) #if 0 Scene *scene = CTX_data_scene(C); Object *obedit = CTX_data_edit_object(C); - EditMesh *em = BKE_mesh_get_editmesh(((Mesh*)obedit->data)); + EditMesh *em = BKE_mesh_get_editmesh(((Mesh *)obedit->data)); EdgeIndex indexed_edges; VertexData *data; ReebGraph *rg = NULL; @@ -3193,10 +3188,10 @@ ReebGraph *BIF_ReebGraphMultiFromEditMesh(bContext *C) joinSubgraphs(rg, 1.0); - BLI_buildAdjacencyList((BGraph*)rg); + BLI_buildAdjacencyList((BGraph *)rg); /* calc length before copy, so we have same length on all levels */ - BLI_calcGraphLength((BGraph*)rg); + BLI_calcGraphLength((BGraph *)rg); previous = NULL; for (i = 0; i <= nb_levels; i++) @@ -3214,8 +3209,7 @@ ReebGraph *BIF_ReebGraphMultiFromEditMesh(bContext *C) { internal_threshold = rg->length * scene->toolsettings->skgen_threshold_internal; } - else - { + else { internal_threshold = rg->length * scene->toolsettings->skgen_threshold_internal * (2 * i / (float)nb_levels); } @@ -3231,7 +3225,7 @@ ReebGraph *BIF_ReebGraphMultiFromEditMesh(bContext *C) finalizeGraph(rgi, scene->toolsettings->skgen_postpro_passes, scene->toolsettings->skgen_postpro); - BLI_markdownSymmetry((BGraph*)rgi, rgi->nodes.first, scene->toolsettings->skgen_symmetry_limit); + BLI_markdownSymmetry((BGraph *)rgi, rgi->nodes.first, scene->toolsettings->skgen_symmetry_limit); if (previous != NULL) { @@ -3306,10 +3300,10 @@ ReebGraph *BIF_ReebGraphFromEditMesh(void) joinSubgraphs(rg, 1.0); - BLI_buildAdjacencyList((BGraph*)rg); + BLI_buildAdjacencyList((BGraph *)rg); /* calc length before copy, so we have same length on all levels */ - BLI_calcGraphLength((BGraph*)rg); + BLI_calcGraphLength((BGraph *)rg); filterGraph(rg, G.scene->toolsettings->skgen_options, G.scene->toolsettings->skgen_threshold_internal, G.scene->toolsettings->skgen_threshold_external); @@ -3323,7 +3317,7 @@ ReebGraph *BIF_ReebGraphFromEditMesh(void) #endif printf("DONE\n"); - printf("%i subgraphs\n", BLI_FlagSubgraphs((BGraph*)rg)); + printf("%i subgraphs\n", BLI_FlagSubgraphs((BGraph *)rg)); MEM_freeN(data); @@ -3363,13 +3357,12 @@ void REEB_draw() if (GLOBAL_RG->link_up && G.scene->toolsettings->skgen_options & SKGEN_DISP_ORIG) { - for (rg = GLOBAL_RG; rg->link_up; rg = rg->link_up); + for (rg = GLOBAL_RG; rg->link_up; rg = rg->link_up) ; } - else - { + else { i = G.scene->toolsettings->skgen_multi_level; - for (rg = GLOBAL_RG; rg->multi_level != i && rg->link_up; rg = rg->link_up); + for (rg = GLOBAL_RG; rg->multi_level != i && rg->link_up; rg = rg->link_up) ; } glPointSize(BIF_GetThemeValuef(TH_VERTEX_SIZE)); @@ -3378,7 +3371,7 @@ void REEB_draw() for (arc = rg->arcs.first; arc; arc = arc->next, i++) { ReebArcIterator arc_iter; - BArcIterator *iter = (BArcIterator*)&arc_iter; + BArcIterator *iter = (BArcIterator *)&arc_iter; float vec[3]; char text[128]; char *s = text; @@ -3386,18 +3379,18 @@ void REEB_draw() glLineWidth(BIF_GetThemeValuef(TH_VERTEX_SIZE) + 2); glColor3f(0, 0, 0); glBegin(GL_LINE_STRIP); - glVertex3fv(arc->head->p); + glVertex3fv(arc->head->p); - if (arc->bcount) + if (arc->bcount) + { + initArcIterator(iter, arc, arc->head); + for (IT_next(iter); IT_stopped(iter) == 0; IT_next(iter)) { - initArcIterator(iter, arc, arc->head); - for (IT_next(iter); IT_stopped(iter) == 0; IT_next(iter)) - { - glVertex3fv(iter->p); - } + glVertex3fv(iter->p); } + } - glVertex3fv(arc->tail->p); + glVertex3fv(arc->tail->p); glEnd(); glLineWidth(BIF_GetThemeValuef(TH_VERTEX_SIZE)); @@ -3414,23 +3407,22 @@ void REEB_draw() { glColor3f(0.5f, 1, 0); } - else - { + else { glColor3f(1, 1, 0); } glBegin(GL_LINE_STRIP); - glVertex3fv(arc->head->p); + glVertex3fv(arc->head->p); - if (arc->bcount) + if (arc->bcount) + { + initArcIterator(iter, arc, arc->head); + for (iter->next(iter); IT_stopped(iter) == 0; iter->next(iter)) { - initArcIterator(iter, arc, arc->head); - for (iter->next(iter); IT_stopped(iter) == 0; iter->next(iter)) - { - glVertex3fv(iter->p); - } + glVertex3fv(iter->p); } + } - glVertex3fv(arc->tail->p); + glVertex3fv(arc->tail->p); glEnd(); @@ -3438,18 +3430,18 @@ void REEB_draw() { glColor3f(1, 1, 1); glBegin(GL_POINTS); - glVertex3fv(arc->head->p); - glVertex3fv(arc->tail->p); + glVertex3fv(arc->head->p); + glVertex3fv(arc->tail->p); - glColor3f(0.5f, 0.5f, 1); - if (arc->bcount) + glColor3f(0.5f, 0.5f, 1); + if (arc->bcount) + { + initArcIterator(iter, arc, arc->head); + for (iter->next(iter); IT_stopped(iter) == 0; iter->next(iter)) { - initArcIterator(iter, arc, arc->head); - for (iter->next(iter); IT_stopped(iter) == 0; iter->next(iter)) - { - glVertex3fv(iter->p); - } + glVertex3fv(iter->p); } + } glEnd(); } |