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:32
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
Object that encapsulates compiled AX code which can be executed on a collection of VDB Point Data gri...
Definition: PointExecutable.h:70
std::shared_ptr< PointExecutable > Ptr
Definition: PointExecutable.h:73
std::shared_ptr< const CustomData > ConstPtr
Definition: CustomData.h:38
The Attribute Bindings class is used by the compiled Executables to handle the mapping of AX Attribut...
Definition: Exceptions.h:13
Command Line Interface handling for the PointExecutable.
Definition: PointExecutable.h:149
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...
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...
Definition: PointExecutable.h:143
#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
std::shared_ptr< const AttributeRegistry > ConstPtr
Definition: AttributeRegistry.h:43
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:218
This class wraps an interface for a map of attribute bindings. These map attributes in AX code to con...
Definition: AttributeBindings.h:36