HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GA_AIFCondInterp Class Reference

Conditional copy implementation of the GA_AIFInterp interface using AIFTuple. More...

#include <GA_AIFCondInterp.h>

+ Inheritance diagram for GA_AIFCondInterp:

Public Member Functions

 GA_AIFCondInterp ()
 
 ~GA_AIFCondInterp () override
 
bool isConditionalInterpolation () const override
 
bool startSum (GA_Attribute &d, GA_Offset di, const GA_WeightedSum &sum) const override
 
bool addSum (GA_Attribute &d, GA_Offset di, const GA_WeightedSum &sum, const GA_Attribute &a, GA_Offset ai) const override
 
bool addSquare (GA_Attribute &d, GA_Offset di, const GA_WeightedSum &sum, const GA_Attribute &a, GA_Offset ai) const override
 
bool endSum (GA_Attribute &d, GA_Offset di, const GA_WeightedSum &sum, fpreal scale_factor=1) const override
 
bool endSquare (GA_Attribute &d, GA_Offset di, const GA_WeightedSum &sum, fpreal scale_factor=1) const override
 
bool lerp (GA_Attribute &d, GA_Offset di, const GA_Attribute &a, GA_Offset ai, const GA_Attribute &b, GA_Offset bi, fpreal t) const override
 
bool lerp (GA_Attribute &d, const GA_Range &di, const GA_Attribute &a, const GA_Range &ai, const GA_Attribute &b, const GA_Range &bi, fpreal t) const override
 
bool lerp (GA_Attribute &d, const GA_Range &di, const GA_Attribute &a, const GA_Range &ai, const GA_Attribute &b, const GA_Range &bi, const GA_Attribute &t, const GA_Range &ti) const override
 
bool smooth (GA_Attribute &d, GA_Offset di, fpreal min, fpreal max, const GA_Attribute &a, GA_Offset ai) const override
 
bool smooth (GA_Attribute &d, const GA_Range &di, fpreal min, fpreal max, const GA_Attribute &a, const GA_Range &ai) const override
 
bool fit (GA_Attribute &d, GA_Offset di, const GA_Attribute &a, GA_Offset ai, fpreal omin, fpreal omax, fpreal nmin, fpreal nmax) const override
 
bool fit (GA_Attribute &d, const GA_Range &di, const GA_Attribute &a, const GA_Range &ai, fpreal omin, fpreal omax, fpreal nmin, fpreal nmax) const override
 

Detailed Description

Conditional copy implementation of the GA_AIFInterp interface using AIFTuple.

The GA_AIFInterp class provides a pure virtual implementation requiring developers to implement all specializations of the methods. This class provides these specializations using the AIFTuple methods to get/set data.

This class performs interpolation by conditional copy. That is, rather than blending the values, the values are copied as discrete elements.

See Also
GA_AIFMath, GA_AIFStdMath, GA_AIFStdInterp

Definition at line 39 of file GA_AIFCondInterp.h.

Constructor & Destructor Documentation

GA_AIFCondInterp::GA_AIFCondInterp ( )
inline

Definition at line 42 of file GA_AIFCondInterp.h.

GA_AIFCondInterp::~GA_AIFCondInterp ( )
override

Member Function Documentation

bool GA_AIFCondInterp::addSquare ( GA_Attribute d,
GA_Offset  di,
const GA_WeightedSum sum,
const GA_Attribute a,
GA_Offset  ai 
) const
override
bool GA_AIFCondInterp::addSum ( GA_Attribute d,
GA_Offset  di,
const GA_WeightedSum sum,
const GA_Attribute a,
GA_Offset  ai 
) const
override
bool GA_AIFCondInterp::endSquare ( GA_Attribute d,
GA_Offset  di,
const GA_WeightedSum sum,
fpreal  scale_factor = 1 
) const
override
bool GA_AIFCondInterp::endSum ( GA_Attribute d,
GA_Offset  di,
const GA_WeightedSum sum,
fpreal  scale_factor = 1 
) const
override
bool GA_AIFCondInterp::fit ( GA_Attribute d,
GA_Offset  di,
const GA_Attribute a,
GA_Offset  ai,
fpreal  omin,
fpreal  omax,
fpreal  nmin,
fpreal  nmax 
) const
override
bool GA_AIFCondInterp::fit ( GA_Attribute d,
const GA_Range di,
const GA_Attribute a,
const GA_Range ai,
fpreal  omin,
fpreal  omax,
fpreal  nmin,
fpreal  nmax 
) const
override
bool GA_AIFCondInterp::isConditionalInterpolation ( ) const
inlineoverride

Return whether this interpolator is a conditional interpolation or whether values are actually interpolated.

Definition at line 47 of file GA_AIFCondInterp.h.

bool GA_AIFCondInterp::lerp ( GA_Attribute d,
GA_Offset  di,
const GA_Attribute a,
GA_Offset  ai,
const GA_Attribute b,
GA_Offset  bi,
fpreal  t 
) const
override
bool GA_AIFCondInterp::lerp ( GA_Attribute d,
const GA_Range di,
const GA_Attribute a,
const GA_Range ai,
const GA_Attribute b,
const GA_Range bi,
fpreal  t 
) const
override
bool GA_AIFCondInterp::lerp ( GA_Attribute d,
const GA_Range di,
const GA_Attribute a,
const GA_Range ai,
const GA_Attribute b,
const GA_Range bi,
const GA_Attribute t,
const GA_Range ti 
) const
override
bool GA_AIFCondInterp::smooth ( GA_Attribute d,
GA_Offset  di,
fpreal  min,
fpreal  max,
const GA_Attribute a,
GA_Offset  ai 
) const
override

Since smooth() blends between floating point values, it is not implemented as a conditional copy (returns false). Sub-classes may choose to implement this differently.

bool GA_AIFCondInterp::smooth ( GA_Attribute d,
const GA_Range di,
fpreal  min,
fpreal  max,
const GA_Attribute a,
const GA_Range ai 
) const
override
bool GA_AIFCondInterp::startSum ( GA_Attribute d,
GA_Offset  di,
const GA_WeightedSum sum 
) const
override

The weighted sum will copy over the element which has the greatest contribution to the sum. The initialization is a no-op, so any initialization you need to perform should be done in a sub-class implementation.


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