12 #ifndef OPENVDB_AX_COMPILER_POINT_EXECUTABLE_HAS_BEEN_INCLUDED 13 #define OPENVDB_AX_COMPILER_POINT_EXECUTABLE_HAS_BEEN_INCLUDED 20 #include <openvdb/version.h> 23 #include <llvm/Config/llvm-config.h> 25 #include <unordered_map> 27 struct TestPointExecutableAcc;
30 class ExecutionEngine;
78 using Ptr = std::shared_ptr<PointExecutable>;
109 void setGroupExecution(
const std::string& name);
112 const std::string& getGroupExecution()
const;
119 void setCreateMissing(
const bool flag);
121 bool getCreateMissing()
const;
126 void setGrainSize(
const size_t grain);
128 size_t getGrainSize()
const;
159 static CLI create(
size_t argc,
const char* argv[],
bool* used=
nullptr);
160 static void usage(std::ostream& os,
const bool verbose);
164 std::unique_ptr<Settings<true>> mSettings;
169 void setSettingsFromCLI(
const CLI& cli);
175 friend struct ::TestPointExecutableAcc;
195 #
if LLVM_VERSION_MAJOR <= 15
196 const std::shared_ptr<const llvm::LLVMContext>& context,
197 const std::shared_ptr<const llvm::ExecutionEngine>& engine,
199 const std::shared_ptr<const llvm::orc::LLJIT>& mExecutionEngine,
203 const std::unordered_map<std::string, uint64_t>& functions,
207 #if LLVM_VERSION_MAJOR <= 15 210 const std::shared_ptr<const llvm::LLVMContext> mContext;
211 const std::shared_ptr<const llvm::ExecutionEngine> mExecutionEngine;
213 const std::shared_ptr<const llvm::orc::LLJIT> mExecutionEngine;
217 const std::unordered_map<std::string, uint64_t> mFunctionAddresses;
218 std::unique_ptr<Settings<false>> mSettings;
225 #endif // OPENVDB_AX_COMPILER_POINT_EXECUTABLE_HAS_BEEN_INCLUDED Definition: FunctionRegistry.h:23
A Tree is the highest concrete (non-abstract) node in the entire AX AST hierarchy. It represents an entire conversion of a valid AX string.
Definition: AST.h:562
std::shared_ptr< const CustomData > ConstPtr
Definition: CustomData.h:38
std::shared_ptr< const AttributeRegistry > ConstPtr
Definition: AttributeRegistry.h:43
The Attribute Bindings class is used by the compiled Executables to handle the mapping of AX Attribut...
Object that encapsulates compiled AX code which can be executed on a collection of VDB Point Data gri...
Definition: PointExecutable.h:75
std::shared_ptr< PointExecutable > Ptr
Definition: PointExecutable.h:78
Definition: Exceptions.h:13
Definition: PointExecutable.h:148
Command Line Interface handling for the PointExecutable.
Definition: PointExecutable.h:154
The compiler class. This holds a set of compiler options and constructs executable objects (e...
Definition: Compiler.h:50
These classes contain lists of expected attributes and volumes which are populated by compiler during...
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
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
Container class that associates a tree with a transform and metadata.
Definition: Grid.h:28
This class wraps an interface for a map of attribute bindings. These map attributes in AX code to con...
Definition: AttributeBindings.h:36
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:218