Loading...
Searching...
No Matches
PointDataGrid.h File Reference

Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by voxel for fast random and sequential access. More...

`#include <openvdb/version.h>`
`#include <openvdb/Grid.h>`
`#include <openvdb/tree/Tree.h>`
`#include <openvdb/tree/LeafNode.h>`
`#include <openvdb/tools/PointIndexGrid.h>`
`#include "AttributeArray.h"`
`#include "AttributeArrayString.h"`
`#include "AttributeGroup.h"`
`#include "AttributeSet.h"`
`#include "StreamCompression.h"`
`#include <cstring>`
`#include <iostream>`
`#include <limits>`
`#include <memory>`
`#include <type_traits>`
`#include <utility>`
`#include <vector>`

Go to the source code of this file.

## Classes

class | PointDataLeafNode< T, Log2Dim >
struct | PointDataNodeChain< HeadT, HeadLevel >
| Recursive node chain which generates a openvdb::TypeList value converted types of nodes to PointDataGrid nodes of the same configuration, rooted at RootNodeType in reverse order, from LeafNode to RootNode. See also TreeConverter<>. More...
struct | PointDataNodeChain< tree::InternalNode< ChildT, Log2Dim >, HeadLevel >
struct | PointDataNodeChain< tree::InternalNode< ChildT, Log2Dim >, 1 >
struct | TreeConverter< TreeType >
| Similiar to ValueConverter, but allows for tree configuration conversion to a PointDataTree. ValueConverter<PointDataIndex32> cannot be used as a PointDataLeafNode is not a specialization of LeafNode. More...
struct | SameLeafConfig< Dim1, points::PointDataLeafNode< T2, Dim1 > >

## Namespaces

namespace | openvdb
namespace | openvdb::v11_0
namespace | openvdb::v11_0::io
namespace | openvdb::v11_0::tree
namespace | openvdb::v11_0::points
namespace | openvdb::v11_0::points::internal

## Macros

#define | VMASK_ this->getValueMask()

## Typedefs

using | PointDataTree = tree::Tree< tree::RootNode< tree::InternalNode< tree::InternalNode< PointDataLeafNode< PointDataIndex32, 3 >, 4 >, 5 > > >
| Point index tree configured to match the default VDB configurations.
using | PointDataGrid = Grid< PointDataTree >
| Point data grid.

## Functions

template<>
void | readCompressedValues (std::istream &is, PointDataIndex32 *destBuf, Index destCount, const util::NodeMask< 3 > &, bool)
| openvdb::io::readCompressedValues specialized on PointDataIndex32 arrays to ignore the value mask, use a larger block size and use 16-bit size instead of 64-bit
template<>
void | writeCompressedValues (std::ostream &os, PointDataIndex32 *srcBuf, Index srcCount, const util::NodeMask< 3 > &, const util::NodeMask< 3 > &, bool)
| openvdb::io::writeCompressedValues specialized on PointDataIndex32 arrays to ignore the value mask, use a larger block size and use 16-bit size instead of 64-bit
template<typename T >
void | writeCompressedValuesSize (std::ostream &os, const T *srcBuf, Index srcCount)
template<typename PointDataTreeT >
AttributeSet::Descriptor::Ptr | makeDescriptorUnique (PointDataTreeT &tree)
| Deep copy the descriptor across all leaf nodes.
template<typename PointDataTreeT >
void | setStreamingMode (PointDataTreeT &tree, bool on=true)
| Toggle the streaming mode on all attributes in the tree to collapse the attributes after deconstructing a bound AttributeHandle to each array. This results in better memory efficiency when the data is streamed into another data structure (typically for rendering).
template<typename PointDataTreeT >
void | prefetch (PointDataTreeT &tree, bool position=true, bool otherAttributes=true)
| Sequentially pre-fetch all delayed-load voxel and attribute data from disk in order to accelerate subsequent random access.
void | initialize ()
| Global registration of point data-related types.
void | uninitialize ()
| Global deregistration of point data-related types.

## Detailed Description

Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by voxel for fast random and sequential access.

Author
  Dan Bailey

## Macro Definition Documentation

## VMASK_

#define VMASK_ this->getValueMask()