Skip to content

Project Geode-Common

class SolidPathFinder

The objective of this class is to find paths inside TetrahedralSolid3D. As an example, this class is able to find a rectilinear path between two vertices. This class may be derived for custom path findings.

Functions

SolidPathFinder

cpp
public void SolidPathFinder(const TetrahedralSolid3D & solid, index_t begin, index_t end)
public void SolidPathFinder(const TetrahedralSolid3D & solid, index_t begin, index_t end)

Find a rectilinear path between two vertices.

begin [in] Index of the cut starting vertex

end [in] Index of the cut ending vertex.

find_path

cpp
public absl::optional<std::vector<SolidPath> > find_path()
public absl::optional<std::vector<SolidPath> > find_path()

edge_exists

cpp
protected bool edge_exists()
protected bool edge_exists()

stop_propagation

cpp
protected bool stop_propagation(const SolidPath & path)
protected bool stop_propagation(const SolidPath & path)

adjacent_opposite_vertex

cpp
protected PolyhedronVertex adjacent_opposite_vertex(const PolyhedronFacet & facet)
protected PolyhedronVertex adjacent_opposite_vertex(const PolyhedronFacet & facet)

opposite_facet

cpp
protected PolyhedronFacet opposite_facet(const PolyhedronVertex & vertex)
protected PolyhedronFacet opposite_facet(const PolyhedronVertex & vertex)

opposite_vertex

cpp
protected PolyhedronVertex opposite_vertex(const PolyhedronFacet & facet)
protected PolyhedronVertex opposite_vertex(const PolyhedronFacet & facet)

facet_triangle

cpp
protected Triangle3D facet_triangle(const PolyhedronFacet & facet)
protected Triangle3D facet_triangle(const PolyhedronFacet & facet)

find_path_intersection_with_facet

cpp
protected absl::optional<SolidPath> find_path_intersection_with_facet(const PolyhedronFacet & facet)
protected absl::optional<SolidPath> find_path_intersection_with_facet(const PolyhedronFacet & facet)

find_first_path

cpp
protected absl::optional<SolidPath> find_first_path()
protected absl::optional<SolidPath> find_first_path()

find_next_path

cpp
protected absl::optional<SolidPath> find_next_path(index_t current)
protected absl::optional<SolidPath> find_next_path(index_t current)

find_next_paths

cpp
protected bool find_next_paths(std::vector<SolidPath> & paths)
protected bool find_next_paths(std::vector<SolidPath> & paths)

find_next_facet

cpp
protected absl::optional<SolidPath> find_next_facet(const PolyhedronFacet & facet_from)
protected absl::optional<SolidPath> find_next_facet(const PolyhedronFacet & facet_from)

next_intersection

cpp
protected absl::optional<SolidPath> next_intersection(const SolidPath & previous_path, const SolidPath & current_path)
protected absl::optional<SolidPath> next_intersection(const SolidPath & previous_path, const SolidPath & current_path)

solid

cpp
protected const TetrahedralSolid3D & solid()
protected const TetrahedralSolid3D & solid()

begin

cpp
protected index_t begin()
protected index_t begin()

end

cpp
protected index_t end()
protected index_t end()

begin_to_end

cpp
protected const Segment3D & begin_to_end()
protected const Segment3D & begin_to_end()

find_next_paths

cpp
protected bool find_next_paths(int & paths)
protected bool find_next_paths(int & paths)

Geode-solutions' documentation website