From: <sv...@ww...> - 2005-01-17 22:29:21
|
Author: delta Date: 2005-01-17 14:29:11 -0800 (Mon, 17 Jan 2005) New Revision: 1448 Modified: trunk/CSP/CSPSim/CHANGES.current trunk/CSP/CSPSim/Data/XML/vehicles/aircraft/m2k/gear.xml trunk/CSP/CSPSim/Include/LandingGear.h trunk/CSP/CSPSim/Source/LandingGear.cpp Log: * Minor changes in LandingGear class exposing the drag value. Also, gear dynamics now takes into account of the extension. ==> ALL USERS: RebuildData.py Browse at: https://www.zerobar.net/viewcvs/viewcvs.cgi?view=rev&rev=1448 Modified: trunk/CSP/CSPSim/CHANGES.current =================================================================== --- trunk/CSP/CSPSim/CHANGES.current 2005-01-16 10:19:28 UTC (rev 1447) +++ trunk/CSP/CSPSim/CHANGES.current 2005-01-17 22:29:11 UTC (rev 1448) @@ -1,6 +1,12 @@ Version 0.4.0 (in progress) =========================== +2005-01-17: delta + * Minor changes in LandingGear class exposing the drag value. Also, + gear dynamics now takes into account of the extension. + +==> ALL USERS: RebuildData.py + 2005-01-16: delta * A Screenshots/ directory will be created (if non existent), when a snapshot is taken. The default location is CSPSim/Screenshots and is Modified: trunk/CSP/CSPSim/Data/XML/vehicles/aircraft/m2k/gear.xml =================================================================== --- trunk/CSP/CSPSim/Data/XML/vehicles/aircraft/m2k/gear.xml 2005-01-16 10:19:28 UTC (rev 1447) +++ trunk/CSP/CSPSim/Data/XML/vehicles/aircraft/m2k/gear.xml 2005-01-17 22:29:11 UTC (rev 1448) @@ -25,6 +25,7 @@ <Float name="tire_K">1200000.0</Float> <Float name="tire_beta">1000000.0</Float> <Real name="rolling_friction">0.02:0.001</Real> + <Float name="drag_factor">0.8</Float> </Object> <Object class="LandingGear"> <!-- left main --> <String name="gear_name">LeftGear</String> @@ -44,6 +45,7 @@ <Float name="tire_beta">1000000.0</Float> <Real name="rolling_friction">0.02:0.001</Real> <Bool name="abs">true</Bool> + <Float name="drag_factor">0.8</Float> </Object> <Object class="LandingGear"> <!-- right main --> <String name="gear_name">RightGear</String> @@ -63,6 +65,7 @@ <Float name="tire_beta">1000000.0</Float> <Real name="rolling_friction">0.02:0.001</Real> <Bool name="abs">true</Bool> + <Float name="drag_factor">0.8</Float> </Object> </List> <List name="gear_set_animation"> Modified: trunk/CSP/CSPSim/Include/LandingGear.h =================================================================== --- trunk/CSP/CSPSim/Include/LandingGear.h 2005-01-16 10:19:28 UTC (rev 1447) +++ trunk/CSP/CSPSim/Include/LandingGear.h 2005-01-17 22:29:11 UTC (rev 1448) @@ -62,6 +62,7 @@ SIMDATA_XML("abs", LandingGear::m_ABS, false) SIMDATA_XML("rolling_friction", LandingGear::m_RollingFriction, false) SIMDATA_XML("brake_steering_linkage", LandingGear::m_BrakeSteeringLinkage, false) + SIMDATA_XML("drag_factor", LandingGear::m_DragFactor, false) END_SIMDATA_XML_INTERFACE LandingGear(); @@ -168,6 +169,8 @@ bool m_SkidFlag; double m_ABSActiveTimer; + double m_DragFactor; + simdata::Vector3 m_Position; simdata::Vector3 m_NormalForce; simdata::Vector3 m_TangentForce; Modified: trunk/CSP/CSPSim/Source/LandingGear.cpp =================================================================== --- trunk/CSP/CSPSim/Source/LandingGear.cpp 2005-01-16 10:19:28 UTC (rev 1447) +++ trunk/CSP/CSPSim/Source/LandingGear.cpp 2005-01-17 22:29:11 UTC (rev 1448) @@ -104,6 +104,7 @@ m_TireRotation = 0.0; m_TireRotationRate = 0.0; m_TireRadius = 0.25; + m_DragFactor = 0.8; } @@ -139,15 +140,13 @@ void LandingGear::setBraking(double setting) { - if (setting < 0.0) setting = 0.0; - if (setting > 1.0) setting = 1.0; + setting = simdata::clampTo(setting,-1.0,1.0); m_BrakeSetting = setting; } double LandingGear::setSteering(double setting, double link_brakes) { - if (setting > 1.0) setting = 1.0; - if (setting < -1.0) setting = -1.0; + setting = simdata::clampTo(setting,-1.0,1.0); m_BrakeSteer = setting * link_brakes * m_BrakeSteeringLinkage; m_SteerAngle = setting * m_SteeringLimit; double rad = toRadians(m_SteerAngle); @@ -158,7 +157,7 @@ double LandingGear::getDragFactor() const { // XXX very temporary hack (need xml, partial extension, etc) - if (m_Extended) return 1.0; // just a random value + if (m_Extended) return m_DragFactor; return 0.0; } @@ -558,8 +557,8 @@ for (size_t i = 0; i < n; ++i) { LandingGear &gear = *(m_Gear[i]); double extension = 1.0; - //if (b_GearExtension[i].valid() - // extension = b_GearExtension[i]->value() + if (b_GearExtension.valid()) + extension = b_GearExtension->value(); Vector3 R = extension * gear.getPosition(); Vector3 F = Vector3::ZERO; if (b_NearGround->value()) { @@ -570,7 +569,7 @@ m_Height, m_GroundNormalBody); } - F += gear.getDragFactor() * dynamic_pressure; + F += extension * gear.getDragFactor() * dynamic_pressure; m_Force += F; m_Moment += (R ^ F); } |