#include <graphbase.h>
Basic node template for a graph, reppresent a node with attached strokes pointers list basically an node with an adjacency list.
| NODEDATA | Custom Data attched to the node. | 
| EDGE | Edge type have to be GraphEdgeBase<this->Type>. | 
| Public Types | |
| typedef GraphNodeBase< NODEDATA, EDGE > | NodeType | 
| Public Member Functions | |
| GraphNodeBase () | |
| GraphNodeBase (const NODEDATA &data, Vector pos=Vector()) | |
| ~GraphNodeBase () | |
| GraphNodeBase (GraphNodeBase &&src) | |
| Result< void > | CopyFrom (const GraphNodeBase &src) | 
| Vector | GetPosition () const | 
| void | SetPosition (const Vector &pos) | 
| Int | GetEdgesCount () const | 
| Result< EDGE * > | GetEdge (Int pos) const | 
| Result< NodeType * > | GetNeighbor (Int pos) const | 
| Result< EDGE * > | FindEdge (NodeType *otherHand) | 
| Result< void > | AddEdge (EDGE *edge) | 
| Result< void > | DeleteEdge (Int32 pos) | 
| Result< void > | DeleteEdge (EDGE *edge) | 
| const NODEDATA * | GetData () const | 
| Result< void > | SetData (const NODEDATA &data) | 
| void | Visit () | 
| void | Unvisit () | 
| Bool | IsVisited () const | 
| void | Reset () | 
| Protected Attributes | |
| NODEDATA | _data | 
| Vector | _pos | 
| Bool | _visited | 
| BaseArray< EDGE * > | _edges | 
| typedef GraphNodeBase<NODEDATA, EDGE> NodeType | 
| 
 | explicit | 
| 
 | explicit | 
| ~GraphNodeBase | ( | ) | 
| GraphNodeBase | ( | GraphNodeBase< NODEDATA, EDGE > && | src | ) | 
| Result<void> CopyFrom | ( | const GraphNodeBase< NODEDATA, EDGE > & | src | ) | 
| Vector GetPosition | ( | ) | const | 
Get the Node position.
| void SetPosition | ( | const Vector & | pos | ) | 
Set the Node position.
| [in] | pos | The new Node position. | 
| Int GetEdgesCount | ( | ) | const | 
Get the edges count for this point.
Get the edges at pos in the list.
| [in] | pos | The edge index position. | 
Get The other hand of the edge at index pos.
| [in] | pos | The edge index. | 
Find an edge in between this node and otherHand node.
| [in] | otherHand | The other node which create the edge. | 
| Result<void> AddEdge | ( | EDGE * | edge | ) | 
Add a new edges to the point.
| [in] | edge | The edge to add. | 
Remove the edge at pos.
| [in] | pos | The edge list index. | 
| Result<void> DeleteEdge | ( | EDGE * | edge | ) | 
Remove edge form the list.
| [in] | edge | The edge to be removed. | 
| const NODEDATA* GetData | ( | ) | const | 
Get a pointer to user data.
| Result<void> SetData | ( | const NODEDATA & | data | ) | 
Replace current user data with the passed one, data is duplicated.
| [in] | data | The new data to be used. | 
| void Visit | ( | ) | 
Process this node.
| void Unvisit | ( | ) | 
Reset the processing status.
| Bool IsVisited | ( | ) | const | 
Get the processing status.
| void Reset | ( | ) | 
Free memory and reset all values, could be extended for each implementation.
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected |