OpenVDB  9.0.1
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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. More...
 
 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. More...
 
const AValueType & a () const
 Get the A input value. More...
 
const BValueType & b () const
 Get the B input value. More...
 
CombineArgssetResult (const AValueType &val)
 Set the output value. More...
 
CombineArgssetARef (const AValueType &a)
 Redirect the A value to a new external source. More...
 
CombineArgssetBRef (const BValueType &b)
 Redirect the B value to a new external source. More...
 
CombineArgssetResultRef (AValueType &val)
 Redirect the result value to a new external destination. More...
 
bool aIsActive () const
 
bool bIsActive () const
 
bool resultIsActive () const
 
CombineArgssetAIsActive (bool b)
 Set the active state of the A value. More...
 
CombineArgssetBIsActive (bool b)
 Set the active state of the B value. More...
 
CombineArgssetResultIsActive (bool b)
 Set the active state of the output value. More...
 
const AValueType & result () const
 Get the output value. More...
 
AValueType & result ()
 Get the output value. More...
 

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::v9_0::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));

Member Typedef Documentation

using AValueT = AValueType
using BValueT = BValueType

Constructor & Destructor Documentation

CombineArgs ( )
inline
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 ( 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

const AValueType& a ( ) const
inline

Get the A input value.

bool aIsActive ( ) const
inline
Returns
true if the A value is active
const BValueType& b ( ) const
inline

Get the B input value.

bool bIsActive ( ) const
inline
Returns
true if the B value is active
const AValueType& result ( ) const
inline

Get the output value.

AValueType& result ( )
inline

Get the output value.

bool resultIsActive ( ) const
inline
Returns
true if the output value is active
CombineArgs& setAIsActive ( bool  b)
inline

Set the active state of the A value.

CombineArgs& setARef ( const AValueType &  a)
inline

Redirect the A value to a new external source.

CombineArgs& setBIsActive ( bool  b)
inline

Set the active state of the B value.

CombineArgs& setBRef ( const BValueType &  b)
inline

Redirect the B value to a new external source.

CombineArgs& setResult ( const AValueType &  val)
inline

Set the output value.

CombineArgs& setResultIsActive ( bool  b)
inline

Set the active state of the output value.

CombineArgs& setResultRef ( AValueType &  val)
inline

Redirect the result value to a new external destination.

void updateResultActive ( )
inlineprotected

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

bool mAIsActive
protected
const AValueType* mAValPtr
protected
bool mBIsActive
protected
const BValueType* mBValPtr
protected
bool mResultIsActive
protected
AValueType mResultVal
protected
AValueType* mResultValPtr
protected