![]() |
RobWorkProject
23.9.11-
|
interface for creating and deleting constraintEdges and ConstraintNodes. More...
#include <CNodePool.hpp>
Public Member Functions | |
| CNodePool (int nrNodes=0, int nrEdges=0) | |
| initialize the node and edge buffers | |
| ConstraintNode * | createCNode (ConstraintNode::NodeType type) |
| create a ConstraintNode | |
| void | deleteCNode (ConstraintNode *node) |
| delete a constraint node | |
| ConstraintEdge * | createCEdge (const CNodePair &pair, ConstraintEdge::EdgeType type) |
| void | deleteCEdge (ConstraintEdge *edge) |
| delete an edge from the pool. The edge will be recycled | |
| const std::vector< ConstraintNode * > & | getNodes () const |
| gets the complete list of constraint nodes in the pool. NULL elements can occour. | |
| const std::vector< ConstraintEdge * > & | getEdges () const |
| gets the complete list of constraint edges in the pool. NULL elements can occour. | |
Protected Attributes | |
| std::vector< ConstraintNode * > | _nodes |
| std::vector< ConstraintEdge * > | _edges |
| std::stack< int > | _freeNodeIDs |
| std::stack< int > | _freeEdgeIDs |
interface for creating and deleting constraintEdges and ConstraintNodes.
ConstraintEdges are frequently created and deleted so efficient data structures are needed.