00001 #include "SIGEL_Environment/SIG_Environment.h"
00002
00003 namespace SIGEL_Environment {
00004
00005 SIG_Environment::SIG_Environment()
00006 : gravity(0,-9.81,0),
00007 yPlaneLevel(0),
00008 veloDamping(0.995),
00009 startPosition(0,1,0),
00010 floorMaterialName("floor"),
00011 groundPlanarSpringConstant(5500),
00012 groundNormalSpringConstant(7500),
00013 groundPlanarDamperConstant(50),
00014 groundNormalDamperConstant(50),
00015 frictionCoeff_u_s(1.5),
00016 frictionCoeff_u_k(1)
00017 {
00018
00019 };
00020
00021 SIG_Environment::SIG_Environment(DL_vector newGravity, double newYPlaneLevel,
00022 double newVeloDamping, DL_vector newStartPosition,
00023 QString newFloorMaterialName, double newGroundPlanarSpringConstant,
00024 double newGroundNormalSpringConstant, double newGroundPlanarDamperConstant,
00025 double newGroundNormalDamperConstant, double newFrictionCoeff_u_s,
00026 double newFrictionCoeff_u_k)
00027 : gravity(newGravity),
00028 yPlaneLevel(newYPlaneLevel),
00029 veloDamping(newVeloDamping),
00030 startPosition(newStartPosition),
00031 floorMaterialName(newFloorMaterialName),
00032 groundPlanarSpringConstant(newGroundPlanarSpringConstant),
00033 groundNormalSpringConstant(newGroundNormalSpringConstant),
00034 groundPlanarDamperConstant(newGroundPlanarDamperConstant),
00035 groundNormalDamperConstant(newGroundNormalDamperConstant),
00036 frictionCoeff_u_s(newFrictionCoeff_u_s),
00037 frictionCoeff_u_k(newFrictionCoeff_u_k)
00038 {
00039
00040 };
00041
00042 void SIG_Environment::readFromFile(QTextStream& file)
00043 {
00044 QString s;
00045 s=file.readLine();
00046 s=file.readLine();
00047 yPlaneLevel=s.toDouble();
00048 s=file.readLine();
00049 s=file.readLine();
00050 veloDamping=s.toDouble();
00051 s=file.readLine();
00052 s=file.readLine();
00053 gravity.x=s.toDouble();
00054 s=file.readLine();
00055 gravity.y=s.toDouble();
00056 s=file.readLine();
00057 gravity.z=s.toDouble();
00058 s=file.readLine();
00059 s=file.readLine();
00060 startPosition.x=s.toDouble();
00061 s=file.readLine();
00062 startPosition.y=s.toDouble();
00063 s=file.readLine();
00064 startPosition.z=s.toDouble();
00065 s=file.readLine();
00066 floorMaterialName=file.readLine();
00067 s=file.readLine();
00068 s=file.readLine();
00069 groundPlanarSpringConstant=s.toDouble();
00070 s=file.readLine();
00071 s=file.readLine();
00072 groundNormalSpringConstant=s.toDouble();
00073 s=file.readLine();
00074 s=file.readLine();
00075 groundPlanarDamperConstant=s.toDouble();
00076 s=file.readLine();
00077 s=file.readLine();
00078 groundNormalDamperConstant=s.toDouble();
00079 s=file.readLine();
00080 s=file.readLine();
00081 frictionCoeff_u_s=s.toDouble();
00082 s=file.readLine();
00083 s=file.readLine();
00084 frictionCoeff_u_k=s.toDouble();
00085 };
00086
00087 SIG_Environment::SIG_Environment(QTextStream& file)
00088 {
00089 readFromFile(file);
00090 };
00091 void SIG_Environment::writeToFile(QTextStream& file)
00092 {
00093 file << "YPLANELEVEL\n";
00094 file << yPlaneLevel << "\n";
00095 file << "VELODAMPING\n";
00096 file << veloDamping << "\n";
00097 file << "GRAVITY\n";
00098 file << gravity.x << "\n";
00099 file << gravity.y << "\n";
00100 file << gravity.z << "\n";
00101 file << "STARTPOSITION\n";
00102 file << startPosition.x << "\n";
00103 file << startPosition.y << "\n";
00104 file << startPosition.z << "\n";
00105 file << "FLOORMATERIALNAME\n";
00106 file << floorMaterialName << "\n";
00107
00108 file << "GPSconst\n";
00109 file << groundPlanarSpringConstant << "\n";
00110 file << "GNSconst\n";
00111 file << groundNormalSpringConstant << "\n";
00112 file << "GPDconst\n";
00113 file << groundPlanarDamperConstant << "\n";
00114 file << "GNDconst\n";
00115 file << groundNormalDamperConstant << "\n";
00116 file << "USFcoeff\n";
00117 file << frictionCoeff_u_s << "\n";
00118 file << "UKFcoeff\n";
00119 file << frictionCoeff_u_k << "\n";
00120 };
00121 void SIG_Environment::setGravity(DL_vector newGravity)
00122 {
00123 gravity=newGravity;
00124 };
00125 DL_vector SIG_Environment::getGravity() const
00126 {
00127 return gravity;
00128 };
00129 void SIG_Environment::setYPlaneLevel(double newYPlaneLevel)
00130 {
00131 yPlaneLevel=newYPlaneLevel;
00132 };
00133 double SIG_Environment::getYPlaneLevel() const
00134 {
00135 return yPlaneLevel;
00136 };
00137 void SIG_Environment::setVeloDamping(double newVeloDamping)
00138 {
00139 veloDamping=newVeloDamping;
00140 };
00141 double SIG_Environment::getVeloDamping() const
00142 {
00143 return veloDamping;
00144 };
00145 void SIG_Environment::setStartPosition(DL_vector newStartPosition)
00146 {
00147 startPosition=newStartPosition;
00148 };
00149 DL_vector SIG_Environment::getStartPosition() const
00150 {
00151 return startPosition;
00152 };
00153 void SIG_Environment::setFloorMaterialName(QString newFloorMaterialName)
00154 {
00155 floorMaterialName=newFloorMaterialName;
00156 };
00157 QString SIG_Environment::getFloorMaterialName() const
00158 {
00159 return floorMaterialName;
00160 };
00161
00162 void SIG_Environment::setGroundPlanarSpringConstant(double newGroundPlanarSpringConstant)
00163 {
00164 groundPlanarSpringConstant=newGroundPlanarSpringConstant;
00165 };
00166
00167 double SIG_Environment::getGroundPlanarSpringConstant() const
00168 {
00169 return groundPlanarSpringConstant;
00170 };
00171
00172 void SIG_Environment::setGroundNormalSpringConstant(double newGroundNormalSpringConstant)
00173 {
00174 groundNormalSpringConstant=newGroundNormalSpringConstant;
00175 };
00176
00177 double SIG_Environment::getGroundNormalSpringConstant() const
00178 {
00179 return groundNormalSpringConstant;
00180 };
00181
00182 void SIG_Environment::setGroundPlanarDamperConstant(double newGroundPlanarDamperConstant)
00183 {
00184 groundPlanarDamperConstant=newGroundPlanarDamperConstant;
00185 };
00186
00187 double SIG_Environment::getGroundPlanarDamperConstant() const
00188 {
00189 return groundPlanarDamperConstant;
00190 };
00191
00192 void SIG_Environment::setGroundNormalDamperConstant(double newGroundNormalDamperConstant)
00193 {
00194 groundNormalDamperConstant=newGroundNormalDamperConstant;
00195 };
00196
00197 double SIG_Environment::getGroundNormalDamperConstant() const
00198 {
00199 return groundNormalDamperConstant;
00200 };
00201
00202 void SIG_Environment::setFrictionCoeff_u_s(double newFrictionCoeff_u_s)
00203 {
00204 frictionCoeff_u_s=newFrictionCoeff_u_s;
00205 };
00206
00207 double SIG_Environment::getFrictionCoeff_u_s() const
00208 {
00209 return frictionCoeff_u_s;
00210 };
00211
00212 void SIG_Environment::setFrictionCoeff_u_k(double newFrictionCoeff_u_k)
00213 {
00214 frictionCoeff_u_k=newFrictionCoeff_u_k;
00215 };
00216
00217 double SIG_Environment::getFrictionCoeff_u_k() const
00218 {
00219 return frictionCoeff_u_k;
00220 };
00221 }
00222
00223
00224