OpenVDB  8.0.1
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
 

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

◆ Ptr

using Ptr = std::shared_ptr<PointExecutable>

Constructor & Destructor Documentation

◆ ~PointExecutable()

◆ 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.

Member Function Documentation

◆ execute()

void execute ( points::PointDataGrid grid) const

executes compiled AX code on target grid

◆ getCreateMissing()

bool getCreateMissing ( ) const
Returns
Whether this executable will generate new point attributes.

◆ getGrainSize()

size_t getGrainSize ( ) const
Returns
The current grain size

◆ getGroupExecution()

const std::string& getGroupExecution ( ) const
Returns
The points group to be processed. Default is empty, which is all points.

◆ setCreateMissing()

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

◆ setGrainSize()

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

◆ setGroupExecution()

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

◆ ::TestPointExecutable

friend class ::TestPointExecutable
friend

◆ Compiler

friend class Compiler
friend

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