DHART
|
Functions | |
double | to_radians (double degrees) |
double | to_degrees (double radians) |
double | CalculateSlope (Node &parent, Node &child) |
EdgeSet | CalculateEnergyExpenditure (const Subgraph &sg) |
std::vector< EdgeSet > | CalculateEnergyExpenditure (const Graph &g) |
std::vector< IntEdge > | CalculateCrossSlope (const Subgraph &sg) |
std::vector< std::vector< IntEdge > > | CalculateCrossSlope (const Graph &g) |
template<size_t dimension, typename float_precision = float> | |
float_precision | euclidean_distance (float_precision point_a[], float_precision point_b[]) |
template<size_t dimension, typename float_precision = float> | |
float_precision | dot_product (float_precision vec_U[], float_precision vec_V[]) |
template<size_t dimension, typename float_precision = float> | |
bool | is_perpendicular (float_precision vec_U[], float_precision vec_V[]) |
template<size_t dimension, typename float_precision = float> | |
std::vector< Edge > | GetPerpendicularEdges (const Subgraph &sg, const Node &child_node_a) |
std::vector< std::vector< IntEdge > > HF::SpatialStructures::CostAlgorithms::CalculateCrossSlope | ( | const Graph & | g | ) |
\summary Calculates cross slope for all subgraphs in Graph g
g | The Graph to calculate cross slopes with |
Definition at line 283 of file cost_algorithms.cpp.
References CalculateCrossSlope(), HF::SpatialStructures::Graph::GetSubgraph(), and HF::SpatialStructures::Graph::Nodes().
std::vector< IntEdge > HF::SpatialStructures::CostAlgorithms::CalculateCrossSlope | ( | const Subgraph & | sg | ) |
\summary Calculates cross slope for this subgraph (a parent node and all edges by this parent)
sg | A Subgraph type, which consists of a Node (parent node) and a std::vector<Edge> (all edges by this parent) |
Definition at line 189 of file cost_algorithms.cpp.
References HF::SpatialStructures::Node::id, HF::SpatialStructures::Subgraph::m_edges, HF::SpatialStructures::Subgraph::m_parent, and HF::SpatialStructures::Node::z.
Referenced by CalculateAndStoreCrossSlope(), and CalculateCrossSlope().
std::vector< EdgeSet > HF::SpatialStructures::CostAlgorithms::CalculateEnergyExpenditure | ( | const Graph & | g | ) |
\summary Calculates energy expenditure for all subgraphs in Graph g
g | The graph to calculate energy expenditures with |
Definition at line 162 of file cost_algorithms.cpp.
References CalculateEnergyExpenditure(), HF::SpatialStructures::Graph::GetSubgraph(), and HF::SpatialStructures::Graph::Nodes().
\summary Calculate energy expenditure for this subgraph (a parent node and all edges by this parent)
sg | A subgraph type which consists of a Node (parent node) and a std::vector<Edge> (all edges by this parent) |
Definition at line 96 of file cost_algorithms.cpp.
References CalculateSlope(), HF::SpatialStructures::IntEdge::child, HF::SpatialStructures::Node::directionTo(), HF::SpatialStructures::Node::distanceTo(), HF::SpatialStructures::Node::id, HF::SpatialStructures::Subgraph::m_edges, HF::SpatialStructures::Subgraph::m_parent, and to_radians().
Referenced by CalculateAndStoreEnergyExpenditure(), and CalculateEnergyExpenditure().
Definition at line 34 of file cost_algorithms.cpp.
References to_degrees().
Referenced by CalculateEnergyExpenditure().
float_precision HF::SpatialStructures::CostAlgorithms::dot_product | ( | float_precision | vec_U[], |
float_precision | vec_V[] | ||
) |
\summary Determines the dot product of vec_U and vec_V (vectors, as components)
dimension | of a real coordinate space R^n, where n is dimension, an integral value (i.e. R^2 is 2D, R^3 is 3D) |
float_precision | a floating-point data type, i.e. float, double, long double, etc. |
vec_U | The components of vector U |
vec_V | The components of vector V |
Definition at line 132 of file cost_algorithms.h.
float_precision HF::SpatialStructures::CostAlgorithms::euclidean_distance | ( | float_precision | point_a[], |
float_precision | point_b[] | ||
) |
\summary Determines the distance between two points, point_a and point_b
dimension | of a real coordinate space R^n, where n is dimension, an integral value (i.e. R^2 is 2D, R^3 is 3D) |
float_precision | a floating-point data type, i.e. float, double, long double, etc. |
point_a | The starting point of a line segment |
point_b | The ending point of a line segment |
Definition at line 94 of file cost_algorithms.h.
std::vector< Edge > HF::SpatialStructures::CostAlgorithms::GetPerpendicularEdges | ( | const Subgraph & | sg, |
const Node & | child_node_a | ||
) |
\summary Obtains a container of Edge that are perpendicular to the vector formed by parent_node and child_node_a
sg | A Subgraph that consists of a parent node and a container of Edges by that parent node \paramchild_node_a The child node that forms a vector (edge) with parent_node, that will be compared with all Edge in edges |
Definition at line 231 of file cost_algorithms.h.
References HF::SpatialStructures::Node::directionTo(), HF::SpatialStructures::Subgraph::m_edges, and HF::SpatialStructures::Subgraph::m_parent.
bool HF::SpatialStructures::CostAlgorithms::is_perpendicular | ( | float_precision | vec_U[], |
float_precision | vec_V[] | ||
) |
\summary Determines if vec_U and vec_V (vectors, as components) are perpendicular, or not
dimension | of a real coordinate space R^n, where n is dimension, an integral value (i.e. R^2 is 2D, R^3 is 3D) |
float_precision | a floating-point data type, i.e. float, double, long double, etc. |
vec_U | The components of vector U |
vec_V | The components of vector V |
Definition at line 169 of file cost_algorithms.h.
References HF::SpatialStructures::ROUNDING_PRECISION.
\summary Converts floating-point value radians into an equivalent value in degrees
radians | The value (in radians) to convert into degrees |
Definition at line 30 of file cost_algorithms.cpp.
Referenced by CalculateSlope().
\summary Converts floating-point value degrees into an equivalent value in radians
degrees | The value (in degrees) to convert into radians |
Definition at line 26 of file cost_algorithms.cpp.
Referenced by CalculateEnergyExpenditure().