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>;
63 void setGroupExecution(
const std::string& name);
66 const std::string& getGroupExecution()
const;
73 void setCreateMissing(
const bool flag);
75 bool getCreateMissing()
const;
80 void setGrainSize(
const size_t grain);
82 size_t getGrainSize()
const;
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 setGroupExecution(const std::string &name)
Set a specific point group to execute over. The default is none, which corresponds to all points...
Definition: Compiler.h:31
Object that encapsulates compiled AX code which can be executed on a target point grid...
Definition: PointExecutable.h:39
std::shared_ptr< PointExecutable > Ptr
Definition: PointExecutable.h:42
void execute(points::PointDataGrid &grid) const
executes compiled AX code on target grid
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h:94
std::shared_ptr< const AttributeRegistry > ConstPtr
Definition: AttributeRegistry.h:40
OPENVDB_DEPRECATED void execute(points::PointDataGrid &grid, const std::string *const group, const bool create) const
Definition: PointExecutable.h:88
std::shared_ptr< const CustomData > ConstPtr
Definition: CustomData.h:47
Definition: openvdb/Exceptions.h:13
void setCreateMissing(const bool flag)
Set the behaviour when missing point attributes are accessed. Default behaviour is true...
The compiler class. This holds an llvm context and set of compiler options, and constructs executable...
Definition: Compiler.h:49
Library and file format version numbers.
These classes contain lists of expected attributes and volumes which are populated by compiler during...
Container class that associates a tree with a transform and metadata.
Definition: Grid.h:28
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_USE_VERSION_NAMESPACE
Definition: version.h:146
OPENVDB_DEPRECATED void execute(points::PointDataGrid &grid, const std::string *const group) const
Definition: PointExecutable.h:99