OpenVDB: Todo List

OpenVDB 7.1.0

Todo List

Class Transform
  Calculate an axis-aligned bounding box in index space from a bounding sphere in world space.
Member SOP_NodeVDB::matchGroup (GU_Detail &, const std::string &pattern)

  This is a wrapper for SOP_Node::parsePrimitiveGroups(), so it needs access to a SOP_Node instance. But it probably doesn't need to be a SOP_NodeVDB method.

"
  class TreeVoxelIteratorBase;
Member LeafNode< ValueMask, Log2Dim >::IteratorBase< MaskOnIter, LeafNode >
  Make mask accessors public?
Member LeafNode< bool, Log2Dim >::IteratorBase< MaskOnIter, LeafNode >
  Make mask accessors public?
Member LeafNode< T, Log2Dim >::IteratorBase< MaskOnIterator, LeafNode >
  Make mask accessors public?
Member InternalNode< _ChildNodeType, Log2Dim >::IteratorBase< MaskOnIterator, InternalNode >
  Make mask accessors public?
Class IterTraits< IterT, AuxT >
  This traits class is needed because tree::TreeValueIteratorBase uses the name ValueT for the type of the value to which the iterator points, whereas node-level iterators use the name ValueType.
Class LevelSetRayIntersector< GridT, SearchImplT, NodeLevel, RayT >
  Add TrilinearSearchImpl, as an alternative to LinearSearchImpl, that performs analytical 3D trilinear intersection tests, i.e., solves cubic equations. This is slower but also more accurate than the 1D linear interpolation in LinearSearchImpl.
File MultiResGrid.h
  Add option to define the level of the input grid (currenlty 0) so as to allow for super-sampling.
Member openvdb::v7_1::tools::erodeVoxels (TreeType &tree, int iterations=1, NearestNeighbors nn=NN_FACE)
  Currently operates only on leaf voxels; need to extend to tiles.
File Morphology.h
  Extend erosion with 18 and 26 neighbors (coming soon!)
Member Grid< _TreeType >::readBuffers (std::istream &, const CoordBBox &) override
  Refactor this and the readBuffers() above once support for ABI 2 compatibility is dropped.
Class MapAdapter< MapType, OpType, ResultType >
  For now, the operator's result type must be specified explicitly, but eventually it should be possible, via traits, to derive the result type from the operator type.
Member openvdb::v7_1::operator+ (const std::string &s, bool)
  These won't be needed if we eliminate StringGrids.
Member CoordBBox::extents () const
  deprecate - use dim instead
Member StreamMetadata::transferTo (std::ios_base &) const
  Deprecate direct transfer; use StreamMetadata structs everywhere.
Member File::write (const GridCPtrVec &, const MetaMap &=MetaMap()) const override
  GridPtrVec readAllGrids(const Name&)
Member openvdb::v7_1::io::writeData< std::string > (std::ostream &os, const std::string *data, Index count, uint32_t)
  add compression
Member openvdb::v7_1::io::writeDataSize< std::string > (const std::string *data, Index count, uint32_t)
  add compression
Member Archive::writeHeader (std::ostream &, bool seekable) const
  This method should not be const since it actually redefines the UUID!
Member MetaMap::MetaMap ()
  this should really iterate over a map of Metadata::ConstPtrs
Member Grid< _TreeType >::isTreeUnique () const
  Make this into a virtual function with ABI=8
Member Grid< _TreeType >::memUsage () const override
  Add transform().memUsage()