Go to the documentation of this file.
6 #ifndef OPENVDB_IO_FILE_HAS_BEEN_INCLUDED
7 #define OPENVDB_IO_FILE_HAS_BEEN_INCLUDED
9 #include <openvdb/version.h>
33 using NameMap = std::multimap<Name, GridDescriptor>;
36 explicit File(
const std::string& filename);
55 const std::string& filename()
const;
92 void setCopyMaxBytes(
Index64 bytes);
95 bool hasGrid(
const Name&)
const;
128 template<
typename Gr
idPtrContainerT>
129 void write(
const GridPtrContainerT&,
const MetaMap& =
MetaMap())
const;
147 Name gridName()
const {
return GridDescriptor::nameAsString(mIter->second.uniqueName()); }
154 NameIterator beginName()
const;
157 NameIterator endName()
const;
161 void readGridDescriptors(std::istream&);
165 NameMapCIter findDescriptor(
const Name&)
const;
188 void readGridPartial(
GridBase::Ptr, std::istream&,
bool isInstance,
bool readTopology)
const;
200 const NameMap& gridDescriptors()
const;
201 NameMap& gridDescriptors();
203 std::istream& inputStream()
const;
205 friend class ::TestFile;
206 friend class ::TestStream;
209 std::unique_ptr<Impl> mImpl;
219 this->writeGrids(grids, meta);
223 template<
typename Gr
idPtrContainerT>
225 File::write(
const GridPtrContainerT& container,
const MetaMap& meta)
const
228 std::copy(container.begin(), container.end(), std::back_inserter(grids));
229 this->writeGrids(grids, meta);
236 #endif // OPENVDB_IO_FILE_HAS_BEEN_INCLUDED
Definition: GridDescriptor.h:19
SharedPtr< const GridBase > ConstPtr
Definition: Grid.h:81
Name gridName() const
Definition: File.h:147
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:116
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:178
std::vector< GridBase::ConstPtr > GridCPtrVec
Definition: Grid.h:519
std::function< void(std::string)> Notifier
Definition: io.h:156
bool operator!=(const NameIterator &iter) const
Definition: File.h:143
NameIterator(const NameMapCIter &iter)
Definition: File.h:136
Grid serializer/unserializer.
Definition: Archive.h:32
Name operator*() const
Definition: File.h:145
std::shared_ptr< T > SharedPtr
Definition: openvdb/Types.h:110
NameMap::const_iterator NameMapCIter
Definition: File.h:34
NameIterator & operator++()
Definition: File.h:140
SharedPtr< GridPtrVec > GridPtrVecPtr
Definition: Grid.h:517
uint64_t Index64
Definition: openvdb/Types.h:49
bool operator==(const NameIterator &iter) const
Definition: File.h:142
std::multimap< Name, GridDescriptor > NameMap
Definition: File.h:33
GridType::Ptr createGrid(const typename GridType::ValueType &background)
Create a new grid of type GridType with a given background value.
Definition: Grid.h:1739
SharedPtr< GridBase > Ptr
Definition: Grid.h:80
std::string Name
Definition: Name.h:17
Grid archive associated with a file on disk.
Definition: File.h:30
Definition: openvdb/Exceptions.h:13
~NameIterator()
Definition: File.h:138
Axis-aligned bounding box of signed integer coordinates.
Definition: Coord.h:248