18 #ifndef LATTICEGRAPH_NODE_H 19 #define LATTICEGRAPH_NODE_H 35 static unsigned int suid;
37 std::vector<std::weak_ptr <Edge> > edges;
72 std::vector<std::weak_ptr <Edge> > &
getEdges();
111 void addEdge(std::weak_ptr<Edge> e);
148 #endif //LATTICEGRAPH_NODE_H void removeEdgeIdx(unsigned int idx)
Remove edge with index idx.
void removeEdge(std::shared_ptr< Node > n)
Remove edge connecting this to Node n.
unsigned int & getSuid()
Get vortex (node) static UID for new UID generation.
Vortex lattice position, orientation, and tracking.
Vtx::Vortex & getData()
Get vortex (node) data struct.
unsigned int getUid()
Get vortex (node) UID.
void removeEdges()
Remove all connected edges.
void getConnectedNodes(unsigned int &nodes)
Get all connected nodes to the current vortex. PassByRef.
std::shared_ptr< Node > getConnectedNode(std::shared_ptr< Edge > e)
Get the node on the other side of the edge e.
std::weak_ptr< Edge > getEdge(int idx)
Get edge at index idx. Assumes indices exist.
void addEdge(std::weak_ptr< Edge > e)
Add edge e to the current vortex (node)
void setData(Vtx::Vortex &data)
Set the vortex data (in node)
std::vector< std::weak_ptr< Edge > > & getEdges()
Get all connected edges to vortex (node)
void removeEdgeUid(unsigned int uid)
Remove edge with UID uid.
Class for creating edges between adjacent vortices in graph.