OpenVDB: PointExecutable Class Reference

OpenVDB 8.0.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

## 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()

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

  flag | Enables 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

  grain | The 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

  name | The 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:

- PointExecutable.h