class SGRangeAnimation : public SGAnimation
{
public:
- SGRangeAnimation (SGPropertyNode_ptr props);
+ SGRangeAnimation (SGPropertyNode *prop_root,
+ SGPropertyNode_ptr props);
virtual ~SGRangeAnimation ();
+ virtual void update();
+private:
+ SGPropertyNode_ptr _min_prop;
+ SGPropertyNode_ptr _max_prop;
+ float _min;
+ float _max;
+ float _min_factor;
+ float _max_factor;
};
sgVec3 _axis;
};
+/**
+ * Animation to blend an object.
+ */
+class SGBlendAnimation : public SGAnimation
+{
+public:
+ SGBlendAnimation( SGPropertyNode *prop_root,
+ SGPropertyNode_ptr props );
+ virtual ~SGBlendAnimation ();
+ virtual void update();
+private:
+ SGPropertyNode_ptr _prop;
+ SGInterpTable * _table;
+ double _prev_value;
+ double _offset;
+ double _factor;
+ bool _has_min;
+ double _min;
+ bool _has_max;
+ double _max;
+};
+
/**
* Animation to scale an object.
*/
};
+/**
+ * An animation to enable the alpha test
+ */
+class SGAlphaTestAnimation : public SGAnimation
+{
+public:
+ SGAlphaTestAnimation (SGPropertyNode *prop_root,
+ SGPropertyNode_ptr props);
+ virtual ~SGAlphaTestAnimation ();
+ virtual void update();
+private:
+ void setAlphaClampToBranch(ssgBranch *b, float clamp);
+ bool _done;
+ float _alpha_clamp;
+};
+
+
#endif // _SG_ANIMATION_HXX