OpenVDB  7.2.0
Public Types | Public Member Functions | Friends | List of all members
PointExecutable Class Reference

Object that encapsulates compiled AX code which can be executed on a target point grid. More...

#include <PointExecutable.h>

Public Types

using Ptr = std::shared_ptr< PointExecutable >
 

Public Member Functions

 ~PointExecutable ()
 
 PointExecutable (const PointExecutable &other)
 Copy constructor. Shares the LLVM constructs but deep copies the settings. Multiple copies of an executor can be used at the same time safely. More...
 
void execute (points::PointDataGrid &grid) const
 executes compiled AX code on target grid More...
 
void setGroupExecution (const std::string &name)
 Set a specific point group to execute over. The default is none, which corresponds to all points. Note that this can also be compiled into the AX function using the ingroup("mygroup") method. More...
 
const std::string & getGroupExecution () const
 
void setCreateMissing (const bool flag)
 Set the behaviour when missing point attributes are accessed. Default behaviour is true, which creates them with default initial values. If false, a missing attribute runtime error will be thrown on missing accesses. More...
 
bool getCreateMissing () const
 
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. More...
 
size_t getGrainSize () const
 
OPENVDB_DEPRECATED void execute (points::PointDataGrid &grid, const std::string *const group, const bool create) const
 
OPENVDB_DEPRECATED void execute (points::PointDataGrid &grid, const std::string *const group) const
 

Friends

class Compiler
 
class ::TestPointExecutable
 

Detailed Description

Object that encapsulates compiled AX code which can be executed on a target point grid.

Member Typedef Documentation

using Ptr = std::shared_ptr<PointExecutable>

Constructor & Destructor Documentation

PointExecutable ( const PointExecutable other)

Copy constructor. Shares the LLVM constructs but deep copies the settings. Multiple copies of an executor can be used at the same time safely.

Member Function Documentation

void execute ( points::PointDataGrid grid) const

executes compiled AX code on target grid

OPENVDB_DEPRECATED void execute ( points::PointDataGrid grid,
const std::string *const  group,
const bool  create 
) const
inline
OPENVDB_DEPRECATED void execute ( points::PointDataGrid grid,
const std::string *const  group 
) const
inline
bool getCreateMissing ( ) const
Returns
Whether this executable will generate new point attributes.
size_t getGrainSize ( ) const
Returns
The current grain size
const std::string& getGroupExecution ( ) const
Returns
The points group to be processed. Default is empty, which is all points.
void setCreateMissing ( const bool  flag)

Set the behaviour when missing point attributes are accessed. Default behaviour is true, which creates them with default initial values. If false, a missing attribute runtime error will be thrown on missing accesses.

Parameters
flagEnables or disables the creation of missing attributes
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.

Parameters
grainThe grain size
void setGroupExecution ( const std::string &  name)

Set a specific point group to execute over. The default is none, which corresponds to all points. Note that this can also be compiled into the AX function using the ingroup("mygroup") method.

Warning
If the group does not exist during execute, a runtime error will be thrown.
Parameters
nameThe name of the group to execute over

Friends And Related Function Documentation

friend class ::TestPointExecutable
friend
friend class Compiler
friend

The documentation for this class was generated from the following file: