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:
Diffstat (limited to 'source/blender/blenlib/BLI_graph.h')
-rw-r--r--source/blender/blenlib/BLI_graph.h89
1 files changed, 44 insertions, 45 deletions
diff --git a/source/blender/blenlib/BLI_graph.h b/source/blender/blenlib/BLI_graph.h
index 52613f9869f..d45523aac7d 100644
--- a/source/blender/blenlib/BLI_graph.h
+++ b/source/blender/blenlib/BLI_graph.h
@@ -37,10 +37,10 @@ struct BArc;
struct RadialArc;
-typedef void (*FreeArc)(struct BArc*);
-typedef void (*FreeNode)(struct BNode*);
-typedef void (*RadialSymmetry)(struct BNode* root_node, struct RadialArc* ring, int total);
-typedef void (*AxialSymmetry)(struct BNode* root_node, struct BNode* node1, struct BNode* node2, struct BArc* arc1, struct BArc* arc2);
+typedef void (*FreeArc)(struct BArc *);
+typedef void (*FreeNode)(struct BNode *);
+typedef void (*RadialSymmetry)(struct BNode *root_node, struct RadialArc *ring, int total);
+typedef void (*AxialSymmetry)(struct BNode *root_node, struct BNode *node1, struct BNode *node2, struct BArc *arc1, struct BArc *arc2);
/* IF YOU MODIFY THOSE TYPES, YOU NEED TO UPDATE ALL THOSE THAT "INHERIT" FROM THEM
*
@@ -49,16 +49,16 @@ typedef void (*AxialSymmetry)(struct BNode* root_node, struct BNode* node1, stru
* */
typedef struct BGraph {
- ListBase arcs;
- ListBase nodes;
+ ListBase arcs;
+ ListBase nodes;
float length;
/* function pointer to deal with custom fonctionnality */
- FreeArc free_arc;
- FreeNode free_node;
- RadialSymmetry radial_symmetry;
- AxialSymmetry axial_symmetry;
+ FreeArc free_arc;
+ FreeNode free_node;
+ RadialSymmetry radial_symmetry;
+ AxialSymmetry axial_symmetry;
} BGraph;
typedef struct BNode {
@@ -90,30 +90,30 @@ typedef struct BArc {
struct BArcIterator;
-void* IT_head(void* iter);
-void* IT_tail(void* iter);
-void* IT_peek(void* iter, int n);
-void* IT_next(void* iter);
-void* IT_nextN(void* iter, int n);
-void* IT_previous(void* iter);
-int IT_stopped(void* iter);
-
-typedef void* (*HeadFct)(void* iter);
-typedef void* (*TailFct)(void* iter);
-typedef void* (*PeekFct)(void* iter, int n);
-typedef void* (*NextFct)(void* iter);
-typedef void* (*NextNFct)(void* iter, int n);
-typedef void* (*PreviousFct)(void* iter);
-typedef int (*StoppedFct)(void* iter);
+void *IT_head(void *iter);
+void *IT_tail(void *iter);
+void *IT_peek(void *iter, int n);
+void *IT_next(void *iter);
+void *IT_nextN(void *iter, int n);
+void *IT_previous(void *iter);
+int IT_stopped(void *iter);
+
+typedef void * (*HeadFct)(void *iter);
+typedef void * (*TailFct)(void *iter);
+typedef void * (*PeekFct)(void *iter, int n);
+typedef void * (*NextFct)(void *iter);
+typedef void * (*NextNFct)(void *iter, int n);
+typedef void * (*PreviousFct)(void *iter);
+typedef int (*StoppedFct)(void *iter);
typedef struct BArcIterator {
- HeadFct head;
- TailFct tail;
- PeekFct peek;
- NextFct next;
- NextNFct nextN;
- PreviousFct previous;
- StoppedFct stopped;
+ HeadFct head;
+ TailFct tail;
+ PeekFct peek;
+ NextFct next;
+ NextNFct nextN;
+ PreviousFct previous;
+ StoppedFct stopped;
float *p, *no;
float size;
@@ -123,8 +123,7 @@ typedef struct BArcIterator {
} BArcIterator;
/* Helper structure for radial symmetry */
-typedef struct RadialArc
-{
+typedef struct RadialArc {
struct BArc *arc;
float n[3]; /* normalized vector joining the nodes of the arc */
} RadialArc;
@@ -141,7 +140,7 @@ void BLI_flagArcs(BGraph *graph, int flag);
int BLI_hasAdjacencyList(BGraph *rg);
void BLI_buildAdjacencyList(BGraph *rg);
-void BLI_rebuildAdjacencyListForNode(BGraph* rg, BNode *node);
+void BLI_rebuildAdjacencyListForNode(BGraph *rg, BNode *node);
void BLI_freeAdjacencyList(BGraph *rg);
int BLI_FlagSubgraphs(BGraph *graph);
@@ -156,11 +155,11 @@ void BLI_calcGraphLength(BGraph *graph);
void BLI_replaceNode(BGraph *graph, BNode *node_src, BNode *node_replaced);
void BLI_replaceNodeInArc(BGraph *graph, BArc *arc, BNode *node_src, BNode *node_replaced);
void BLI_removeDoubleNodes(BGraph *graph, float limit);
-BNode * BLI_FindNodeByPosition(BGraph *graph, float *p, float limit);
+BNode *BLI_FindNodeByPosition(BGraph *graph, float *p, float limit);
-BArc * BLI_findConnectedArc(BGraph *graph, BArc *arc, BNode *v);
+BArc *BLI_findConnectedArc(BGraph *graph, BArc *arc, BNode *v);
-int BLI_isGraphCyclic(BGraph *graph);
+int BLI_isGraphCyclic(BGraph *graph);
/*------------ Symmetry handling ------------*/
void BLI_markdownSymmetry(BGraph *graph, BNode *root_node, float limit);
@@ -168,19 +167,19 @@ void BLI_markdownSymmetry(BGraph *graph, BNode *root_node, float limit);
void BLI_mirrorAlongAxis(float v[3], float center[3], float axis[3]);
/* BNode symmetry flags */
-#define SYM_TOPOLOGICAL 1
-#define SYM_PHYSICAL 2
+#define SYM_TOPOLOGICAL 1
+#define SYM_PHYSICAL 2
/* the following two are exclusive */
-#define SYM_AXIAL 4
-#define SYM_RADIAL 8
+#define SYM_AXIAL 4
+#define SYM_RADIAL 8
/* BArc symmetry flags
*
* axial symmetry sides */
-#define SYM_SIDE_POSITIVE 1
-#define SYM_SIDE_NEGATIVE 2
+#define SYM_SIDE_POSITIVE 1
+#define SYM_SIDE_NEGATIVE 2
/* Anything higher is the order in radial symmetry */
-#define SYM_SIDE_RADIAL 3
+#define SYM_SIDE_RADIAL 3
#endif /*__BLI_GRAPH_H__*/