12 #ifndef OPENVDB_AX_COMPILER_VOLUME_EXECUTABLE_HAS_BEEN_INCLUDED 13 #define OPENVDB_AX_COMPILER_VOLUME_EXECUTABLE_HAS_BEEN_INCLUDED 21 #include <unordered_map> 23 class TestVolumeExecutable;
26 class ExecutionEngine;
42 using Ptr = std::shared_ptr<VolumeExecutable>;
62 void setCreateMissing(
const bool flag);
64 bool getCreateMissing()
const;
77 void setTreeExecutionLevel(
const Index level);
79 Index getTreeExecutionLevel()
const;
85 void setValueIterator(
const IterType& iter);
92 void setGrainSize(
const size_t grain);
94 size_t getGrainSize()
const;
102 const bool create)
const 126 friend class ::TestVolumeExecutable;
140 const std::shared_ptr<const llvm::ExecutionEngine>& engine,
143 const std::unordered_map<std::string, uint64_t>& functions);
148 const std::shared_ptr<const llvm::LLVMContext> mContext;
149 const std::shared_ptr<const llvm::ExecutionEngine> mExecutionEngine;
152 const std::unordered_map<std::string, uint64_t> mFunctionAddresses;
153 std::unique_ptr<Settings> mSettings;
160 #endif // OPENVDB_AX_COMPILER_VOLUME_EXECUTABLE_HAS_BEEN_INCLUDED Definition: Compiler.h:31
std::vector< GridBase::Ptr > GridPtrVec
Definition: Grid.h:509
Definition: IndexIterator.h:43
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h:94
std::shared_ptr< const AttributeRegistry > ConstPtr
Definition: AttributeRegistry.h:40
OPENVDB_DEPRECATED void execute(openvdb::GridPtrVec &grids, const IterType iter) const
Definition: VolumeExecutable.h:111
std::shared_ptr< const CustomData > ConstPtr
Definition: CustomData.h:47
Definition: openvdb/Exceptions.h:13
std::shared_ptr< VolumeExecutable > Ptr
Definition: VolumeExecutable.h:42
OPENVDB_DEPRECATED void execute(openvdb::GridPtrVec &grids, const IterType iter, const bool create) const
Definition: VolumeExecutable.h:100
The compiler class. This holds an llvm context and set of compiler options, and constructs executable...
Definition: Compiler.h:49
void setCreateMissing(const bool flag)
Set the behaviour when missing grids are accessed. Default behaviour is true, which creates them with...
void setValueIterator(const IterType &iter)
Set the value iterator type to use with this executable. Options are ON, OFF, ALL. Default is ON.
Library and file format version numbers.
Abstract base class for typed grids.
Definition: Grid.h:77
void execute(openvdb::GridPtrVec &grids) const
Execute AX code on target grids.
These classes contain lists of expected attributes and volumes which are populated by compiler during...
IterType
Definition: VolumeExecutable.h:81
Object that encapsulates compiled AX code which can be executed on a collection of VDB volume grids...
Definition: VolumeExecutable.h:39
Access to the CustomData class which can provide custom user user data to the OpenVDB AX Compiler...
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:146
Index32 Index
Definition: openvdb/Types.h:32