![]() |
aimsalgo
5.0.5
Neuroimaging image processing
|
#include <aims/geodesicpath/geodesic_algorithm_exact.h>
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 () |
![]() | |
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 () |
Additional Inherited Members | |
![]() | |
enum | AlgorithmType { EXACT, DIJKSTRA, SUBDIVISION, UNDEFINED_ALGORITHM } |
![]() | |
typedef std::pair< vertex_pointer, double > | stop_vertex_with_distace_type |
![]() | |
void | set_stop_conditions (std::vector< SurfacePoint > *stop_points, double stop_distance) |
double | stop_distance () |
![]() | |
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 19 of file geodesic_algorithm_exact.h.
|
inline |
Definition at line 22 of file geodesic_algorithm_exact.h.
References geodesic::Mesh::edges(), geodesic::GeodesicAlgorithmBase::EXACT, and geodesic::GeodesicAlgorithmBase::m_type.
|
inline |
Definition at line 35 of file geodesic_algorithm_exact.h.
References geodesic::MeshElementBase::adjacent_edges(), geodesic::MeshElementBase::adjacent_faces(), geodesic::SurfacePoint::base_element(), best_source(), geodesic::Interval::compute_min_distance(), geodesic::IntervalList::covering_interval(), geodesic::Interval::d(), geodesic::Interval::direction(), geodesic::Point3D::distance(), geodesic::EDGE, geodesic::Interval::edge(), geodesic::FACE, geodesic::IntervalList::find_closest_point(), geodesic::Interval::FROM_SOURCE, geodesic::GEODESIC_INF, geodesic::MeshElementBase::id(), geodesic::Interval::initialize(), geodesic::SortedSources::initialize(), geodesic::Edge::length(), geodesic::GeodesicAlgorithmBase::m_propagation_distance_stopped, aims::meshdistance::max(), aims::meshdistance::min(), geodesic::Interval::min(), geodesic::Face::next_edge(), geodesic::Face::opposite_edge(), print_statistics(), propagate(), geodesic::Interval::pseudo_x(), geodesic::Interval::pseudo_y(), geodesic::Interval::signal(), geodesic::SimpleVector< Data >::size(), geodesic::SMALLEST_INTERVAL_RATIO, geodesic::Interval::source_index(), geodesic::Interval::start(), geodesic::Interval::stop(), geodesic::IntervalWithStop::stop(), trace_back(), trace_back_with_index(), geodesic::MeshElementBase::type(), geodesic::SurfacePoint::type(), geodesic::UNDEFINED_POINT, geodesic::Edge::v0(), geodesic::Edge::v1(), geodesic::VERTEX, and geodesic::Interval::visible_from_source().
|
inlinevirtual |
Implements geodesic::GeodesicAlgorithmBase.
Definition at line 1180 of file geodesic_algorithm_exact.h.
References geodesic::MeshElementBase::adjacent_edges(), geodesic::SurfacePoint::base_element(), geodesic::IntervalList::covering_interval(), geodesic::Point3D::distance(), geodesic::EDGE, geodesic::FACE, geodesic::IntervalList::find_closest_point(), geodesic::GEODESIC_INF, geodesic::MeshElementBase::id(), geodesic::SurfacePointWithIndex::index(), geodesic::Edge::length(), geodesic::GeodesicAlgorithmBase::m_propagation_distance_stopped, geodesic::Interval::signal(), geodesic::SimpleVector< Data >::size(), geodesic::Interval::source_index(), geodesic::SortedSources::sources(), geodesic::SurfacePoint::type(), geodesic::UNDEFINED_POINT, geodesic::Edge::v0(), and geodesic::VERTEX.
Referenced by ~GeodesicAlgorithmExact().
|
inlinevirtual |
Reimplemented from geodesic::GeodesicAlgorithmBase.
Definition at line 1370 of file geodesic_algorithm_exact.h.
References geodesic::GeodesicAlgorithmBase::print_statistics().
Referenced by ~GeodesicAlgorithmExact().
|
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().
|
inlinevirtual |
Implements geodesic::GeodesicAlgorithmBase.
Definition at line 1301 of file geodesic_algorithm_exact.h.
References geodesic::Interval::edge(), geodesic::GEODESIC_INF, geodesic::Edge::length(), std::numeric_limits< class >::max(), geodesic::SMALLEST_INTERVAL_RATIO, geodesic::Interval::source_index(), geodesic::Edge::v0(), and geodesic::Edge::v1().
Referenced by trace_back_with_index(), and ~GeodesicAlgorithmExact().
|
inlinevirtual |
Implements geodesic::GeodesicAlgorithmBase.
Definition at line 1295 of file geodesic_algorithm_exact.h.
References trace_back().
Referenced by ~GeodesicAlgorithmExact().