12 #ifndef OPENVDB_AX_COMPILER_VOLUME_EXECUTABLE_HAS_BEEN_INCLUDED 13 #define OPENVDB_AX_COMPILER_VOLUME_EXECUTABLE_HAS_BEEN_INCLUDED 19 #include <openvdb/version.h> 22 #include <unordered_map> 24 class TestVolumeExecutable;
27 class ExecutionEngine;
82 using Ptr = std::shared_ptr<VolumeExecutable>;
113 void setCreateMissing(
const bool flag);
115 bool getCreateMissing()
const;
132 void setTreeExecutionLevel(
const Index level);
200 void setActiveTileStreaming(
const Streaming& s);
202 Streaming getActiveTileStreaming()
const;
207 Streaming getActiveTileStreaming(
const std::string& name,
214 void setValueIterator(
const IterType& iter);
216 IterType getValueIterator()
const;
235 void setGrainSize(
const size_t g1);
236 void setActiveTileStreamingGrainSize(
const size_t g2);
239 size_t getGrainSize()
const;
242 size_t getActiveTileStreamingGrainSize()
const;
274 static CLI create(
size_t argc,
const char* argv[],
bool* used=
nullptr);
275 static void usage(std::ostream& os,
const bool verbose);
279 std::unique_ptr<Settings<true>> mSettings;
285 void setSettingsFromCLI(
const CLI& cli);
292 Index getTreeExecutionLevel() const;
296 friend class ::TestVolumeExecutable;
313 const
std::shared_ptr<const
llvm::ExecutionEngine>& engine,
316 const
std::unordered_map<
std::
string, uint64_t>& functions,
317 const ast::Tree& tree);
322 const
std::shared_ptr<const
llvm::LLVMContext> mContext;
323 const
std::shared_ptr<const
llvm::ExecutionEngine> mExecutionEngine;
326 const
std::unordered_map<
std::
string, uint64_t> mFunctionAddresses;
334 #endif // OPENVDB_AX_COMPILER_VOLUME_EXECUTABLE_HAS_BEEN_INCLUDED Index32 Index
Definition: Types.h:54
Abstract base class for typed grids.
Definition: Grid.h:77
Definition: Compiler.h:31
Definition: IndexIterator.h:43
Definition: VolumeExecutable.h:263
The custom data class is a simple container for named openvdb metadata. Its primary use case is passi...
Definition: CustomData.h:33
Command Line Interface handling for the VolumeExecutable.
Definition: VolumeExecutable.h:269
IterType
Definition: VolumeExecutable.h:210
std::vector< GridBase::Ptr > GridPtrVec
Definition: Grid.h:508
std::shared_ptr< VolumeExecutable > Ptr
Definition: VolumeExecutable.h:82
Streaming
The streaming type of active tiles during execution.
Definition: VolumeExecutable.h:197
The Attribute Bindings class is used by the compiled Executables to handle the mapping of AX Attribut...
This class stores a list of access names, types and their dependency connections. ...
Definition: AttributeRegistry.h:38
Definition: Exceptions.h:13
This class wraps an interface for a map of attribute bindings. These map attributes in AX code to con...
Definition: AttributeBindings.h:36
Object that encapsulates compiled AX code which can be executed on a collection of VDB volume grids...
Definition: VolumeExecutable.h:79
These classes contain lists of expected attributes and volumes which are populated by compiler during...
The compiler class. This holds an llvm context and set of compiler options, and constructs executable...
Definition: Compiler.h:49
CoreType
Definition: Tokens.h:31
Access to the CustomData class which can provide custom user user data to the OpenVDB AX Compiler...
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:212