00001
00002 #include <pi2d14/pi2d14_finalpoint.h>
00003
00004
00005 GRAPHICSTOOLS::FinalPoint::FinalPoint()
00006 {
00007
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
00031 alpha+=elapsedTime*deltaAlpha;
00032 }
00033
00034 void GRAPHICSTOOLS::FinalPoint::render()
00035 {
00036
00037 glPushMatrix();
00038 glTranslatef(x,y,z);
00039 glRotatef(alpha,0,0,1);
00040
00041
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
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
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