HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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/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 <type_traits>
#include <utility>
+ Include dependency graph for PointDataGrid.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openvdb::OPENVDB_VERSION_NAME::tree::SameLeafConfig< Index, typename >
 
class  openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >
 
class  openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >
 
struct  openvdb::OPENVDB_VERSION_NAME::tree::SameLeafConfig< Dim1, points::PointDataLeafNode< T2, Dim1 > >
 

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 
 openvdb::OPENVDB_VERSION_NAME::io
 
 openvdb::OPENVDB_VERSION_NAME::tree
 
 openvdb::OPENVDB_VERSION_NAME::points
 

Macros

#define VMASK_   this->getValueMask()
 

Typedefs

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

Functions

template<>
void openvdb::OPENVDB_VERSION_NAME::io::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 More...
 
template<>
void openvdb::OPENVDB_VERSION_NAME::io::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 More...
 
template<typename T >
void openvdb::OPENVDB_VERSION_NAME::io::writeCompressedValuesSize (std::ostream &os, const T *srcBuf, Index srcCount)
 
template<typename PointDataTreeT >
AttributeSet::Descriptor::Ptr openvdb::OPENVDB_VERSION_NAME::points::makeDescriptorUnique (PointDataTreeT &tree)
 Deep copy the descriptor across all leaf nodes. More...
 
template<typename PointDataTreeT >
void openvdb::OPENVDB_VERSION_NAME::points::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). More...
 
void openvdb::OPENVDB_VERSION_NAME::points::initialize ()
 Global registration of point data-related types. More...
 
void openvdb::OPENVDB_VERSION_NAME::points::uninitialize ()
 Global deregistration of point data-related types. More...
 

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

Definition in file PointDataGrid.h.

Macro Definition Documentation

#define VMASK_   this->getValueMask()

Definition at line 698 of file PointDataGrid.h.