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 <unordered_map> 25 class TestPointExecutable;
28 class ExecutionEngine;
73 using Ptr = std::shared_ptr<PointExecutable>;
104 void setGroupExecution(
const std::string& name);
107 const std::string& getGroupExecution()
const;
114 void setCreateMissing(
const bool flag);
116 bool getCreateMissing()
const;
121 void setGrainSize(
const size_t grain);
123 size_t getGrainSize()
const;
154 static CLI create(
size_t argc,
const char* argv[],
bool* used=
nullptr);
155 static void usage(std::ostream& os,
const bool verbose);
159 std::unique_ptr<Settings<true>> mSettings;
164 void setSettingsFromCLI(
const CLI& cli);
170 friend class ::TestPointExecutable;
189 PointExecutable(
const std::shared_ptr<const llvm::LLVMContext>& context,
190 const std::shared_ptr<const llvm::ExecutionEngine>& engine,
193 const std::unordered_map<std::string, uint64_t>& functions,
199 const std::shared_ptr<const llvm::LLVMContext> mContext;
200 const std::shared_ptr<const llvm::ExecutionEngine> mExecutionEngine;
203 const std::unordered_map<std::string, uint64_t> mFunctionAddresses;
204 std::unique_ptr<Settings<false>> mSettings;
211 #endif // OPENVDB_AX_COMPILER_POINT_EXECUTABLE_HAS_BEEN_INCLUDED Definition: Compiler.h:31
std::shared_ptr< const AttributeRegistry > ConstPtr
Definition: AttributeRegistry.h:42
std::shared_ptr< const CustomData > ConstPtr
Definition: CustomData.h:38
std::shared_ptr< PointExecutable > Ptr
Definition: PointExecutable.h:73
The Attribute Bindings class is used by the compiled Executables to handle the mapping of AX Attribut...
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
These classes contain lists of expected attributes and volumes which are populated by compiler during...
Object that encapsulates compiled AX code which can be executed on a collection of VDB Point Data gri...
Definition: PointExecutable.h:70
The compiler class. This holds an llvm context and set of compiler options, and constructs executable...
Definition: Compiler.h:49
Definition: PointExecutable.h:143
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...
Container class that associates a tree with a transform and metadata.
Definition: Grid.h:28
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:121
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:561
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:212
Command Line Interface handling for the PointExecutable.
Definition: PointExecutable.h:149