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>;
89 const std::string*
const group,
90 const bool create)
const
100 const std::string*
const group)
const
114 friend class ::TestPointExecutable;
127 PointExecutable(
const std::shared_ptr<const llvm::LLVMContext>& context,
128 const std::shared_ptr<const llvm::ExecutionEngine>& engine,
131 const std::unordered_map<std::string, uint64_t>& functions);
136 const std::shared_ptr<const llvm::LLVMContext> mContext;
137 const std::shared_ptr<const llvm::ExecutionEngine> mExecutionEngine;
140 const std::unordered_map<std::string, uint64_t> mFunctionAddresses;
141 std::unique_ptr<Settings> mSettings;
148 #endif // OPENVDB_AX_COMPILER_POINT_EXECUTABLE_HAS_BEEN_INCLUDED
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.
Definition: Compiler.h:31
OPENVDB_DEPRECATED void execute(points::PointDataGrid &grid, const std::string *const group) const
Definition: PointExecutable.h:99
std::shared_ptr< const CustomData > ConstPtr
Definition: CustomData.h:47
Access to the CustomData class which can provide custom user user data to the OpenVDB AX Compiler.
Library and file format version numbers.
std::shared_ptr< PointExecutable > Ptr
Definition: PointExecutable.h:42
Object that encapsulates compiled AX code which can be executed on a target point grid.
Definition: PointExecutable.h:40
bool getCreateMissing() const
Container class that associates a tree with a transform and metadata.
Definition: Grid.h:572
void setCreateMissing(const bool flag)
Set the behaviour when missing point attributes are accessed. Default behaviour is true,...
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
The compiler class. This holds an llvm context and set of compiler options, and constructs executable...
Definition: Compiler.h:50
OPENVDB_DEPRECATED void execute(points::PointDataGrid &grid, const std::string *const group, const bool create) const
Definition: PointExecutable.h:88
PointExecutable(const PointExecutable &other)
Copy constructor. Shares the LLVM constructs but deep copies the settings. Multiple copies of an exec...
size_t getGrainSize() const
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:147
const std::string & getGroupExecution() const
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h:95
void setGroupExecution(const std::string &name)
Set a specific point group to execute over. The default is none, which corresponds to all points....
These classes contain lists of expected attributes and volumes which are populated by compiler during...
std::shared_ptr< const AttributeRegistry > ConstPtr
Definition: AttributeRegistry.h:40
Definition: openvdb/Exceptions.h:13