00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "view-precompile-perspective.hh"
00026 #include "parameter-eye-position.hh"
00027 #include "parameter-aimed-position.hh"
00028
00029 CViewPrecompilePerspective::
00030 CViewPrecompilePerspective(CParameterEyePosition * AParameterEyePosition,
00031 CParameterAimedPosition * AParameterAimedPosition,
00032 CParameterDrawing * AParameterDrawing) :
00033 CViewPrecompile(AParameterEyePosition,
00034 AParameterAimedPosition,
00035 AParameterDrawing)
00036 {}
00037
00038 CViewPrecompilePerspective::~CViewPrecompilePerspective()
00039 {}
00040
00041 void CViewPrecompilePerspective::setScenePosition()
00042 {
00043 setScenePositionInitialize();
00044
00045 float d = FParameterEyePosition->getDistance();
00046
00047 float p0 = FParameterAimedPosition->getLookAt(0);
00048 float p1 = FParameterAimedPosition->getLookAt(1);
00049 float p2 = FParameterAimedPosition->getLookAt(2);
00050
00051 float alpha = FParameterEyePosition->getRotationAlpha();
00052 float b = FParameterEyePosition->getRotationBeta ();
00053
00054 gluPerspective(45 , FRatio, 0.01, 10000);
00055 gluLookAt(0,-d,0, 0,0,0, 0,0,1);
00056
00057 glRotatef(-b, 1, 0, 0);
00058 glRotatef(-alpha, 0, 0, 1);
00059
00060 glTranslatef(-p0,-p1,-p2);
00061
00062 setScenePositionFinalize();
00063 }
00064