+
+
+/**
+ * Classes for handling multiple types of Texture translations on one object
+ */
+
+class SGTexMultipleAnimation : public SGAnimation
+{
+public:
+ SGTexMultipleAnimation( SGPropertyNode *prop_root,
+ SGPropertyNode_ptr props );
+ virtual ~SGTexMultipleAnimation ();
+ virtual void update();
+private:
+ class TexTransform
+ {
+ public:
+ SGPropertyNode_ptr prop;
+ int subtype; // 0=translation, 1=rotation
+ double offset;
+ double factor;
+ double step;
+ double scroll;
+ SGInterpTable * table;
+ bool has_min;
+ double min;
+ bool has_max;
+ double max;
+ double position;
+ sgMat4 matrix;
+ sgVec3 center;
+ sgVec3 axis;
+ };
+ SGPropertyNode_ptr _prop;
+ TexTransform* _transform;
+ int _num_transforms;
+};
+
+
+/**
+ * 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;
+};
+
+