![]() |
aimsalgo
5.0.5
Neuroimaging image processing
|
#include <aims/geodesicpath/geodesic_algorithm_dijkstra.h>
Public Types | |
typedef DijkstraNode | Node |
typedef Node * | node_pointer |
![]() | |
typedef DijkstraNode * | node_pointer |
![]() | |
enum | AlgorithmType { EXACT, DIJKSTRA, SUBDIVISION, UNDEFINED_ALGORITHM } |
Public Member Functions | |
GeodesicAlgorithmDijkstra (geodesic::Mesh *mesh) | |
~GeodesicAlgorithmDijkstra () | |
![]() | |
GeodesicAlgorithmGraphBase (geodesic::Mesh *mesh) | |
~GeodesicAlgorithmGraphBase () | |
void | propagate (std::vector< SurfacePoint > &sources, double max_propagation_distance=GEODESIC_INF, std::vector< SurfacePoint > *stop_points=NULL) |
void | trace_back (SurfacePoint &destination, std::vector< SurfacePoint > &path) |
void | trace_back_with_index (SurfacePoint &destination, std::vector< SurfacePoint > &path, std::vector< unsigned > &indexVertex) |
unsigned | best_source (SurfacePoint &point, double &best_source_distance) |
void | print_statistics () |
![]() | |
GeodesicAlgorithmBase (geodesic::Mesh *mesh) | |
virtual | ~GeodesicAlgorithmBase () |
void | geodesic (SurfacePoint &source, SurfacePoint &destination, std::vector< SurfacePoint > &path) |
void | geodesic (std::vector< SurfacePoint > &sources, std::vector< SurfacePoint > &destinations, std::vector< std::vector< SurfacePoint > > &paths) |
void | geodesic (SurfacePoint &source, SurfacePoint &destination, std::vector< SurfacePoint > &path, std::vector< unsigned > &indexVertex) |
void | geodesic (SurfacePoint &sources, std::vector< SurfacePoint > &destinations, std::vector< std::vector< SurfacePoint > > &paths, std::vector< std::vector< unsigned > > &indexVertex) |
double | length (std::vector< SurfacePoint > &path) |
void | print_info_about_path (std::vector< SurfacePoint > &path) |
AlgorithmType | type () |
virtual std::string | name () |
geodesic::Mesh * | mesh () |
Protected Member Functions | |
void | list_nodes_visible_from_source (MeshElementBase *p, std::vector< node_pointer > &storage) |
void | list_nodes_visible_from_node (node_pointer node, std::vector< node_pointer > &storage, std::vector< double > &distances, double threshold_distance) |
![]() | |
unsigned | node_index (vertex_pointer v) |
void | set_sources (std::vector< SurfacePoint > &sources) |
node_pointer | best_first_node (SurfacePoint &point, double &best_total_distance) |
bool | check_stop_conditions (unsigned &index) |
![]() | |
void | set_stop_conditions (std::vector< SurfacePoint > *stop_points, double stop_distance) |
double | stop_distance () |
Additional Inherited Members | |
![]() | |
typedef std::set< node_pointer, DijkstraNode > | queue_type |
![]() | |
typedef std::pair< vertex_pointer, double > | stop_vertex_with_distace_type |
![]() | |
std::vector< DijkstraNode > | m_nodes |
queue_type | m_queue |
std::vector< SurfacePoint > | m_sources |
![]() | |
AlgorithmType | m_type |
std::vector< stop_vertex_with_distace_type > | m_stop_vertices |
double | m_max_propagation_distance |
geodesic::Mesh * | m_mesh |
double | m_time_consumed |
double | m_propagation_distance_stopped |
Definition at line 55 of file geodesic_algorithm_dijkstra.h.
Definition at line 58 of file geodesic_algorithm_dijkstra.h.
Definition at line 59 of file geodesic_algorithm_dijkstra.h.
|
inline |
Definition at line 61 of file geodesic_algorithm_dijkstra.h.
References geodesic::Mesh::vertices().
|
inline |
Definition at line 73 of file geodesic_algorithm_dijkstra.h.
|
inlineprotectedvirtual |
Implements geodesic::GeodesicAlgorithmGraphBase< DijkstraNode >.
Definition at line 116 of file geodesic_algorithm_dijkstra.h.
References geodesic::MeshElementBase::adjacent_edges(), geodesic::DijkstraNode::distance_from_source(), geodesic::Edge::length(), geodesic::Edge::opposite_vertex(), geodesic::SimpleVector< Data >::size(), and geodesic::DijkstraNode::vertex().
|
inlineprotectedvirtual |
Implements geodesic::GeodesicAlgorithmGraphBase< DijkstraNode >.
Definition at line 86 of file geodesic_algorithm_dijkstra.h.
References geodesic::MeshElementBase::adjacent_vertices(), geodesic::EDGE, geodesic::FACE, geodesic::MeshElementBase::type(), and geodesic::UNDEFINED_POINT.