Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
igl::geodesic::SortedSources Class Reference
+ Inheritance diagram for igl::geodesic::SortedSources:
+ Collaboration diagram for igl::geodesic::SortedSources:

Public Types

typedef sorted_vector_type::iterator sorted_iterator
 
typedef std::pair< sorted_iterator, sorted_iteratorsorted_iterator_pair
 

Public Member Functions

sorted_iterator_pair sources (base_pointer mesh_element)
 
void initialize (std::vector< SurfacePoint > &sources)
 
SurfacePointWithIndexoperator[] (unsigned i)
 

Public Attributes

elements
 STL member.
 

Private Types

typedef std::vector< SurfacePointWithIndex * > sorted_vector_type
 

Private Attributes

sorted_vector_type m_sorted
 
SurfacePointWithIndex m_search_dummy
 
SurfacePointWithIndex m_compare_less
 

Detailed Description

Member Typedef Documentation

◆ sorted_iterator

typedef sorted_vector_type::iterator igl::geodesic::SortedSources::sorted_iterator

◆ sorted_iterator_pair

◆ sorted_vector_type

Member Function Documentation

◆ initialize()

void igl::geodesic::SortedSources::initialize ( std::vector< SurfacePoint > &  sources)
inline
1482 {
1483 resize(sources.size());
1484 m_sorted.resize(sources.size());
1485 for(unsigned i=0; i<sources.size(); ++i)
1486 {
1487 SurfacePointWithIndex& p = *(begin() + i);
1488
1489 p.initialize(sources[i],i);
1490 m_sorted[i] = &p;
1491 }
1492
1493 std::sort(m_sorted.begin(), m_sorted.end(), m_compare_less);
1494 };
SurfacePointWithIndex m_compare_less
Definition exact_geodesic.cpp:1505
sorted_iterator_pair sources(base_pointer mesh_element)
Definition exact_geodesic.cpp:1471
sorted_vector_type m_sorted
Definition exact_geodesic.cpp:1503
S::iterator begin(S &sh, const PathTag &)
Definition geometry_traits.hpp:614

References igl::geodesic::SurfacePointWithIndex::initialize(), m_compare_less, m_sorted, and sources().

Referenced by igl::geodesic::GeodesicAlgorithmExact::set_sources().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator[]()

SurfacePointWithIndex & igl::geodesic::SortedSources::operator[] ( unsigned  i)
inline
1497 {
1498 assert(i < size());
1499 return *(begin() + i);
1500 }
constexpr auto size(const C &c) -> decltype(c.size())
Definition span.hpp:183

◆ sources()

sorted_iterator_pair igl::geodesic::SortedSources::sources ( base_pointer  mesh_element)
inline
1472 {
1473 m_search_dummy.base_element() = mesh_element;
1474
1475 return equal_range(m_sorted.begin(),
1476 m_sorted.end(),
1479 }
SurfacePointWithIndex m_search_dummy
Definition exact_geodesic.cpp:1504
base_pointer & base_element()
Definition exact_geodesic.cpp:603

References igl::geodesic::SurfacePoint::base_element(), m_compare_less, m_search_dummy, and m_sorted.

Referenced by igl::geodesic::GeodesicAlgorithmExact::best_first_interval(), and initialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ elements

T std::vector< T >::elements
inherited

STL member.

◆ m_compare_less

SurfacePointWithIndex igl::geodesic::SortedSources::m_compare_less
private

Referenced by initialize(), and sources().

◆ m_search_dummy

SurfacePointWithIndex igl::geodesic::SortedSources::m_search_dummy
private

Referenced by sources().

◆ m_sorted

sorted_vector_type igl::geodesic::SortedSources::m_sorted
private

Referenced by initialize(), and sources().


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