Page principale | Liste des namespaces | Hiérarchie des classes | Liste par ordre alphabétique | Liste des composants | Liste des fichiers | Composants | Déclarations

pi2d14_finalpoint.cpp

Aller à la documentation de ce fichier.
00001 
00002 #include <pi2d14/pi2d14_finalpoint.h>
00003 
00004 
00005 GRAPHICSTOOLS::FinalPoint::FinalPoint()
00006 {
00007         //on initialise les point a l'origine avec une vitesse de rotation de 1
00008         x=0;
00009         y=0;
00010         z=0;
00011         alpha=0;
00012         deltaAlpha=1;
00013 }
00014 
00015 GRAPHICSTOOLS::FinalPoint::FinalPoint(float _x,float _y,float _z,float _deltaAlpha)
00016 {
00017         x=_x;
00018         y=_y;
00019         z=_z;
00020         alpha=0;
00021         deltaAlpha=_deltaAlpha;
00022 }
00023 
00024 GRAPHICSTOOLS::FinalPoint::~FinalPoint()
00025 {
00026 }
00027 
00028 void GRAPHICSTOOLS::FinalPoint::update(float elapsedTime)
00029 {
00030         //on calcul le nouvelle angle de rotation en fonction du temp ecouler
00031         alpha+=elapsedTime*deltaAlpha;
00032 }
00033 
00034 void GRAPHICSTOOLS::FinalPoint::render()
00035 {
00036         //on sauvegarde et on modifie la matrice OpenGL a jour pour dessiner le point au bon endroit
00037         glPushMatrix();
00038         glTranslatef(x,y,z);
00039         glRotatef(alpha,0,0,1);
00040 
00041         //dessin de l'objet representant le point final
00042         glDisable(GL_CULL_FACE);
00043         glBegin(GL_TRIANGLES);
00044         glColor3f(1,0,0);
00045         glVertex3f(0,0,0);
00046         glVertex3f(-0.1,-0.1,0.8);
00047         glVertex3f(0.1,-0.1,0.8);
00048         glColor3f(0,1,0);
00049         glVertex3f(0,0,0);
00050         glVertex3f(0.1,-0.1,0.8);
00051         glVertex3f(0.1,0.1,0.8);
00052         glColor3f(0,0,1);
00053         glVertex3f(0,0,0);
00054         glVertex3f(0.1,0.1,0.8);
00055         glVertex3f(-0.1,0.1,0.8);
00056         glColor3f(1,1,0);
00057         glVertex3f(0,0,0);
00058         glVertex3f(-0.1,0.1,0.8);
00059         glVertex3f(-0.1,-0.1,0.8);
00060         //le bout de la pyramide
00061         glColor3f(0,1,1);
00062         glVertex3f(-0.1,-0.1,0.8);
00063         glVertex3f(0.1,-0.1,0.8);
00064         glVertex3f(-0.1,0.1,0.8);
00065         glVertex3f(0.1,0.1,0.8);
00066         glVertex3f(0.1,-0.1,0.8);
00067         glVertex3f(-0.1,0.1,0.8);
00068         glEnd();
00069         glEnable(GL_CULL_FACE);
00070 
00071         //restaure la matrice OpenGL precedente
00072         glPopMatrix();
00073 }
00074 
00075 
00076 void GRAPHICSTOOLS::FinalPoint::setPosition(float _x,float _y,float _z)
00077 {
00078         x=_x;
00079         y=_y;
00080         z=_z;
00081 }
00082 
00083 float GRAPHICSTOOLS::FinalPoint::getX()
00084 {
00085         return x;
00086 }
00087 
00088 float GRAPHICSTOOLS::FinalPoint::getY()
00089 {
00090         return y;
00091 }
00092 
00093 float GRAPHICSTOOLS::FinalPoint::getZ()
00094 {
00095         return z;
00096 }
00097 
00098 
00099 void GRAPHICSTOOLS::FinalPoint::setDeltaRot(float _deltaAlpha)
00100 {
00101         deltaAlpha=_deltaAlpha;
00102 }
00103 
00104 float GRAPHICSTOOLS::FinalPoint::getDeltaRot()
00105 {
00106         return deltaAlpha;
00107 }
00108 
00109 

Généré le Fri Mar 26 13:02:03 2004 pour AlgoAtomD par doxygen 1.3.5