# osgParticle::Interpolator Class Reference

An abstract base class for implementing interpolators. More...

Inheritance diagram for osgParticle::Interpolator:

[legend]
List of all members.

## Public Member Functions

| Interpolator ()
| Interpolator (const Interpolator &copy, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
virtual const char * | libraryName () const
| return the name of the object's library.
virtual const char * | className () const
| return the name of the object's class type.
virtual bool | isSameKindAs (const osg::Object *obj) const
virtual float | interpolate (float t, float y1, float y2) const =0
| Interpolate between floats. Must be overriden in descendant classes.
virtual osg::Vec2 | interpolate (float t, const osg::Vec2 &y1, const osg::Vec2 &y2) const
| Interpolate between 2-dimensional vectors. Default behavior is to interpolate each component separately.
virtual osg::Vec3 | interpolate (float t, const osg::Vec3 &y1, const osg::Vec3 &y2) const
| Interpolate between 3-dimensional vectors. Default behavior is to interpolate each component separately.
virtual osg::Vec4 | interpolate (float t, const osg::Vec4 &y1, const osg::Vec4 &y2) const
| Interpolate between 4-dimensional vectors. Default behavior is to interpolate each component separately.
template<class T_>
T_ | interpolate (float t, const range< T_ > &r) const

## Protected Member Functions

virtual | ~Interpolator ()

## Detailed Description

An abstract base class for implementing interpolators.

## Constructor & Destructor Documentation

osgParticle::Interpolator::Interpolator | ( |  | ) | `[inline]`

osgParticle::Interpolator::Interpolator | ( | const Interpolator & | copy,
|  | const osg::CopyOp & | copyop = `osg::CopyOp::SHALLOW_COPY`
| ) | `[inline]`

virtual osgParticle::Interpolator::~Interpolator | ( |  | ) | `[inline, protected, virtual]`

## Member Function Documentation

virtual const char* osgParticle::Interpolator::className | ( |  | ) | const`[inline, virtual]`

| return the name of the object's class type. Must be defined by derived classes. Implements osg::Object.

template<class T_>
T_ osgParticle::Interpolator::interpolate | ( | float | t,
|  | const range< T_ > & | r
| ) | const`[inline]`

virtual osg::Vec4 osgParticle::Interpolator::interpolate | ( | float | t,
|  | const osg::Vec4 & | y1,
|  | const osg::Vec4 & | y2
| ) | const`[inline, virtual]`

| Interpolate between 4-dimensional vectors. Default behavior is to interpolate each component separately.

virtual osg::Vec3 osgParticle::Interpolator::interpolate | ( | float | t,
|  | const osg::Vec3 & | y1,
|  | const osg::Vec3 & | y2
| ) | const`[inline, virtual]`

| Interpolate between 3-dimensional vectors. Default behavior is to interpolate each component separately.

virtual osg::Vec2 osgParticle::Interpolator::interpolate | ( | float | t,
|  | const osg::Vec2 & | y1,
|  | const osg::Vec2 & | y2
| ) | const`[inline, virtual]`

| Interpolate between 2-dimensional vectors. Default behavior is to interpolate each component separately.

virtual float osgParticle::Interpolator::interpolate | ( | float | t,
|  | float | y1,
|  | float | y2
| ) | const`[pure virtual]`

| Interpolate between floats. Must be overriden in descendant classes. Implemented in osgParticle::LinearInterpolator.

virtual bool osgParticle::Interpolator::isSameKindAs | ( | const osg::Object * | obj | ) | const`[inline, virtual]`

virtual const char* osgParticle::Interpolator::libraryName | ( |  | ) | const`[inline, virtual]`

| return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. Implements osg::Object.

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

- Interpolator