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 "controler-types.hh"
00026 #include "parameters-default-values.hh"
00027 #include "parameter-eye-position.hh"
00028 #include <cassert>
00029 #include <cstring>
00030 using namespace std;
00031
00032 CParameterEyePosition::CParameterEyePosition(int ANbRef) :
00033 CParameter(ANbRef)
00034 {
00035 reinit();
00036 }
00037
00038 CParameterEyePosition::
00039 CParameterEyePosition(const CParameterEyePosition & AParam) :
00040 CParameter (AParam),
00041 FRotationAlpha(AParam.FRotationAlpha),
00042 FRotationBeta (AParam.FRotationBeta),
00043 FDistance (AParam.FDistance),
00044 FPasAvancement (AParam.FPasAvancement),
00045 FAngleRotation (AParam.FAngleRotation)
00046 {}
00047
00048 CParameterEyePosition::~CParameterEyePosition()
00049 {}
00050
00051 CParameter * CParameterEyePosition::copy() const
00052 { return new CParameterEyePosition(*this); }
00053
00054 void CParameterEyePosition::save(ostream& AStream)
00055 { AStream<<(*this); }
00056
00057 void CParameterEyePosition::load(istream& AStream)
00058 { AStream>>(*this); }
00059
00060 void CParameterEyePosition::reinit()
00061 {
00062 FRotationAlpha = DEFAULT_EYE_POSITION_ROTATION_ALPHA;
00063 FRotationBeta = DEFAULT_EYE_POSITION_ROTATION_BETA;
00064 FDistance = DEFAULT_EYE_POSITION_DISTANCE;
00065 FPasAvancement = DEFAULT_EYE_POSITION_PAS_AVANCEMENT;
00066 FAngleRotation = DEFAULT_EYE_POSITION_ANGLE_ROTATION;
00067 putAllNeedToUpdate();
00068 }
00069
00070 ostream& operator<<(ostream& AStream,
00071 const CParameterEyePosition & AParameter)
00072 {
00073 AStream<<"CParameterEyePosition:"<<endl;
00074 AStream<<" RotationAlpha: "<<AParameter.FRotationAlpha<<endl
00075 <<" RotationBeta: "<<AParameter.FRotationBeta<<endl
00076 <<" Distance: "<<AParameter.FDistance<<endl
00077 <<" PasAvancement: "<<AParameter.FPasAvancement<<endl
00078 <<" AngleRotation: "<<AParameter.FAngleRotation<<endl;
00079 AStream<<endl;
00080
00081 return AStream;
00082 }
00083
00084 istream& operator>>(istream& AStream,
00085 CParameterEyePosition & AParameter)
00086 {
00087 char tmp[256];
00088
00089 AStream>>tmp; assert ( !strcmp(tmp, "CParameterEyePosition:") );
00090
00091 AStream>>tmp; assert ( !strcmp(tmp, "RotationAlpha:") );
00092 AStream>>AParameter.FRotationAlpha;
00093
00094 AStream>>tmp; assert ( !strcmp(tmp, "RotationBeta:") );
00095 AStream>>AParameter.FRotationBeta;
00096
00097 AStream>>tmp; assert ( !strcmp(tmp, "Distance:") );
00098 AStream>>AParameter.FDistance;
00099
00100 AStream>>tmp; assert( !strcmp(tmp, "PasAvancement:") );
00101 AStream>>AParameter.FPasAvancement;
00102
00103 AStream>>tmp; assert( !strcmp(tmp, "AngleRotation:") );
00104 AStream>>AParameter.FAngleRotation;
00105
00106 AParameter.putAllNeedToUpdate();
00107
00108 return AStream;
00109 }
00110
00111 float CParameterEyePosition::getRotationAlpha() const
00112 { return FRotationAlpha; }
00113
00114 void CParameterEyePosition::setRotationAlpha(float ARotation)
00115 { FRotationAlpha= ARotation; }
00116
00117 float CParameterEyePosition::getRotationBeta() const
00118 { return FRotationBeta; }
00119
00120 void CParameterEyePosition::setRotationBeta(float ARotation)
00121 { FRotationBeta= ARotation; }
00122
00123 float CParameterEyePosition::getDistance() const
00124 { return FDistance; }
00125
00126 void CParameterEyePosition::setDistance(float ADistance)
00127 { FDistance= ADistance; }
00128
00129 void CParameterEyePosition::incRotationAlpha(float ADelta)
00130 { FRotationAlpha+= ADelta; }
00131
00132 void CParameterEyePosition::incRotationBeta(float ADelta)
00133 { FRotationBeta+= ADelta; }
00134
00135 void CParameterEyePosition::incDistance(float ADelta)
00136 { FDistance+= ADelta; }
00137
00138 int CParameterEyePosition::getType() const
00139 { return PARAMETER_EYE_POSITION; }
00140
00141 float CParameterEyePosition::getPasAvancement() const
00142 { return FPasAvancement; }
00143
00144 void CParameterEyePosition::setPasAvancement(float pas)
00145 { FPasAvancement = pas; }
00146
00147 float CParameterEyePosition::getAngleRotation() const
00148 { return FAngleRotation; }
00149
00150 void CParameterEyePosition::setAngleRotation(float angle)
00151 { FAngleRotation = angle; }
00152