OpenVDB 13.0.1
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 <openvdb/util/Assert.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  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::v13_0
namespace  openvdb::v13_0::io
namespace  openvdb::v13_0::tree
namespace  openvdb::v13_0::points

Macros

#define VMASK_   this->getValueMask()

Typedefs

using PointDataTree
 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, const 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.

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()