aimsalgo  5.0.5
Neuroimaging image processing
geodesic::GeodesicAlgorithmExact Class Reference

#include <aims/geodesicpath/geodesic_algorithm_exact.h>

Inheritance diagram for geodesic::GeodesicAlgorithmExact:
Collaboration diagram for geodesic::GeodesicAlgorithmExact:

Public Member Functions

 GeodesicAlgorithmExact (geodesic::Mesh *mesh)
 
 ~GeodesicAlgorithmExact ()
 
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 ()
 

Additional Inherited Members

- Public Types inherited from geodesic::GeodesicAlgorithmBase
enum  AlgorithmType { EXACT, DIJKSTRA, SUBDIVISION, UNDEFINED_ALGORITHM }
 
- Protected Types inherited from geodesic::GeodesicAlgorithmBase
typedef std::pair< vertex_pointer, double > stop_vertex_with_distace_type
 
- Protected Member Functions inherited from geodesic::GeodesicAlgorithmBase
void set_stop_conditions (std::vector< SurfacePoint > *stop_points, double stop_distance)
 
double stop_distance ()
 
- 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 19 of file geodesic_algorithm_exact.h.

Constructor & Destructor Documentation

◆ GeodesicAlgorithmExact()

geodesic::GeodesicAlgorithmExact::GeodesicAlgorithmExact ( geodesic::Mesh mesh)
inline

◆ ~GeodesicAlgorithmExact()

geodesic::GeodesicAlgorithmExact::~GeodesicAlgorithmExact ( )
inline

Member Function Documentation

◆ best_source()

◆ print_statistics()

void geodesic::GeodesicAlgorithmExact::print_statistics ( )
inlinevirtual

◆ propagate()

void geodesic::GeodesicAlgorithmExact::propagate ( std::vector< SurfacePoint > &  sources,
double  max_propagation_distance = GEODESIC_INF,
std::vector< SurfacePoint > *  stop_points = NULL 
)
inlinevirtual

Implements geodesic::GeodesicAlgorithmBase.

Definition at line 538 of file geodesic_algorithm_exact.h.

References geodesic::MeshElementBase::adjacent_edges(), geodesic::MeshElementBase::adjacent_faces(), geodesic::Interval::compute_min_distance(), geodesic::Interval::d(), geodesic::Interval::direction(), geodesic::Interval::edge(), geodesic::IntervalList::edge(), geodesic::IntervalList::first(), geodesic::Interval::FROM_FACE_0, geodesic::Interval::FROM_FACE_1, geodesic::GEODESIC_INF, geodesic::MeshElementBase::id(), geodesic::Edge::is_boundary(), geodesic::GeodesicAlgorithmBase::length(), geodesic::Edge::length(), geodesic::GeodesicAlgorithmBase::m_propagation_distance_stopped, geodesic::GeodesicAlgorithmBase::m_stop_vertices, geodesic::GeodesicAlgorithmBase::m_time_consumed, aims::meshdistance::max(), aims::meshdistance::min(), geodesic::Interval::min(), geodesic::Interval::next(), geodesic::Face::next_edge(), geodesic::Interval::pseudo_x(), geodesic::Interval::pseudo_y(), geodesic::Vertex::saddle_or_boundary(), geodesic::GeodesicAlgorithmBase::set_stop_conditions(), geodesic::IntervalList::signal(), geodesic::SimpleVector< Data >::size(), geodesic::SMALLEST_INTERVAL_RATIO, geodesic::Interval::source_index(), geodesic::Interval::start(), geodesic::Interval::stop(), geodesic::IntervalWithStop::stop(), geodesic::GeodesicAlgorithmBase::stop_distance(), swap(), geodesic::Edge::v0(), geodesic::Edge::v1(), and geodesic::Face::vertex_angle().

Referenced by ~GeodesicAlgorithmExact().

◆ trace_back()

◆ trace_back_with_index()

void geodesic::GeodesicAlgorithmExact::trace_back_with_index ( SurfacePoint destination,
std::vector< SurfacePoint > &  path,
std::vector< unsigned > &  indexVertex 
)
inlinevirtual

Implements geodesic::GeodesicAlgorithmBase.

Definition at line 1295 of file geodesic_algorithm_exact.h.

References trace_back().

Referenced by ~GeodesicAlgorithmExact().


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