VTK-m
2.3
|
Represent an axis-aligned 3D bounds in space. More...
#include <Bounds.h>
Public Member Functions | |
Bounds () | |
Construct an empty bounds. More... | |
Bounds (const Bounds &)=default | |
Bounds (const vtkm::Range &xRange, const vtkm::Range &yRange, const vtkm::Range &zRange) | |
Construct a bounds with a given range in the x, y, and z dimensions. More... | |
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > | |
Bounds (const T1 &minX, const T2 &maxX, const T3 &minY, const T4 &maxY, const T5 &minZ, const T6 &maxZ) | |
Construct a bounds with the minimum and maximum coordinates in the x, y, and z directions. More... | |
template<typename T > | |
Bounds (const T bounds[6]) | |
Initialize bounds with an array of 6 values in the order xmin, xmax, ymin, ymax, zmin, zmax. More... | |
template<typename T > | |
Bounds (const vtkm::Vec< T, 3 > &minPoint, const vtkm::Vec< T, 3 > &maxPoint) | |
Initialize bounds with the minimum corner point and the maximum corner point. More... | |
vtkm::Bounds & | operator= (const vtkm::Bounds &src)=default |
bool | IsNonEmpty () const |
Determine if the bounds are valid (i.e. More... | |
template<typename T > | |
bool | Contains (const vtkm::Vec< T, 3 > &point) const |
Determines if a point coordinate is within the bounds. More... | |
vtkm::Float64 | Volume () const |
Returns the volume of the bounds. More... | |
vtkm::Float64 | Area () const |
Returns the area of the bounds in the X-Y-plane. More... | |
vtkm::Vec3f_64 | Center () const |
Returns the center of the range. More... | |
vtkm::Vec3f_64 | MinCorner () const |
Returns the min point of the bounds More... | |
vtkm::Vec3f_64 | MaxCorner () const |
Returns the max point of the bounds More... | |
template<typename T > | |
void | Include (const vtkm::Vec< T, 3 > &point) |
Expand bounds to include a point. More... | |
void | Include (const vtkm::Bounds &bounds) |
Expand bounds to include other bounds. More... | |
vtkm::Bounds | Union (const vtkm::Bounds &otherBounds) const |
Return the union of this and another bounds. More... | |
vtkm::Bounds | Intersection (const vtkm::Bounds &otherBounds) const |
Return the intersection of this and another range. More... | |
vtkm::Bounds | operator+ (const vtkm::Bounds &otherBounds) const |
Operator for union More... | |
bool | operator== (const vtkm::Bounds &bounds) const |
bool | operator!= (const vtkm::Bounds &bounds) const |
Public Attributes | |
vtkm::Range | X |
The range of values in the X direction. More... | |
vtkm::Range | Y |
The range of values in the Y direction. More... | |
vtkm::Range | Z |
The range of values in the Z direction. More... | |
Represent an axis-aligned 3D bounds in space.
vtkm::Bounds
is a helper class for representing the axis-aligned box representing some region in space. The typical use of this class is to express the containing box of some geometry. The box is specified as ranges in the x, y, and z directions.
Bounds
also contains several helper functions for computing and maintaining the bounds.
|
inline |
Construct an empty bounds.
The bounds will represent no space until otherwise modified.
|
default |
|
inline |
Construct a bounds with a given range in the x, y, and z dimensions.
|
inline |
Construct a bounds with the minimum and maximum coordinates in the x, y, and z directions.
|
inlineexplicit |
Initialize bounds with an array of 6 values in the order xmin, xmax, ymin, ymax, zmin, zmax.
|
inline |
Initialize bounds with the minimum corner point and the maximum corner point.
|
inline |
Returns the area of the bounds in the X-Y-plane.
Area
computes the product of the lengths of the ranges in dimensions X and Y. If the bounds are empty, 0 is returned.
|
inline |
Returns the center of the range.
Center
computes the point at the middle of the bounds. If the bounds are empty, the results are undefined.
|
inline |
Determines if a point coordinate is within the bounds.
|
inline |
Expand bounds to include other bounds.
This version of Include
expands these bounds just enough to include that of another bounds. Essentially it is the union of the two bounds.
|
inline |
Expand bounds to include a point.
This version of Include
expands the bounds just enough to include the given point coordinates. If the bounds already include this point, then nothing is done.
|
inline |
Return the intersection of this and another range.
|
inline |
Determine if the bounds are valid (i.e.
has at least one valid point).
IsNonEmpty
returns true if the bounds contain some valid points. If the bounds are any real region, even if a single point or it expands to infinity, true is returned.
|
inline |
Returns the max point of the bounds
MaxCorder
returns the minium point of the bounds.If the bounds are empty, the results are undefined.
|
inline |
Returns the min point of the bounds
MinCorder
returns the minium point of the bounds.If the bounds are empty, the results are undefined.
|
inline |
|
inline |
Operator for union
|
default |
|
inline |
|
inline |
Return the union of this and another bounds.
This is a nondestructive form of Include
.
|
inline |
Returns the volume of the bounds.
Volume
computes the product of the lengths of the ranges in each dimension. If the bounds are empty, 0 is returned.
vtkm::Range vtkm::Bounds::X |
The range of values in the X direction.
The vtkm::Range
struct provides the minimum and maximum along that axis.
vtkm::Range vtkm::Bounds::Y |
The range of values in the Y direction.
The vtkm::Range
struct provides the minimum and maximum along that axis.
vtkm::Range vtkm::Bounds::Z |
The range of values in the Z direction.
The vtkm::Range
struct provides the minimum and maximum along that axis.