Dense is a simple dense grid API used by the CopyToDense and CopyFromDense classes defined below.
More...
#include <Dense.h>
Inherits DenseBase< ValueT, Layout >.
|
| Dense (const CoordBBox &bbox) |
| Construct a dense grid with a given range of coordinates. More...
|
|
| Dense (const CoordBBox &bbox, const ValueT &value) |
| Construct a dense grid with a given range of coordinates and initial value. More...
|
|
| Dense (const CoordBBox &bbox, ValueT *data) |
| Construct a dense grid that wraps an external array. More...
|
|
| Dense (const Coord &dim, const Coord &min=Coord(0)) |
| Construct a dense grid with a given origin and dimensions. More...
|
|
ValueT * | data () |
| Return a raw pointer to this grid's value array. More...
|
|
const ValueT * | data () const |
| Return a raw pointer to this grid's value array. More...
|
|
const CoordBBox & | bbox () const |
| Return the bounding box of the signed index domain of this grid. More...
|
|
Index64 | valueCount () const |
| Return the number of voxels contained in this grid. More...
|
|
void | setValue (size_t offset, const ValueT &value) |
| Set the value of the voxel at the given array offset. More...
|
|
const ValueT & | getValue (size_t offset) const |
| Return the value of the voxel at the given array offset. More...
|
|
void | setValue (size_t i, size_t j, size_t k, const ValueT &value) |
| Set the value of the voxel at unsigned index coordinates (i, j, k). More...
|
|
const ValueT & | getValue (size_t i, size_t j, size_t k) const |
| Return the value of the voxel at unsigned index coordinates (i, j, k). More...
|
|
void | setValue (const Coord &xyz, const ValueT &value) |
| Set the value of the voxel at the given signed coordinates. More...
|
|
const ValueT & | getValue (const Coord &xyz) const |
| Return the value of the voxel at the given signed coordinates. More...
|
|
void | fill (const ValueT &value) |
| Fill this grid with a constant value. More...
|
|
size_t | coordToOffset (Coord xyz) const |
| Return the linear offset into this grid's value array given by the specified signed coordinates, i.e., coordinates in the space of this grid's bounding box. More...
|
|
Index64 | memUsage () const |
| Return the memory footprint of this Dense grid in bytes. More...
|
|
template<typename ValueT, MemoryLayout Layout = LayoutZYX>
class openvdb::v3_0_0::tools::Dense< ValueT, Layout >
Dense is a simple dense grid API used by the CopyToDense and CopyFromDense classes defined below.
Use the Dense class to efficiently produce a dense in-memory representation of an OpenVDB grid. However, be aware that a dense grid could have a memory footprint that is orders of magnitude larger than the sparse grid from which it originates.
- Note
- This class can be used as a simple wrapper for existing dense grid classes if they provide access to the raw data array.
-
This implementation allows for the 3D memory layout to be defined by the MemoryLayout template parameter (see above for definition). The default memory layout is ZYX since that's the layout used by OpenVDB grids.
Dense |
( |
const CoordBBox & |
bbox | ) |
|
|
inline |
Construct a dense grid with a given range of coordinates.
- Parameters
-
bbox | the bounding box of the (signed) coordinate range of this grid |
- Exceptions
-
- Note
- The min and max coordinates of the bounding box are inclusive.
Dense |
( |
const CoordBBox & |
bbox, |
|
|
const ValueT & |
value |
|
) |
| |
|
inline |
Construct a dense grid with a given range of coordinates and initial value.
- Parameters
-
bbox | the bounding box of the (signed) coordinate range of this grid |
value | the initial value of the grid. |
- Exceptions
-
- Note
- The min and max coordinates of the bounding box are inclusive.
Dense |
( |
const CoordBBox & |
bbox, |
|
|
ValueT * |
data |
|
) |
| |
|
inline |
Construct a dense grid that wraps an external array.
- Parameters
-
bbox | the bounding box of the (signed) coordinate range of this grid |
data | a raw C-style array whose size is commensurate with the coordinate domain of bbox |
- Note
- The data array is assumed to have a stride of one in the z direction.
- Exceptions
-
- Note
- The min and max coordinates of the bounding box are inclusive.
Dense |
( |
const Coord & |
dim, |
|
|
const Coord & |
min = Coord(0) |
|
) |
| |
|
inline |
Construct a dense grid with a given origin and dimensions.
- Parameters
-
dim | the desired dimensions of the grid |
min | the signed coordinates of the first voxel in the dense grid |
- Exceptions
-
- Note
- The min coordinate is inclusive, and the max coordinate will be min + dim - 1.
const CoordBBox& bbox |
( |
| ) |
const |
|
inline |
Return the bounding box of the signed index domain of this grid.
- Note
- This method is required by both CopyToDense and CopyFromDense.
size_t coordToOffset |
( |
Coord |
xyz | ) |
const |
|
inline |
Return the linear offset into this grid's value array given by the specified signed coordinates, i.e., coordinates in the space of this grid's bounding box.
- Note
- This method reflects the fact that we assume the same layout of values as an OpenVDB grid, i.e., the fastest coordinate is z.
Return a raw pointer to this grid's value array.
- Note
- This method is required by CopyToDense.
const ValueT* data |
( |
| ) |
const |
|
inline |
Return a raw pointer to this grid's value array.
- Note
- This method is required by CopyFromDense.
void fill |
( |
const ValueT & |
value | ) |
|
|
inline |
Fill this grid with a constant value.
const ValueT& getValue |
( |
size_t |
offset | ) |
const |
|
inline |
Return the value of the voxel at the given array offset.
const ValueT& getValue |
( |
size_t |
i, |
|
|
size_t |
j, |
|
|
size_t |
k |
|
) |
| const |
|
inline |
Return the value of the voxel at unsigned index coordinates (i, j, k).
- Note
- This is somewhat slower than using an array offset.
const ValueT& getValue |
( |
const Coord & |
xyz | ) |
const |
|
inline |
Return the value of the voxel at the given signed coordinates.
- Note
- This is slower than using either an array offset or unsigned index coordinates.
Return the memory layout for this grid (see above for definitions).
Return the memory footprint of this Dense grid in bytes.
void setValue |
( |
size_t |
offset, |
|
|
const ValueT & |
value |
|
) |
| |
|
inline |
Set the value of the voxel at the given array offset.
void setValue |
( |
size_t |
i, |
|
|
size_t |
j, |
|
|
size_t |
k, |
|
|
const ValueT & |
value |
|
) |
| |
|
inline |
Set the value of the voxel at unsigned index coordinates (i, j, k).
- Note
- This is somewhat slower than using an array offset.
void setValue |
( |
const Coord & |
xyz, |
|
|
const ValueT & |
value |
|
) |
| |
|
inline |
Set the value of the voxel at the given signed coordinates.
- Note
- This is slower than using either an array offset or unsigned index coordinates.
Return the number of voxels contained in this grid.
The documentation for this class was generated from the following file: