OpenVDB 12.1.0

Loading...
Searching...
No Matches
CombineArgs< AValueType, BValueType > Class Template Reference

This struct collects both input and output arguments to "grid combiner" functors used with the tree::TypedGrid::combineExtended() and combine2Extended() methods. AValueType and BValueType are the value types of the two grids being combined. More...

`#include <openvdb/Types.h>`

## Public Types
using | AValueT = AValueType
using | BValueT = BValueType

## Public Member Functions
| CombineArgs ()
| CombineArgs (const AValueType &a, const BValueType &b, AValueType &result, bool aOn=false, bool bOn=false)
| Use this constructor when the result value is stored externally.
| CombineArgs (const AValueType &a, const BValueType &b, bool aOn=false, bool bOn=false)
| Use this constructor when the result value should be stored in this struct.
const AValueType & | a () const
| Get the A input value.
const BValueType & | b () const
| Get the B input value.
const AValueType & | result () const
| Get the output value.
AValueType & | result ()
CombineArgs & | setResult (const AValueType &val)
| Set the output value.
CombineArgs & | setARef (const AValueType &a)
| Redirect the A value to a new external source.
CombineArgs & | setBRef (const BValueType &b)
| Redirect the B value to a new external source.
CombineArgs & | setResultRef (AValueType &val)
| Redirect the result value to a new external destination.
bool | aIsActive () const
bool | bIsActive () const
bool | resultIsActive () const
CombineArgs & | setAIsActive (bool b)
| Set the active state of the A value.
CombineArgs & | setBIsActive (bool b)
| Set the active state of the B value.
CombineArgs & | setResultIsActive (bool b)
| Set the active state of the output value.

## Protected Member Functions
void | updateResultActive ()

## Protected Attributes
const AValueType * | mAValPtr
const BValueType * | mBValPtr
AValueType | mResultVal
AValueType * | mResultValPtr
bool | mAIsActive
bool | mBIsActive
bool | mResultIsActive

## Detailed Description

template<typename AValueType, typename BValueType = AValueType>
class openvdb::v12_1::CombineArgs< AValueType, BValueType >

This struct collects both input and output arguments to "grid combiner" functors used with the tree::TypedGrid::combineExtended() and combine2Extended() methods. AValueType and BValueType are the value types of the two grids being combined.

See also
  openvdb/tree/Tree.h for usage information.

Setter methods return references to this object, to facilitate the following usage:

CombineArgs<float> args;
myCombineOp(args.setARef(aVal).setBRef(bVal).setAIsActive(true).setBIsActive(false));
openvdb::v12_1::CombineArgs::setARef
CombineArgs & setARef(const AValueType &a)
Redirect the A value to a new external source.
Definition Types.h:692
openvdb::v12_1::CombineArgs::setBIsActive
CombineArgs & setBIsActive(bool b)
Set the active state of the B value.
Definition Types.h:708
openvdb::v12_1::CombineArgs::setBRef
CombineArgs & setBRef(const BValueType &b)
Redirect the B value to a new external source.
Definition Types.h:694
openvdb::v12_1::CombineArgs::CombineArgs
CombineArgs()
Definition Types.h:645
openvdb::v12_1::CombineArgs::setAIsActive
CombineArgs & setAIsActive(bool b)
Set the active state of the A value.
Definition Types.h:706

## Member Typedef Documentation

## ◆ AValueT

template<typename AValueType, typename BValueType = AValueType>

using AValueT = AValueType

## ◆ BValueT

template<typename AValueType, typename BValueType = AValueType>

using BValueT = BValueType

## Constructor & Destructor Documentation

## ◆ CombineArgs() [1/3]

template<typename AValueType, typename BValueType = AValueType>

CombineArgs | ( |  | ) |
| inline

## ◆ CombineArgs() [2/3]

template<typename AValueType, typename BValueType = AValueType>

CombineArgs | ( | const AValueType & | a,
|  | const BValueType & | b,
|  | AValueType & | result,
|  | bool | aOn = false,
|  | bool | bOn = false )
| inline

