Go to the documentation of this file.
54 #ifndef vtk_m_worklet_contourtree_augmented_types_h
55 #define vtk_m_worklet_contourtree_augmented_types_h
68 namespace contourtree_augmented
148 template <
typename S>
151 #ifndef VTKM_NO_ASSERT
179 template <
typename ValueType>
186 if (oldSize == newSize)
195 if (oldSize < newSize)
207 template <
typename T>
219 std::string fString(
"");
222 fString += (
IsSupernode(flaggedIndex) ?
"s" :
".");
223 fString += (
IsHypernode(flaggedIndex) ?
"h" :
".");
224 fString += (
IsAscending(flaggedIndex) ?
"a" :
".");
247 if (this->UpEdge == b.
UpEdge)
267 return this->UpEdge < b.
UpEdge;
272 return this->I < b.
I;
292 if (this->UpEdge == b.
UpEdge)
296 if (this->UpEdge ==
true)
298 return this->J > b.
J;
302 return this->J < b.
J;
312 return this->UpEdge < b.
UpEdge;
317 return this->I < b.
I;
338 pointDimensions[0] = pointDimensions2D[0];
339 pointDimensions[1] = pointDimensions2D[1];
340 pointDimensions[2] = 1;
349 template <
typename T>
365 pointDimensions[0] = pointDimensions2D[0];
366 pointDimensions[1] = pointDimensions2D[1];
367 pointDimensions[2] = 1;
369 globalPointDimensions[0] = globalPointDimensions2D[0];
370 globalPointDimensions[1] = globalPointDimensions2D[1];
371 globalPointDimensions[2] = 1;
373 globalPointIndexStart[0] = pointIndexStart2D[0];
374 globalPointIndexStart[1] = pointIndexStart2D[1];
375 globalPointIndexStart[2] = 0;
390 template <
typename T>
constexpr vtkm::Id ELEMENT_EXISTS
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:80
Id J
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:234
constexpr vtkm::Id INDEX_MASK
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:78
VTKM_CONT vtkm::Id GetNumberOfValues() const
Returns the number of entries in the array.
Definition: ArrayHandle.h:448
void operator()(const vtkm::cont::CellSetStructured< 3 > &cells, vtkm::Id3 &pointDimensions, vtkm::Id3 &globalPointDimensions, vtkm::Id3 &globalPointIndexStart) const
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:377
VTKM_EXEC_CONT bool IsAscending(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:121
Helper struct to collect sizing information from a dataset.
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:329
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:228
VTKM_EXEC_CONT bool IsHypernode(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:115
#define VTKM_EXEC
Definition: ExportMacros.h:51
VTKM_EXEC_CONT bool IsTerminalElement(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:103
Groups connected points that have the same field value.
Definition: Atomic.h:19
void ResizeVector(vtkm::cont::ArrayHandle< ValueType > &thearray, vtkm::Id newSize, ValueType fillValue)
Helper function used to resize a 1D ArrayHandle and initalize new values with a given fillValue.
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:180
#define VTKM_ASSERT(condition)
Definition: Assert.h:43
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52
VTKM_CONT void Allocate(vtkm::Id numberOfValues, vtkm::CopyFlag preserve, vtkm::cont::Token &token) const
Allocates an array large enough to hold the given number of values.
Definition: ArrayHandle.h:465
std::string FlagString(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:217
VTKM_EXEC_CONT MaskedIndexFunctor()
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:211
Definition: CastAndCall.h:32
Id SubtreeMin
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:236
constexpr vtkm::Id IS_SADDLE
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:86
static VTKM_CONT bool CopySubRange(vtkm::cont::DeviceAdapterId devId, const vtkm::cont::ArrayHandle< T, CIn > &input, vtkm::Id inputStartIndex, vtkm::Id numberOfElementsToCopy, vtkm::cont::ArrayHandle< U, COut > &output, vtkm::Id outputIndex=0)
Definition: Algorithm.h:472
Id SubtreeMax
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:238
void operator()(const vtkm::cont::CellSetStructured< 3 > &cells, vtkm::Id3 &pointDimensions) const
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:342
VTKM_CONT void AssertArrayHandleNoFlagsSet(const vtkm::cont::ArrayHandle< vtkm::Id, S > &ah)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:149
constexpr vtkm::Id TERMINAL_ELEMENT
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:74
bool UpEdge
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:284
VTKM_EXEC_CONT vtkm::Id MaskedIndex(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:127
void operator()(const T &, vtkm::Id3 &, vtkm::Id3 &, vtkm::Id3 &) const
Raise ErrorBadValue if the input cell set is not a vtkm::cont::CellSetStructured<2> or <3>
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:391
Id I
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:281
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
Float64 SubtreeHeight
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:240
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:357
void operator()(const vtkm::cont::CellSetStructured< 2 > &cells, vtkm::Id3 &pointDimensions) const
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:335
VTKM_EXEC_CONT bool NoSuchElement(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:97
bool UpEdge
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:239
constexpr vtkm::Id CV_OTHER_FLAG
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:79
VTKM_EXEC bool operator<(const EdgeDataVolume &b) const
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:288
Id J
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:283
VTKM_EXEC bool operator<(const EdgeDataHeight &b) const
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:243
constexpr vtkm::Id IS_LOWER_LEAF
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:83
constexpr vtkm::Id IS_SUPERNODE
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:75
#define VTKM_CONT
Definition: ExportMacros.h:57
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:208
void operator()(const vtkm::cont::CellSetStructured< 2 > &cells, vtkm::Id3 &pointDimensions, vtkm::Id3 &globalPointDimensions, vtkm::Id3 &globalPointIndexStart) const
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:359
constexpr vtkm::Id IS_ASCENDING
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:77
constexpr vtkm::Id IS_UPPER_LEAF
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:84
An array handle with a constant value.
Definition: ArrayHandleConstant.h:63
constexpr vtkm::Id IS_REGULAR
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:85
VTKM_EXEC_CONT bool NoFlagsSet(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:141
constexpr vtkm::Id IS_ATTACHMENT
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:87
VTKM_EXEC_CONT bool IsThis(vtkm::Id flaggedIndex)
Used in the context of CombinedVector class used in ContourTreeMesh to merge the mesh of contour tree...
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:134
VTKM_EXEC_CONT vtkm::Id operator()(T x) const
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:214
SchedulingRangeType GetPointDimensions() const
Definition: CellSetStructured.h:64
This class is thrown when a VTKm function or method encounters an invalid value that inhibits progres...
Definition: ErrorBadValue.h:25
VTKM_CONT ReadPortalType ReadPortal() const
Get an array portal that can be used in the control environment.
Definition: ArrayHandle.h:414
void operator()(const T &, vtkm::Id3 &) const
Raise ErrorBadValue if the input cell set is not a vtkm::cont::CellSetStructured<2> or <3>
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:350
double Float64
Definition: Types.h:155
VTKM_EXEC_CONT bool IsSupernode(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:109
VTKM_CONT void IdArraySetValue(vtkm::Id index, vtkm::Id value, IdArrayType &arr)
Helper function to set a single array valye with CopySubRange to avoid pulling the array to the contr...
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:165
Id SubtreeVolume
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:285
SchedulingRangeType GetGlobalPointIndexStart() const
Definition: CellSetStructured.h:78
A vtkm::Pair is essentially the same as an STL pair object except that the methods (constructors and ...
Definition: Pair.h:29
Id I
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:232
SchedulingRangeType GetGlobalPointDimensions() const
Definition: CellSetStructured.h:66
constexpr vtkm::Id NO_SUCH_ELEMENT
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:73
constexpr vtkm::Id IS_HYPERNODE
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:76
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:277