29 idNode downNodeId_, upNodeId_;
50 : downNodeId_(nullNodes), upNodeId_(nullNodes),
52 verticesSeen_(0), normalizedId_(nullSuperArc) {
58 : downNodeId_(d), upNodeId_(u), state_(state), lastVisited_(nullVertex),
59 verticesSeen_(0), normalizedId_(nullSuperArc) {
91 lastVisited_ = vertId;
96#ifdef TTK_ENABLE_OPENMP
97#pragma omp atomic update
107 return verticesSeen_;
111 return normalizedId_;
147 region_.
concat(s.region_);
150 inline void concat(std::tuple<segm_it, segm_it> its) {
151 region_.
concat(std::get<0>(its), std::get<1>(its));
173 return region_.
count();
184 return region_.
size();
187 std::vector<SimplexId>::iterator
begin() {
188 return region_.
begin();
191 std::vector<SimplexId>::iterator
end() {
192 return region_.
end();
206 return region_.
size();
229 const std::vector<idCorresp> &vert2treeOther
230 = std::vector<idCorresp>())
const {
231 return region_.
findBelow(v, s, vert2treeOther);
235 return region_.
merge(s.region_);
239 return region_.
print();
std::string print() const
bool merge(const ArcRegion &r)
decltype(segmentation_) ::iterator end()
std::tuple< SimplexId, ArcRegion > splitFront(SimplexId v, const Scalars *s)
SimplexId findBelow(SimplexId v, const Scalars *s, const std::vector< idCorresp > &vert2treeOther=std::vector< idCorresp >()) const
void createSegmentation(const Scalars *s)
void concat(const segm_it &begin, const segm_it &end)
decltype(segmentation_) ::iterator begin()
std::tuple< SimplexId, ArcRegion > splitBack(SimplexId v, const Scalars *s)
const decltype(segmentsIn_) & getRegions() const
SimplexId getNumberOfRegularNodes() const
void setNormalizeIds(const idSuperArc id)
SimplexId getLastVisited() const
SuperArc(idNode d, idNode u, const ComponentState &state=ComponentState::Visible)
void concat(const SuperArc &s)
std::list< Region > & getRegions()
std::vector< SimplexId >::iterator begin()
void atomicIncVisited(const SimplexId nb=1)
idNode getUpNodeId() const
void concat(const segm_it &begin, const segm_it &end)
std::tuple< SimplexId, ArcRegion > splitFront(SimplexId v, const Scalars *s)
bool merge(const SuperArc &s)
SimplexId getNbVertSeen() const
std::tuple< SimplexId, ArcRegion > splitBack(SimplexId v, const Scalars *s)
SimplexId & operator[](SimplexId v)
void setUpNodeId(idNode upId)
SimplexId findBelow(SimplexId v, const Scalars *s, const std::vector< idCorresp > &vert2treeOther=std::vector< idCorresp >()) const
void concat(const ArcRegion &r)
const std::list< Region > & getRegions() const
SimplexId operator[](SimplexId v) const
void createSegmentation(const Scalars *s)
std::string printReg() const
size_t regionSize() const
void setLastVisited(SimplexId vertId)
const ArcRegion & getRegion() const
idNode getDownNodeId() const
SimplexId getRegularNodeId(SimplexId id) const
void concat(std::tuple< segm_it, segm_it > its)
std::vector< SimplexId >::iterator end()
void setDownNodeId(idNode downId)
idSuperArc getNormalizedId() const
long unsigned int idSuperArc
SuperArc index in vect_superArcs_.
std::vector< SimplexId >::iterator segm_it
unsigned int idNode
Node index in vect_nodes_.
int SimplexId
Identifier type for simplices of any dimension.