Use this constructor when the result value is stored externally.

## ◆ CombineArgs() [3/3]

template<typename AValueType, typename BValueType = AValueType>

CombineArgs | ( | const AValueType & | a,
|  | const BValueType & | b,
|  | bool | aOn = false,
|  | bool | bOn = false )
| inline

Use this constructor when the result value should be stored in this struct.

## Member Function Documentation

## ◆ a()

template<typename AValueType, typename BValueType = AValueType>

const AValueType & a | ( |  | ) | const
| inline

Get the A input value.

## ◆ aIsActive()

template<typename AValueType, typename BValueType = AValueType>

bool aIsActive | ( |  | ) | const
| inline

Returns
  true if the A value is active

## ◆ b()

template<typename AValueType, typename BValueType = AValueType>

const BValueType & b | ( |  | ) | const
| inline

Get the B input value.

## ◆ bIsActive()

template<typename AValueType, typename BValueType = AValueType>

bool bIsActive | ( |  | ) | const
| inline

Returns
  true if the B value is active

## ◆ result() [1/2]

template<typename AValueType, typename BValueType = AValueType>

AValueType & result | ( |  | ) |
| inline

## ◆ result() [2/2]

template<typename AValueType, typename BValueType = AValueType>

const AValueType & result | ( |  | ) | const
| inline

Get the output value.

## ◆ resultIsActive()

template<typename AValueType, typename BValueType = AValueType>

bool resultIsActive | ( |  | ) | const
| inline

Returns
  true if the output value is active

## ◆ setAIsActive()

template<typename AValueType, typename BValueType = AValueType>

CombineArgs & setAIsActive | ( | bool | b | ) |
| inline

Set the active state of the A value.

## ◆ setARef()

template<typename AValueType, typename BValueType = AValueType>

CombineArgs & setARef | ( | const AValueType & | a | ) |
| inline

Redirect the A value to a new external source.

## ◆ setBIsActive()

template<typename AValueType, typename BValueType = AValueType>

CombineArgs & setBIsActive | ( | bool | b | ) |
| inline

Set the active state of the B value.

## ◆ setBRef()

template<typename AValueType, typename BValueType = AValueType>

CombineArgs & setBRef | ( | const BValueType & | b | ) |
| inline

Redirect the B value to a new external source.

## ◆ setResult()

template<typename AValueType, typename BValueType = AValueType>

CombineArgs & setResult | ( | const AValueType & | val | ) |
| inline

Set the output value.

## ◆ setResultIsActive()

template<typename AValueType, typename BValueType = AValueType>

CombineArgs & setResultIsActive | ( | bool | b | ) |
| inline

Set the active state of the output value.

## ◆ setResultRef()

template<typename AValueType, typename BValueType = AValueType>

CombineArgs & setResultRef | ( | AValueType & | val | ) |
| inline

Redirect the result value to a new external destination.

## ◆ updateResultActive()

template<typename AValueType, typename BValueType = AValueType>

void updateResultActive | ( |  | ) |
| inline protected

By default, the result value is active if either of the input values is active, but this behavior can be overridden by calling setResultIsActive().

## Member Data Documentation

## ◆ mAIsActive

template<typename AValueType, typename BValueType = AValueType>

bool mAIsActive
| protected

## ◆ mAValPtr

template<typename AValueType, typename BValueType = AValueType>

const AValueType* mAValPtr
| protected

## ◆ mBIsActive

template<typename AValueType, typename BValueType = AValueType>

bool mBIsActive
| protected

## ◆ mBValPtr

template<typename AValueType, typename BValueType = AValueType>

const BValueType* mBValPtr
| protected

## ◆ mResultIsActive

template<typename AValueType, typename BValueType = AValueType>

bool mResultIsActive
| protected

## ◆ mResultVal

template<typename AValueType, typename BValueType = AValueType>

AValueType mResultVal
| protected

## ◆ mResultValPtr

template<typename AValueType, typename BValueType = AValueType>

AValueType* mResultValPtr
| protected