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

Represent 2D integer range. More...

#include <RangeId2.h>

Public Member Functions

 RangeId2 ()=default
 Construct an empty 2D range. More...
 
 RangeId2 (const vtkm::RangeId &xrange, const vtkm::RangeId &yrange)
 Construct a range with the given x and y directions. More...
 
 RangeId2 (vtkm::Id minX, vtkm::Id maxX, vtkm::Id minY, vtkm::Id maxY)
 Construct a range with the given minimum (inclusive) and maximum (exclusive) points. More...
 
 RangeId2 (const vtkm::Id range[4])
 Initialize range with an array of 4 values in the order xmin, xmax, ymin, ymax. More...
 
 RangeId2 (const vtkm::Id2 &min, const vtkm::Id2 &max)
 Initialize range with the minimum and the maximum corners. More...
 
bool IsNonEmpty () const
 Determine if the range is non-empty. More...
 
bool Contains (const vtkm::Id2 &val) const
 Determines if an Id2 value is within the range. More...
 
vtkm::Id2 Center () const
 Returns the center of the range. More...
 
vtkm::Id2 Dimensions () const
 
template<typename T >
void Include (const vtkm::Vec< T, 2 > &point)
 Expand range to include a value. More...
 
void Include (const vtkm::RangeId2 &range)
 Expand range to include other range. More...
 
vtkm::RangeId2 Union (const vtkm::RangeId2 &other) const
 Return the union of this and another range. More...
 
vtkm::RangeId2 operator+ (const vtkm::RangeId2 &other) const
 Operator for union More...
 
bool operator== (const vtkm::RangeId2 &range) const
 
bool operator!= (const vtkm::RangeId2 &range) const
 
vtkm::RangeIdoperator[] (IdComponent c) noexcept
 
const vtkm::RangeIdoperator[] (IdComponent c) const noexcept
 

Public Attributes

vtkm::RangeId X
 The range of values in the X direction. More...
 
vtkm::RangeId Y
 The range of values in the Y direction. More...
 

Detailed Description

Represent 2D integer range.

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

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

Constructor & Destructor Documentation

◆ RangeId2() [1/5]

vtkm::RangeId2::RangeId2 ( )
default

Construct an empty 2D range.

◆ RangeId2() [2/5]

vtkm::RangeId2::RangeId2 ( const vtkm::RangeId xrange,
const vtkm::RangeId yrange 
)
inline

Construct a range with the given x and y directions.

◆ RangeId2() [3/5]

vtkm::RangeId2::RangeId2 ( vtkm::Id  minX,
vtkm::Id  maxX,
vtkm::Id  minY,
vtkm::Id  maxY 
)
inline

Construct a range with the given minimum (inclusive) and maximum (exclusive) points.

◆ RangeId2() [4/5]

vtkm::RangeId2::RangeId2 ( const vtkm::Id  range[4])
inlineexplicit

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

◆ RangeId2() [5/5]

vtkm::RangeId2::RangeId2 ( const vtkm::Id2 min,
const vtkm::Id2 max 
)
inline

Initialize range with the minimum and the maximum corners.

Member Function Documentation

◆ Center()

vtkm::Id2 vtkm::RangeId2::Center ( ) const
inline

Returns the center of the range.

Center computes the middle of the range.

◆ Contains()

bool vtkm::RangeId2::Contains ( const vtkm::Id2 val) const
inline

Determines if an Id2 value is within the range.

◆ Dimensions()

vtkm::Id2 vtkm::RangeId2::Dimensions ( ) const
inline

◆ Include() [1/2]

void vtkm::RangeId2::Include ( const vtkm::RangeId2 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 >
void vtkm::RangeId2::Include ( const vtkm::Vec< T, 2 > &  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()

bool vtkm::RangeId2::IsNonEmpty ( ) const
inline

Determine if the range is non-empty.

IsNonEmpty returns true if the range is non-empty.

◆ operator!=()

bool vtkm::RangeId2::operator!= ( const vtkm::RangeId2 range) const
inline

◆ operator+()

vtkm::RangeId2 vtkm::RangeId2::operator+ ( const vtkm::RangeId2 other) const
inline

Operator for union

◆ operator==()

bool vtkm::RangeId2::operator== ( const vtkm::RangeId2 range) const
inline

◆ operator[]() [1/2]

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

◆ operator[]() [2/2]

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

◆ Union()

vtkm::RangeId2 vtkm::RangeId2::Union ( const vtkm::RangeId2 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::RangeId2::X

The range of values in the X direction.

The vtkm::RangeId struct provides the minimum and maximum along that axis.

◆ Y

vtkm::RangeId vtkm::RangeId2::Y

The range of values in the Y direction.

The vtkm::RangeId struct provides the minimum and maximum along that axis.


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