Go to the documentation of this file.
12 #ifndef OPENVDB_AX_COMPILER_POINT_EXECUTABLE_HAS_BEEN_INCLUDED
13 #define OPENVDB_AX_COMPILER_POINT_EXECUTABLE_HAS_BEEN_INCLUDED
22 #include <unordered_map>
24 class TestPointExecutable;
27 class ExecutionEngine;
42 using Ptr = std::shared_ptr<PointExecutable>;
91 friend class ::TestPointExecutable;
104 PointExecutable(
const std::shared_ptr<const llvm::LLVMContext>& context,
105 const std::shared_ptr<const llvm::ExecutionEngine>& engine,
108 const std::unordered_map<std::string, uint64_t>& functions);
113 const std::shared_ptr<const llvm::LLVMContext> mContext;
114 const std::shared_ptr<const llvm::ExecutionEngine> mExecutionEngine;
117 const std::unordered_map<std::string, uint64_t> mFunctionAddresses;
118 std::unique_ptr<Settings> mSettings;
125 #endif // OPENVDB_AX_COMPILER_POINT_EXECUTABLE_HAS_BEEN_INCLUDED
Definition: Compiler.h:31
std::shared_ptr< PointExecutable > Ptr
Definition: PointExecutable.h:42
Access to the CustomData class which can provide custom user user data to the OpenVDB AX Compiler.
Library and file format version numbers.
PointExecutable(const PointExecutable &other)
Copy constructor. Shares the LLVM constructs but deep copies the settings. Multiple copies of an exec...
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
size_t getGrainSize() const
bool getCreateMissing() const
Object that encapsulates compiled AX code which can be executed on a target point grid.
Definition: PointExecutable.h:40
void setCreateMissing(const bool flag)
Set the behaviour when missing point attributes are accessed. Default behaviour is true,...
std::shared_ptr< const CustomData > ConstPtr
Definition: CustomData.h:47
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:153
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h:101
std::shared_ptr< const AttributeRegistry > ConstPtr
Definition: AttributeRegistry.h:40
These classes contain lists of expected attributes and volumes which are populated by compiler during...
const std::string & getGroupExecution() const
Definition: openvdb/Exceptions.h:13
void execute(points::PointDataGrid &grid) const
executes compiled AX code on target grid
void setGrainSize(const size_t grain)
Set the threading grain size. Default is 1. A value of 0 has the effect of disabling multi-threading.
The compiler class. This holds an llvm context and set of compiler options, and constructs executable...
Definition: Compiler.h:50
Container class that associates a tree with a transform and metadata.
Definition: Grid.h:577
void setGroupExecution(const std::string &name)
Set a specific point group to execute over. The default is none, which corresponds to all points....