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);
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 Definition: Compiler.h:32
IterType
Definition: VolumeExecutable.h:210
std::shared_ptr< VolumeExecutable > Ptr
Definition: VolumeExecutable.h:82
Definition: VolumeExecutable.h:263
Index32 Index
Definition: Types.h:54
Object that encapsulates compiled AX code which can be executed on a collection of VDB volume grids...
Definition: VolumeExecutable.h:79
The custom data class is a simple container for named openvdb metadata. Its primary use case is passi...
Definition: CustomData.h:33
std::vector< GridBase::Ptr > GridPtrVec
Definition: Grid.h:508
Streaming
The streaming type of active tiles during execution.
Definition: VolumeExecutable.h:197
Definition: IndexIterator.h:44
The Attribute Bindings class is used by the compiled Executables to handle the mapping of AX Attribut...
CoreType
Definition: Tokens.h:31
Definition: Exceptions.h:13
The compiler class. This holds an llvm context and set of compiler options, and constructs executable...
Definition: Compiler.h:50
These classes contain lists of expected attributes and volumes which are populated by compiler during...
Command Line Interface handling for the VolumeExecutable.
Definition: VolumeExecutable.h:269
Access to the CustomData class which can provide custom user user data to the OpenVDB AX Compiler...
This class stores a list of access names, types and their dependency connections. ...
Definition: AttributeRegistry.h:39
#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:218
Abstract base class for typed grids.
Definition: Grid.h:77
This class wraps an interface for a map of attribute bindings. These map attributes in AX code to con...
Definition: AttributeBindings.h:36