13 namespace SpatialStructures {
64 return ( (this->child == IE2.
child && abs(this->weight - IE2.
weight) < 0.0001 )
95 inline void AddEdges(
const std::vector<IntEdge> & edges) {
108 if (this->parent != ES2.
parent)
return false;
109 if (this->children.size() != ES2.
children.size())
return false;
111 for (
int i = 0; i < this->children.size(); i++)
112 if (this->children[i] != ES2.
children[i])
Contains definitions for the Node structure.
Perform human scale analysis on 3D environments.
STEP
Describes the type of step an edge connects to.
@ DOWN
A step down is required to get from parent to child.
@ NONE
Parent and child are on the same plane and no step is required.
@ UP
A step up is required to get from parent to child.
@ NOT_CONNECTED
No connection between parent and child.
@ OVER
A step over something is required to get from parent to child.
A connection to a child node.
Edge()
Default Constructor.
Node child
The child node for this edge.
STEP step_type
Step required to traverse this edge.
float score
The cost required to traverse this edge.
A lighter version of Edge that contains an ID instead of a full node object..
float weight
Cost to traverse to child.
bool operator!=(const IntEdge &IE2) const
int child
Identifier of child node.
bool operator==(const IntEdge &IE2) const
A collection of edges and a parent.
int parent
Identifier of parent node.
bool operator==(const EdgeSet &ES2) const
Check the equality of two edge sets.
EdgeSet(int parent, const std::vector< IntEdge > &edges)
Construct an edge set with a list of int edges and a parent.
void AddEdges(const std::vector< IntEdge > &edges)
Add a set of edges to the array of children.
std::vector< IntEdge > children
vector of IntEdge (children)
int size() const
Get the number of children in this edgeset.
EdgeSet()
Empty Constructor.
A point in space with an ID.