#ifndef TRANSFORM_H
#define TRANSFORM_H

#include "SceneGraph.h"
#include "GraphNode.h"


namespace nsSceneGraph {

// forward declaration
class SceneGraphVisitor;


class Transform : public GraphNode
{
	friend class SceneGraphVisitor;
	friend class GlCompileVisitor;
	friend class GlCompileSmoothVisitor;

	private:
		double center[3];
		double rotation[4]; // degrees
		double translation[3];

	public:
		Transform(void);
		~Transform(void);

		int action(SceneGraphVisitor *visitor);

		void setCenter(double x, double y, double z);
		void setRotation(double angle, double rx, double ry, double rz);
		void setTranslation(double x, double y, double z);

		GraphNode *duplicate(void);
};


}

#endif

