34 #ifndef OPENVDB_IO_QUEUE_HAS_BEEN_INCLUDED
35 #define OPENVDB_IO_QUEUE_HAS_BEEN_INCLUDED
37 #include <openvdb/Types.h>
38 #include <openvdb/Grid.h>
39 #include <boost/function.hpp>
40 #include <boost/shared_ptr.hpp>
162 void setTimeout(
Index32 seconds = DEFAULT_TIMEOUT);
168 Status status(Id)
const;
170 typedef boost::function<void (Id, Status)>
Notifier;
180 Id addNotifier(Notifier);
182 void removeNotifier(Id);
184 void clearNotifiers();
234 template<
typename Gr
idPtrContainer>
235 Id write(
const GridPtrContainer& grids,
const Archive& archive,
246 boost::shared_ptr<Impl> mImpl;
250 template<
typename Gr
idPtrContainer>
252 Queue::write(
const GridPtrContainer& container,
256 std::copy(container.begin(), container.end(), std::back_inserter(grids));
257 return this->writeGridVec(grids, archive, metadata);
266 return this->writeGridVec(grids, archive, metadata);
273 #endif // OPENVDB_IO_QUEUE_HAS_BEEN_INCLUDED
Index32 Id
ID number of a queued task or of a registered notification callback.
Definition: Queue.h:136
uint32_t Index32
Definition: Types.h:56
Queue for asynchronous output of grids to files or streams.
Definition: Queue.h:126
#define OPENVDB_VERSION_NAME
Definition: version.h:43
Definition: Exceptions.h:39
boost::shared_ptr< const GridBase > ConstPtr
Definition: Grid.h:107
Status
Status of a queued task.
Definition: Queue.h:139
std::vector< GridBase::ConstPtr > GridCPtrVec
Definition: Grid.h:425
boost::function< void(Id, Status)> Notifier
Definition: Queue.h:170
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:71
Grid serializer/unserializer.
Definition: Archive.h:59