Panda3D
|
Defines a sinusoidal blending between two colors. More...
#include "colorInterpolationManager.h"
Public Member Functions | |
ColorInterpolationFunctionSinusoid () | |
default constructor | |
ColorInterpolationFunctionSinusoid (const LColor &color_a, const LColor &color_b, const PN_stdfloat period) | |
constructor | |
virtual TypeHandle | force_init_type () |
PN_stdfloat | get_period () const |
Returns the time to transition from A to B then back to A again. | |
virtual TypeHandle | get_type () const |
void | set_period (const PN_stdfloat p) |
Sets the time to transition from A to B then back to A again. | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. | |
Protected Member Functions | |
LColor | interpolate (const PN_stdfloat t=0) const |
Returns a sinusoidal blended color between A and B. | |
Protected Attributes | |
PN_stdfloat | _period |
Defines a sinusoidal blending between two colors.
A period of "1" corresponds to a single transition from color_a to color_b and then back to color_a over the course of the segment's lifetime. A shorter period will result in a higher frequency cycle.
Definition at line 198 of file colorInterpolationManager.h.
default constructor
Definition at line 160 of file colorInterpolationManager.cxx.
ColorInterpolationFunctionSinusoid::ColorInterpolationFunctionSinusoid | ( | const LColor & | color_a, |
const LColor & | color_b, | ||
const PN_stdfloat | period | ||
) |
constructor
Definition at line 171 of file colorInterpolationManager.cxx.
PN_stdfloat ColorInterpolationFunctionSinusoid::get_period | ( | ) | const [inline] |
Returns the time to transition from A to B then back to A again.
Definition at line 114 of file colorInterpolationManager.I.
static void ColorInterpolationFunctionSinusoid::init_type | ( | ) | [inline, static] |
This function is declared non-inline to work around a compiler bug in g++ 2.96.
Making it inline seems to cause problems in the optimizer.
Reimplemented from ColorInterpolationFunctionLinear.
Definition at line 219 of file colorInterpolationManager.h.
LColor ColorInterpolationFunctionSinusoid::interpolate | ( | const PN_stdfloat | t = 0 | ) | const [protected, virtual] |
Returns a sinusoidal blended color between A and B.
Period defines the time it will take to return to A.
Reimplemented from ColorInterpolationFunctionLinear.
Definition at line 187 of file colorInterpolationManager.cxx.
void ColorInterpolationFunctionSinusoid::set_period | ( | const PN_stdfloat | p | ) | [inline] |
Sets the time to transition from A to B then back to A again.
Definition at line 126 of file colorInterpolationManager.I.