![]() |
Prusa Slicer 2.6.0
|
Inheritance diagram for igl::geodesic::GeodesicAlgorithmBase:
Collaboration diagram for igl::geodesic::GeodesicAlgorithmBase:Public Types | |
| enum | AlgorithmType { EXACT , DIJKSTRA , SUBDIVISION , UNDEFINED_ALGORITHM } |
Public Member Functions | |
| GeodesicAlgorithmBase (geodesic::Mesh *mesh) | |
| virtual | ~GeodesicAlgorithmBase () |
| virtual void | propagate (std::vector< SurfacePoint > &sources, double max_propagation_distance=GEODESIC_INF, std::vector< SurfacePoint > *stop_points=NULL)=0 |
| virtual void | trace_back (SurfacePoint &destination, std::vector< SurfacePoint > &path)=0 |
| 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) |
| virtual unsigned | best_source (SurfacePoint &point, double &best_source_distance)=0 |
| virtual void | print_statistics () |
| AlgorithmType | type () |
| virtual std::string | name () |
| geodesic::Mesh * | mesh () |
Protected Types | |
| typedef std::pair< vertex_pointer, double > | stop_vertex_with_distace_type |
Protected Member Functions | |
| void | set_stop_conditions (std::vector< SurfacePoint > *stop_points, double stop_distance) |
| double | stop_distance () |
Protected Attributes | |
| 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 |
|
protected |
| Enumerator | |
|---|---|
| EXACT | |
| DIJKSTRA | |
| SUBDIVISION | |
| UNDEFINED_ALGORITHM | |
|
inline |
|
inlinevirtual |
|
pure virtual |
Implemented in igl::geodesic::GeodesicAlgorithmExact.
|
inline |
References igl::geodesic::GEODESIC_INF, propagate(), and trace_back().
Here is the call graph for this function:
|
inline |
References igl::geodesic::GEODESIC_INF, propagate(), and trace_back().
Referenced by trace_back().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References m_mesh.
Referenced by igl::geodesic::GeodesicAlgorithmExact::GeodesicAlgorithmExact().
Here is the caller graph for this function:
|
inlinevirtual |
References DIJKSTRA, EXACT, m_type, SUBDIVISION, and UNDEFINED_ALGORITHM.
|
inlinevirtual |
Reimplemented in igl::geodesic::GeodesicAlgorithmExact.
References m_time_consumed.
Referenced by igl::geodesic::GeodesicAlgorithmExact::print_statistics().
Here is the caller graph for this function:
|
pure virtual |
Implemented in igl::geodesic::GeodesicAlgorithmExact.
Referenced by geodesic(), and geodesic().
Here is the caller graph for this function:
|
inlineprotected |
References igl::geodesic::Mesh::closest_vertices(), igl::geodesic::Point3D::distance(), m_max_propagation_distance, m_mesh, m_stop_vertices, and stop_distance().
Referenced by igl::geodesic::GeodesicAlgorithmExact::propagate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
References m_max_propagation_distance.
Referenced by igl::geodesic::GeodesicAlgorithmExact::check_stop_conditions(), and set_stop_conditions().
Here is the caller graph for this function:
|
pure virtual |
Implemented in igl::geodesic::GeodesicAlgorithmExact.
References geodesic().
Referenced by geodesic(), and geodesic().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
|
protected |
Referenced by set_stop_conditions(), and stop_distance().
|
protected |
Referenced by mesh(), and set_stop_conditions().
|
protected |
|
protected |
Referenced by igl::geodesic::GeodesicAlgorithmExact::check_stop_conditions(), and set_stop_conditions().
|
protected |
Referenced by print_statistics(), and igl::geodesic::GeodesicAlgorithmExact::propagate().
|
protected |
Referenced by igl::geodesic::GeodesicAlgorithmExact::GeodesicAlgorithmExact(), name(), and type().