Todo List

Member detail::adjustedMIPFieldMapping (const FieldRes *base, const V3i &baseRes, const Box3i &extents, const size_t level)
  Update to use MIPField's mipOffset() instead of metadata
Member Field3DFileBase::getIntScalarLayerNames (std::vector< std::string > &names, const std::string &intPartitionName) const
  Make this really only return scalar layers
Member Field3DFileBase::getIntVectorLayerNames (std::vector< std::string > &names, const std::string &intPartitionName) const
  Make this really only return vector layers
Member Field3DFileBase::getScalarLayerNames (std::vector< std::string > &names, const std::string &partitionName) const
  Make this really only return scalar layers
Member Field3DFileBase::getVectorLayerNames (std::vector< std::string > &names, const std::string &partitionName) const
  Make this really only return vector layers
Member Field3DInputFileHDF5::parseLayer (hid_t loc_id, const std::string &partitionName, const std::string &layerName)
  Set some sort of flag if we fail during this call. We can't throw exceptions inside hdf5.
Member Field3DInputFileHDF5::readMetadata (hid_t metadata_id, FieldBase::Ptr field) const
  Replace char* with std::string
Member Field3DInputFileHDF5::readMetadata (hid_t metadata_id)
  Replace char* with std::string
Member Field3DOutputFileHDF5::create (const std::string &filename, CreateMode cm=OverwriteMode)
  If the file can't be created hdf5 spits out an ugly error msg, we should make sure that doesn't happen.
Member Field3DOutputFileHDF5::createNewPartition (const std::string &partitionName, const std::string &layerName, typename Field< Data_T >::Ptr field)
  We should probably remove the group on disk if we can't write the mapping
Class FieldIO
  Merge this into ClassFactory.
Member FieldRes::FieldRes (const FieldRes &src)
  OSS Go over the copy constructing - is it implemented right? 8hr
Class FrustumFieldMapping
  Define local perspective space
Member FrustumFieldMapping::getLocalToVoxelMatrix (M44d &result)
  Unit test this
File Hdf5Util.cpp
  The write attrib calls need some serious cleanup. They should be using scoped objects to open attributes and groups instead of all the replicated close calls.
File Hdf5Util.h
  Clean up the attribute read/write functions. Make them throw exceptions when failing.
Member intrusive_ptr_release (RefBase *r)
  Communicate with the FieldCache to prevent any cache updates from happening while this releases its count.
Member isIdentical (typename Field< Data_T >::Ptr a, typename Field< Data_T >::Ptr b)
  This should also check the mapping
Class MatrixFieldMapping
  Add calls for easily specifying the transform given grid size, offset, rotation, etc.
Member MatrixFieldMapping::getLocalToVoxelMatrix (M44d &result)
  Unit test this
Member MatrixFieldMapping::localToWorldDir (const V3d &lsV, V3d &wsV) const
  Generalize and make time-dependent.
Member MatrixFieldMapping::voxelToWorldDir (const V3d &vsV, V3d &wsV) const
  Generalize and make time-dependent.
Member MatrixFieldMapping::worldToLocalDir (const V3d &wsV, V3d &lsV) const
  Generalize and make time-dependent.
Member MatrixFieldMapping::worldToVoxelDir (const V3d &wsV, V3d &vsV) const
  Generalize and make time-dependent.
Class PluginLoader
  Look into adding maya-style single-plugin load and unload functions
Class SparseField< Data_T >
  Make this class thread safe!
Class SparseField< Data_T >::const_iterator
  Code duplication between this and iterator!!!!!!!!!!!!!!!!!!!!!!
Class SparseField< Data_T >::iterator
  Code duplication between this and const_iterator !!!!!!!!!!!!!
Member worldToVoxel (const Field3D::FieldMapping *mapping, const Box3d &wsBounds, Box3d &vsBounds)
  Make this integrate over time