Browse Source

added is_modulated status to segment constructor and addSegment functions

Josh Wilson 19 years ago
parent
commit
b79e647bd1

+ 10 - 9
panda/src/particlesystem/colorInterpolationManager.cxx

@@ -203,12 +203,13 @@ ColorInterpolationSegment::
 ColorInterpolationSegment(ColorInterpolationFunction* function,
 ColorInterpolationSegment(ColorInterpolationFunction* function,
                           const float &time_begin,
                           const float &time_begin,
                           const float &time_end,
                           const float &time_end,
+                          const bool is_modulated,
                           const int id) :
                           const int id) :
   _color_inter_func(function),
   _color_inter_func(function),
   _t_begin(time_begin),
   _t_begin(time_begin),
   _t_end(time_end),
   _t_end(time_end),
   _t_total(time_end-time_begin),
   _t_total(time_end-time_begin),
-  _is_modulated(true),
+  _is_modulated(is_modulated),
   _enabled(true),
   _enabled(true),
   _id(id) {
   _id(id) {
 }
 }
@@ -310,9 +311,9 @@ ColorInterpolationManager::
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 
 
 int ColorInterpolationManager::
 int ColorInterpolationManager::
-add_constant(const float time_begin, const float time_end, const Colorf color) {
+add_constant(const float time_begin, const float time_end, const Colorf color, const bool is_modulated) {
   PT(ColorInterpolationFunctionConstant) fPtr = new ColorInterpolationFunctionConstant(color);
   PT(ColorInterpolationFunctionConstant) fPtr = new ColorInterpolationFunctionConstant(color);
-  PT(ColorInterpolationSegment) sPtr = new ColorInterpolationSegment(fPtr,time_begin,time_end,_id_generator);
+  PT(ColorInterpolationSegment) sPtr = new ColorInterpolationSegment(fPtr,time_begin,time_end,is_modulated,_id_generator);
 
 
   _i_segs.push_back(sPtr);
   _i_segs.push_back(sPtr);
 
 
@@ -327,9 +328,9 @@ add_constant(const float time_begin, const float time_end, const Colorf color) {
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 
 
 int ColorInterpolationManager::
 int ColorInterpolationManager::
-add_linear(const float time_begin, const float time_end, const Colorf color_a, const Colorf color_b) {
+add_linear(const float time_begin, const float time_end, const Colorf color_a, const Colorf color_b, const bool is_modulated) {
   PT(ColorInterpolationFunctionLinear) fPtr = new ColorInterpolationFunctionLinear(color_a, color_b);
   PT(ColorInterpolationFunctionLinear) fPtr = new ColorInterpolationFunctionLinear(color_a, color_b);
-  PT(ColorInterpolationSegment) sPtr = new ColorInterpolationSegment(fPtr,time_begin,time_end,_id_generator);
+  PT(ColorInterpolationSegment) sPtr = new ColorInterpolationSegment(fPtr,time_begin,time_end,is_modulated,_id_generator);
 
 
   _i_segs.push_back(sPtr);
   _i_segs.push_back(sPtr);
 
 
@@ -344,9 +345,9 @@ add_linear(const float time_begin, const float time_end, const Colorf color_a, c
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 
 
 int ColorInterpolationManager::
 int ColorInterpolationManager::
-add_stepwave(const float time_begin, const float time_end, const Colorf color_a, const Colorf color_b, const float width_a, const float width_b) {
+add_stepwave(const float time_begin, const float time_end, const Colorf color_a, const Colorf color_b, const float width_a, const float width_b,const bool is_modulated) {
   PT(ColorInterpolationFunctionStepwave) fPtr = new ColorInterpolationFunctionStepwave(color_a, color_b, width_a, width_b);
   PT(ColorInterpolationFunctionStepwave) fPtr = new ColorInterpolationFunctionStepwave(color_a, color_b, width_a, width_b);
-  PT(ColorInterpolationSegment) sPtr = new ColorInterpolationSegment(fPtr,time_begin,time_end,_id_generator);
+  PT(ColorInterpolationSegment) sPtr = new ColorInterpolationSegment(fPtr,time_begin,time_end,is_modulated,_id_generator);
 
 
   _i_segs.push_back(sPtr);
   _i_segs.push_back(sPtr);
 
 
@@ -362,9 +363,9 @@ add_stepwave(const float time_begin, const float time_end, const Colorf color_a,
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 
 
 int ColorInterpolationManager::
 int ColorInterpolationManager::
-add_sinusoid(const float time_begin, const float time_end, const Colorf color_a, const Colorf color_b, const float period) {
+add_sinusoid(const float time_begin, const float time_end, const Colorf color_a, const Colorf color_b, const float period,const bool is_modulated) {
   PT(ColorInterpolationFunctionSinusoid) fPtr = new ColorInterpolationFunctionSinusoid(color_a, color_b, period);
   PT(ColorInterpolationFunctionSinusoid) fPtr = new ColorInterpolationFunctionSinusoid(color_a, color_b, period);
-  PT(ColorInterpolationSegment) sPtr = new ColorInterpolationSegment(fPtr,time_begin,time_end,_id_generator);
+  PT(ColorInterpolationSegment) sPtr = new ColorInterpolationSegment(fPtr,time_begin,time_end,is_modulated,_id_generator);
 
 
   _i_segs.push_back(sPtr);
   _i_segs.push_back(sPtr);
 
 

+ 5 - 5
panda/src/particlesystem/colorInterpolationManager.h

@@ -244,7 +244,7 @@ private:
 
 
 class ColorInterpolationSegment : public ReferenceCount {
 class ColorInterpolationSegment : public ReferenceCount {
 PUBLISHED:
 PUBLISHED:
-  ColorInterpolationSegment(ColorInterpolationFunction* function, const float &time_begin, const float &time_end, const int id);
+  ColorInterpolationSegment(ColorInterpolationFunction* function, const float &time_begin, const float &time_end, const bool is_modulated, const int id);
   ColorInterpolationSegment(const ColorInterpolationSegment &s);
   ColorInterpolationSegment(const ColorInterpolationSegment &s);
   virtual ~ColorInterpolationSegment();
   virtual ~ColorInterpolationSegment();
 
 
@@ -291,10 +291,10 @@ ColorInterpolationManager();
   ColorInterpolationManager(const ColorInterpolationManager& copy);    
   ColorInterpolationManager(const ColorInterpolationManager& copy);    
   virtual ~ColorInterpolationManager();
   virtual ~ColorInterpolationManager();
 
 
-  int add_constant(const float time_begin = 0.0f, const float time_end = 1.0f, const Colorf color = Colorf(1.0f,1.0f,1.0f,1.0f));
-  int add_linear(const float time_begin = 0.0f, const float time_end = 1.0f, const Colorf color_a = Colorf(1.0f,0.0f,0.0f,1.0f), const Colorf color_b = Colorf(0.0f,1.0f,0.0f,1.0f));
-  int add_stepwave(const float time_begin = 0.0f, const float time_end = 1.0f, const Colorf color_a = Colorf(1.0f,0.0f,0.0f,1.0f), const Colorf color_b = Colorf(0.0f,1.0f,0.0f,1.0f), const float width_a = 0.5f, const float width_b = 0.5f);
-  int add_sinusoid(const float time_begin = 0.0f, const float time_end = 1.0f, const Colorf color_a = Colorf(1.0f,0.0f,0.0f,1.0f), const Colorf color_b = Colorf(0.0f,1.0f,0.0f,1.0f), const float period = 1.0f);
+  int add_constant(const float time_begin = 0.0f, const float time_end = 1.0f, const Colorf color = Colorf(1.0f,1.0f,1.0f,1.0f), const bool is_modulated = true);
+  int add_linear(const float time_begin = 0.0f, const float time_end = 1.0f, const Colorf color_a = Colorf(1.0f,0.0f,0.0f,1.0f), const Colorf color_b = Colorf(0.0f,1.0f,0.0f,1.0f), const bool is_modulated = true);
+  int add_stepwave(const float time_begin = 0.0f, const float time_end = 1.0f, const Colorf color_a = Colorf(1.0f,0.0f,0.0f,1.0f), const Colorf color_b = Colorf(0.0f,1.0f,0.0f,1.0f), const float width_a = 0.5f, const float width_b = 0.5f, const bool is_modulated = true);
+  int add_sinusoid(const float time_begin = 0.0f, const float time_end = 1.0f, const Colorf color_a = Colorf(1.0f,0.0f,0.0f,1.0f), const Colorf color_b = Colorf(0.0f,1.0f,0.0f,1.0f), const float period = 1.0f, const bool is_modulated = true);
 
 
   INLINE void set_default_color(const Colorf &c);
   INLINE void set_default_color(const Colorf &c);
   INLINE ColorInterpolationSegment* get_segment(const int seg_id);
   INLINE ColorInterpolationSegment* get_segment(const int seg_id);