aimsalgo  5.0.5
Neuroimaging image processing
geodesic::GeodesicAlgorithmDijkstra Class Reference

#include <aims/geodesicpath/geodesic_algorithm_dijkstra.h>

Inheritance diagram for geodesic::GeodesicAlgorithmDijkstra:
Collaboration diagram for geodesic::GeodesicAlgorithmDijkstra:

Public Types

typedef DijkstraNode Node
 
typedef Nodenode_pointer
 
- Public Types inherited from geodesic::GeodesicAlgorithmGraphBase< DijkstraNode >
typedef DijkstraNodenode_pointer
 
- Public Types inherited from geodesic::GeodesicAlgorithmBase
enum  AlgorithmType { EXACT, DIJKSTRA, SUBDIVISION, UNDEFINED_ALGORITHM }
 

Public Member Functions

 GeodesicAlgorithmDijkstra (geodesic::Mesh *mesh)
 
 ~GeodesicAlgorithmDijkstra ()
 
- Public Member Functions inherited from geodesic::GeodesicAlgorithmGraphBase< DijkstraNode >
 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 ()
 
- Public Member Functions inherited from geodesic::GeodesicAlgorithmBase
 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::Meshmesh ()
 

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)
 
- Protected Member Functions inherited from geodesic::GeodesicAlgorithmGraphBase< DijkstraNode >
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)
 
- Protected Member Functions inherited from geodesic::GeodesicAlgorithmBase
void set_stop_conditions (std::vector< SurfacePoint > *stop_points, double stop_distance)
 
double stop_distance ()
 

Additional Inherited Members

- Protected Types inherited from geodesic::GeodesicAlgorithmGraphBase< DijkstraNode >
typedef std::set< node_pointer, DijkstraNodequeue_type
 
- Protected Types inherited from geodesic::GeodesicAlgorithmBase
typedef std::pair< vertex_pointer, double > stop_vertex_with_distace_type
 
- Protected Attributes inherited from geodesic::GeodesicAlgorithmGraphBase< DijkstraNode >
std::vector< DijkstraNodem_nodes
 
queue_type m_queue
 
std::vector< SurfacePointm_sources
 
- Protected Attributes inherited from geodesic::GeodesicAlgorithmBase
AlgorithmType m_type
 
std::vector< stop_vertex_with_distace_typem_stop_vertices
 
double m_max_propagation_distance
 
geodesic::Meshm_mesh
 
double m_time_consumed
 
double m_propagation_distance_stopped
 

Detailed Description

Definition at line 55 of file geodesic_algorithm_dijkstra.h.

Member Typedef Documentation

◆ Node

◆ node_pointer

Constructor & Destructor Documentation

◆ GeodesicAlgorithmDijkstra()

geodesic::GeodesicAlgorithmDijkstra::GeodesicAlgorithmDijkstra ( geodesic::Mesh mesh)
inline

Definition at line 61 of file geodesic_algorithm_dijkstra.h.

References geodesic::Mesh::vertices().

◆ ~GeodesicAlgorithmDijkstra()

geodesic::GeodesicAlgorithmDijkstra::~GeodesicAlgorithmDijkstra ( )
inline

Definition at line 73 of file geodesic_algorithm_dijkstra.h.

Member Function Documentation

◆ list_nodes_visible_from_node()

void geodesic::GeodesicAlgorithmDijkstra::list_nodes_visible_from_node ( node_pointer  node,
std::vector< node_pointer > &  storage,
std::vector< double > &  distances,
double  threshold_distance 
)
inlineprotectedvirtual

◆ list_nodes_visible_from_source()

void geodesic::GeodesicAlgorithmDijkstra::list_nodes_visible_from_source ( MeshElementBase p,
std::vector< node_pointer > &  storage 
)
inlineprotectedvirtual

The documentation for this class was generated from the following file: