VTK-m  2.0
Public Member Functions | Public Attributes | List of all members
vtkm::RangeId3 Struct Reference

Represent 3D integer range. More...

#include <RangeId3.h>

Public Member Functions

 RangeId3 ()=default
 
VTKM_EXEC_CONT RangeId3 (const vtkm::RangeId &xrange, const vtkm::RangeId &yrange, const vtkm::RangeId &zrange)
 
VTKM_EXEC_CONT RangeId3 (vtkm::Id minX, vtkm::Id maxX, vtkm::Id minY, vtkm::Id maxY, vtkm::Id minZ, vtkm::Id maxZ)
 
VTKM_EXEC_CONT RangeId3 (const vtkm::Id range[6])
 Initialize range with an array of 6 values in the order xmin, xmax, ymin, ymax, zmin, zmax. More...
 
VTKM_EXEC_CONT RangeId3 (const vtkm::Id3 &min, const vtkm::Id3 &max)
 Initialize range with the minimum and the maximum corners. More...
 
VTKM_EXEC_CONT bool IsNonEmpty () const
 Determine if the range is non-empty. More...
 
VTKM_EXEC_CONT bool Contains (const vtkm::Id3 &val) const
 Determines if an Id3 value is within the range. More...
 
VTKM_EXEC_CONT vtkm::Id3 Center () const
 Returns the center of the range. More...
 
VTKM_EXEC_CONT vtkm::Id3 Dimensions () const
 
template<typename T >
VTKM_EXEC_CONT void Include (const vtkm::Vec< T, 3 > &point)
 Expand range to include a value. More...
 
VTKM_EXEC_CONT void Include (const vtkm::RangeId3 &range)
 Expand range to include other range. More...
 
VTKM_EXEC_CONT vtkm::RangeId3 Union (const vtkm::RangeId3 &other) const
 Return the union of this and another range. More...
 
VTKM_EXEC_CONT vtkm::RangeId3 operator+ (const vtkm::RangeId3 &other) const
 Operator for union More...
 
VTKM_EXEC_CONT bool operator== (const vtkm::RangeId3 &range) const
 
VTKM_EXEC_CONT bool operator!= (const vtkm::RangeId3 &range) const
 
VTKM_EXEC_CONT vtkm::RangeId & operator[] (IdComponent c) noexcept
 
const VTKM_EXEC_CONT vtkm::RangeId & operator[] (IdComponent c) const noexcept
 

Public Attributes

vtkm::RangeId X
 
vtkm::RangeId Y
 
vtkm::RangeId Z
 

Detailed Description

Represent 3D integer range.

vtkm::RangeId3 is a helper class for representing a 3D range of integer values. The typical use of this class is to express a box of indices in the x, y, and z directions.

RangeId3 also contains several helper functions for computing and maintaining the range.

Constructor & Destructor Documentation

◆ RangeId3() [1/5]

vtkm::RangeId3::RangeId3 ( )
default

◆ RangeId3() [2/5]

VTKM_EXEC_CONT vtkm::RangeId3::RangeId3 ( const vtkm::RangeId &  xrange,
const vtkm::RangeId &  yrange,
const vtkm::RangeId &  zrange 
)
inline

◆ RangeId3() [3/5]

VTKM_EXEC_CONT vtkm::RangeId3::RangeId3 ( vtkm::Id  minX,
vtkm::Id  maxX,
vtkm::Id  minY,
vtkm::Id  maxY,
vtkm::Id  minZ,
vtkm::Id  maxZ 
)
inline

◆ RangeId3() [4/5]

VTKM_EXEC_CONT vtkm::RangeId3::RangeId3 ( const vtkm::Id  range[6])
inlineexplicit

Initialize range with an array of 6 values in the order xmin, xmax, ymin, ymax, zmin, zmax.

◆ RangeId3() [5/5]

VTKM_EXEC_CONT vtkm::RangeId3::RangeId3 ( const vtkm::Id3 &  min,
const vtkm::Id3 &  max 
)
inline

Initialize range with the minimum and the maximum corners.

Member Function Documentation

◆ Center()

VTKM_EXEC_CONT vtkm::Id3 vtkm::RangeId3::Center ( ) const
inline

Returns the center of the range.

Center computes the middle of the range.

◆ Contains()

VTKM_EXEC_CONT bool vtkm::RangeId3::Contains ( const vtkm::Id3 &  val) const
inline

Determines if an Id3 value is within the range.

◆ Dimensions()

VTKM_EXEC_CONT vtkm::Id3 vtkm::RangeId3::Dimensions ( ) const
inline

◆ Include() [1/2]

VTKM_EXEC_CONT void vtkm::RangeId3::Include ( const vtkm::RangeId3 &  range)
inline

Expand range to include other range.

This version of Include expands the range just enough to include the other range. Essentially it is the union of the two ranges.

◆ Include() [2/2]

template<typename T >
VTKM_EXEC_CONT void vtkm::RangeId3::Include ( const vtkm::Vec< T, 3 > &  point)
inline

Expand range to include a value.

This version of Include expands the range just enough to include the given value. If the range already include this value, then nothing is done.

◆ IsNonEmpty()

VTKM_EXEC_CONT bool vtkm::RangeId3::IsNonEmpty ( ) const
inline

Determine if the range is non-empty.

IsNonEmpty returns true if the range is non-empty.

◆ operator!=()

VTKM_EXEC_CONT bool vtkm::RangeId3::operator!= ( const vtkm::RangeId3 &  range) const
inline

◆ operator+()

VTKM_EXEC_CONT vtkm::RangeId3 vtkm::RangeId3::operator+ ( const vtkm::RangeId3 &  other) const
inline

Operator for union

◆ operator==()

VTKM_EXEC_CONT bool vtkm::RangeId3::operator== ( const vtkm::RangeId3 &  range) const
inline

◆ operator[]() [1/2]

const VTKM_EXEC_CONT vtkm::RangeId& vtkm::RangeId3::operator[] ( IdComponent  c) const
inlinenoexcept

◆ operator[]() [2/2]

VTKM_EXEC_CONT vtkm::RangeId& vtkm::RangeId3::operator[] ( IdComponent  c)
inlinenoexcept

◆ Union()

VTKM_EXEC_CONT vtkm::RangeId3 vtkm::RangeId3::Union ( const vtkm::RangeId3 &  other) const
inline

Return the union of this and another range.

This is a nondestructive form of Include.

Member Data Documentation

◆ X

vtkm::RangeId vtkm::RangeId3::X

◆ Y

vtkm::RangeId vtkm::RangeId3::Y

◆ Z

vtkm::RangeId vtkm::RangeId3::Z

The documentation for this struct was generated from the following file: