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));
156 region_.createSegmentation(s);
161 return region_.getRegions();
165 return region_.getRegions();
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();
218 return region_.splitFront(v, s);
224 return region_.splitBack(v, s);
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();
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
std::vector< SimplexId >::iterator segm_it
long unsigned int idSuperArc
SuperArc index in vect_superArcs_.
unsigned int idNode
Node index in vect_nodes_.
TTK base package defining the standard types.
int SimplexId
Identifier type for simplices of any dimension.