134#ifndef vtkSurfaceNetsAtlas_h
135#define vtkSurfaceNetsAtlas_h
137#include "vtkFiltersCoreModule.h"
147VTK_ABI_NAMESPACE_BEGIN
187 vtkGetMacro(ExtractionMode,
int);
221 vtkGetMacro(OutputStyle,
int);
338 vtkSetMacro(GenerateRegions,
bool);
339 vtkGetMacro(GenerateRegions,
bool);
340 vtkBooleanMacro(GenerateRegions,
bool);
358 vtkSetMacro(GeneratePatches,
bool);
359 vtkGetMacro(GeneratePatches,
bool);
360 vtkBooleanMacro(GeneratePatches,
bool);
379 vtkSetMacro(ResolveNonManifoldPoints,
bool);
380 vtkGetMacro(ResolveNonManifoldPoints,
bool);
381 vtkBooleanMacro(ResolveNonManifoldPoints,
bool);
435 bool AreAdjacent(
const std::string& name0,
const std::string& name1)
const;
469 int GetPatchID(
const std::string& name0,
const std::string& name1)
const;
508 template <
bool IsPatch>
510 const std::vector<
const std::vector<vtkIdType>*>& groups,
vtkIdType label,
511 std::atomic<unsigned char>* ptUses, std::vector<vtkIdType>& pointMap)
const;
524 bool GenerateRegions =
true;
525 bool GeneratePatches =
true;
526 bool ResolveNonManifoldPoints =
false;
528 std::vector<vtkIdType> Labels;
532 std::unique_ptr<AtlasData> Atlas;
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
vtkPartitionedDataSetCollectionAlgorithm()
Composite dataset that groups datasets as a collection.
concrete dataset represents vertices, lines, polygons, and triangle strips
Hold a reference to a vtkObjectBase instance.
vtkIdType GetPatchCellCount(int patchID) const
Return the number of cells on the patch at patchID.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to instantiate, print, and provide type information.
int GetPatchID(const std::string &name0, const std::string &name1) const
Return the patch ID for the patch defined by the (unordered) pair (label0, label1),...
void GetPatchLabels(int patchID, vtkIdType labels[2]) const
Fill labels with the (L0, L1) pair defining the patch at patchID, with L0 < L1.
void SetNumberOfSelectedLabels(int n)
Set the selection list to exactly n entries.
void GenerateSelectedLabels(vtkIdType rangeStart, vtkIdType rangeEnd)
Populate the selection list with numLabels equally spaced integer labels between rangeStart and range...
vtkIdType GetSelectedLabel(int i) const
Index-based access to the selection list.
int GetNumberOfLabels() const
Return the number of distinct labels in the input.
void RemoveSelectedLabel(vtkIdType label)
Add, remove, or replace a single label in the selection list.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Methods for subclasses to override to handle different pipeline requests.
bool HasLabel(const std::string &name) const
Return whether label exists in the atlas.
~vtkSurfaceNetsAtlas() override
std::vector< int > GetPatchesForLabel(const std::string &name) const
Returns the indices of every patch touching label.
std::vector< vtkIdType > GetAdjacentLabels(vtkIdType label) const
Return a list of labels that share a patch with label.
bool AreAdjacent(vtkIdType label0, vtkIdType label1) const
Return whether two labels share a patch.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int GetNumberOfLabelNames() const
Human-readable names for labels.
vtkIdType GetNumberOfPatches() const
Return the number of patches (unordered {L0, L1} pairs with L0 < L1) in the input.
int GetLIDForLabel(vtkIdType label) const
Translate between Label and LID.
void SetSelectedLabels(const std::vector< vtkIdType > &labels)
Set/Get the complete selection list.
vtkIdType GetLabelForName(const std::string &name) const
Reverse-lookup a label value by its name.
void RemoveLabelName(vtkIdType label)
Human-readable names for labels.
int GetPatchID(vtkIdType label0, vtkIdType label1) const
Return the patch ID for the patch defined by the (unordered) pair (label0, label1),...
std::vector< int > GetPatchesForLabel(vtkIdType label) const
Returns the indices of every patch touching label.
bool HasLabel(vtkIdType label) const
Return whether label exists in the atlas.
void SetOutputStyleToAll()
Specify which cells are included in each emitted Region partition.
void GenerateSelectedLabels(int numLabels, vtkIdType range[2])
Populate the selection list with numLabels equally spaced integer labels between rangeStart and range...
void SetOutputStyleToBoundary()
Specify which cells are included in each emitted Region partition.
virtual void SetExtractionMode(int)
Specify which regions are emitted in the output:
int GetNumberOfSelectedLabels() const
Set the selection list to exactly n entries.
void SetExtractionModeToAll()
Specify which regions are emitted in the output:
int GetLIDForLabel(const std::string &name) const
Translate between Label and LID.
virtual void SetOutputStyle(int)
Specify which cells are included in each emitted Region partition.
void SetLabelName(vtkIdType label, const std::string &name)
Human-readable names for labels.
void SetExtractionModeToLabelSet()
Specify which regions are emitted in the output:
std::string GetLabelName(vtkIdType label) const
Human-readable names for labels.
bool AreAdjacent(const std::string &name0, const std::string &name1) const
Return whether two labels share a patch.
void ClearSelectedLabels()
Add, remove, or replace a single label in the selection list.
void ClearLabelNames()
Human-readable names for labels.
void AddLabelName(vtkIdType label, const std::string &name)
Human-readable names for labels.
std::vector< vtkIdType > GetAdjacentLabels(const std::string &name) const
Return a list of labels that share a patch with label.
void SetSelectedLabel(int i, vtkIdType label)
Index-based access to the selection list.
void GenerateSelectedLabels(int numLabels, vtkIdType rangeStart, vtkIdType rangeEnd)
Populate the selection list with numLabels equally spaced integer labels between rangeStart and range...
vtkIdType GetLabelForLID(int lid) const
Translate between Label and LID.
static vtkSurfaceNetsAtlas * New()
Standard methods to instantiate, print, and provide type information.
std::vector< vtkIdType > GetSelectedLabels() const
Set/Get the complete selection list.
void AddSelectedLabel(vtkIdType label)
Add, remove, or replace a single label in the selection list.
record modification and/or execution time
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)