11 #ifndef __GA_AIFInterp__
12 #define __GA_AIFInterp__
83 virtual ~GA_AIFInterp();
87 virtual bool isConditionalInterpolation()
const {
return false; }
122 fpreal scale_factor = 1)
const = 0;
132 fpreal scale_factor = 1)
const = 0;
164 fpreal scale_factor = 1)
const;
172 fpreal scale_factor = 1)
const;
253 #define GA_AIFINTERP_OPERAND_METHODS(BASECLASS) \
254 bool lerp(GA_AttributeOperand &d, \
255 GA_AttributeOperand &a, \
256 GA_AttributeOperand &b, \
257 GA_AttributeOperand &t) const override \
258 { return BASECLASS::lerp(d, a, b, t); } \
259 bool smooth(GA_AttributeOperand &d, \
260 GA_AttributeOperand &min, \
261 GA_AttributeOperand &max, \
262 GA_AttributeOperand &t) const override \
263 { return BASECLASS::smooth(d, min, max, t); } \
264 bool fit(GA_AttributeOperand &d, \
265 GA_AttributeOperand &a, \
266 GA_AttributeOperand &omin, \
267 GA_AttributeOperand &omax, \
268 GA_AttributeOperand &nmin, \
269 GA_AttributeOperand &nmax) const override \
270 { return BASECLASS::fit(d, a, omin, omax, nmin, nmax); }
Definition of a geometry attribute.
virtual bool endHSum(GA_Attribute &d, GA_Offset di, const GA_WeightedSum &sum, fpreal scale_factor=1) const
virtual bool addHSum(GA_Attribute &d, GA_Offset di, const GA_WeightedSum &sum, const GA_Attribute &a, GA_Offset ai) const
virtual bool lerp(GA_AttributeOperand &d, GA_AttributeOperand &a, GA_AttributeOperand &b, GA_AttributeOperand &t) const
d = SYSlerp(a, b, t);
GLboolean GLboolean GLboolean GLboolean a
Context to keep track of weighted sums.
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
virtual bool endSquare(GA_Attribute &d, GA_Offset di, const GA_WeightedSum &sum, fpreal scale_factor=1) const =0
virtual bool fit(GA_AttributeOperand &d, GA_AttributeOperand &a, GA_AttributeOperand &omin, GA_AttributeOperand &omax, GA_AttributeOperand &nmin, GA_AttributeOperand &nmax) const
d = SYSfit(a, omin, omax, nmin, nmax);
A range of elements in an index-map.
virtual bool fit01(GA_AttributeOperand &d, GA_AttributeOperand &a, GA_AttributeOperand &nmin, GA_AttributeOperand &nmax) const
d = SYSfit(a, 0, 1, nmin, nmax);
GLboolean GLboolean GLboolean b
virtual bool smooth(GA_AttributeOperand &d, GA_AttributeOperand &min, GA_AttributeOperand &max, GA_AttributeOperand &t) const
d = SYSsmooth(min, max, t);
ImageBuf OIIO_API max(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
virtual bool addHSquare(GA_Attribute &d, GA_Offset di, const GA_WeightedSum &sum, const GA_Attribute &a, GA_Offset ai) const
Add the square of the homogeneous input to the sum.
virtual bool endSum(GA_Attribute &d, GA_Offset di, const GA_WeightedSum &sum, fpreal scale_factor=1) const =0
Attribute Interface class to perform interpolation operations on attributes.
virtual bool endHSquare(GA_Attribute &d, GA_Offset di, const GA_WeightedSum &sum, fpreal scale_factor=1) const