24 return ascendingOrder_;
37 std::sort(vertices_.begin(), vertices_.end(), ascendingSort);
39 std::sort(vertices_.begin(), vertices_.end(), descendingSort);
44 vertices_.emplace_back(
vertex{v, nullSuperArc});
49 vertices_.shrink_to_fit();
53 return vertices_[idx].id;
57 return vertices_[idx].id;
81 return segments_.size();
86 segments_.shrink_to_fit();
90 return segments_[idx];
94 return segments_[idx];
102 segmentsIn_.emplace_front(
Region{s, s, bool()});
112 vector<sorted_iterator> heads, ends;
113 for(
const auto ®ion : segmentsIn_) {
114 totalSegmSize += distance(region.segmentBegin, region.segmentEnd);
115 heads.emplace_back(region.sbegin());
116 heads.emplace_back(region.send());
119 segmentation_.clear();
120 segmentation_.reserve(
123 const auto &nbSegments = heads.size();
128 for(
unsigned i = 0; i < nbSegments; i++) {
129 if(i >= ends.size()) {
132 auto &&head = heads[i];
133 auto &&
end = ends[i];
135 while(head !=
end && head->ctArc != thisArc)
140 throw "Not finished yet";
void addSegment(const segmentIterator &begin, const segmentIterator &end)
void createSegmentation(const idSuperArc &thisArc)
ArcRegion(const segmentIterator &s)
Segment(const bool order=true)
void sort(const Scalars *s)
SimplexId & operator[](size_t idx)
void emplace_back(const SimplexId &v)
Segment & operator[](size_t idx)
idSuperArc idSegment
for the segmentation, we have an array of segment containing area of the mesh
std::vector< vertex >::iterator segmentIterator
long unsigned int idSuperArc
SuperArc index in vect_superArcs_.
int SimplexId
Identifier type for simplices of any dimension.
T end(std::pair< T, T > &p)
T begin(std::pair< T, T > &p)
bool isHigher(const SimplexId &a, const SimplexId &b) const
bool isLower(const SimplexId &a, const SimplexId &b) const