Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

Rigid.h

00001 /*************************************************************************** 00002 * This file is part of OpenCAL: Open Computer Animation Library * 00003 * I created OpenCAL as my master's thesis Computer Science (multimedia) * 00004 * at the tUL university in Diepenbeek, Belgium * 00005 * * 00006 * Copyright (C) 2003-2004 by Jeroen Dierckx * 00007 * jeroen.dierckx@student.luc.ac.be * 00008 * * 00009 ***************************************************************************/ 00010 00011 #ifndef OPENCAL_RIGID_H 00012 #define OPENCAL_RIGID_H 00013 00014 // Includes 00015 #include <OpenCAL/global.h> 00016 00017 #include <OpenCAL/Quaternion.h> 00018 using OpenCAL::Utils::Quaternion; 00019 00020 00021 namespace OpenCAL 00022 { 00023 // Forward declarations 00024 namespace Utils { class Vector3; } 00025 using Utils::Vector3; 00026 00031 class OPENCAL_API Rigid 00032 { 00033 protected: 00034 // Member variables 00035 Quaternion m_rotation; 00036 /* 00037 #ifdef USE_OPENGL 00038 GLuint m_displayList; 00039 #endif // USE_OPENGL 00040 */ 00041 00042 public: 00043 // Destructor 00044 virtual ~Rigid(); 00045 00046 // Get functions 00047 virtual const Quaternion &getRotation() const { return m_rotation; } 00048 virtual Quaternion *getRotationP() { return &m_rotation; } 00049 00050 // Set functions 00051 virtual void setRotation(const Quaternion &rotation) { m_rotation = rotation; } 00052 00053 // Movement functions 00054 virtual void rotate(const Vector3 &axis, float degrees); 00055 virtual void rotateX(float degrees); 00056 virtual void rotateY(float degrees); 00057 virtual void rotateZ(float degrees); 00058 00059 // Other functions 00060 /* 00061 #ifdef USE_OPENGL 00062 virtual void initializeGL(); 00063 virtual void rotateGL(); 00064 virtual void renderGL(); 00065 #endif // USE_OPENGL 00066 */ 00067 00068 protected: 00069 // Constructor is protected, so no instance of this base class can be made 00070 Rigid(); 00071 }; 00072 } 00073 00074 #endif // OPENCAL_RIGID_H

Generated on Sun Aug 15 19:19:23 2004 for OpenCAL: Open Computer Animation Library by doxygen 1.3.8