You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(47) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(140) |
Feb
(98) |
Mar
(152) |
Apr
(104) |
May
(71) |
Jun
(94) |
Jul
(169) |
Aug
(83) |
Sep
(47) |
Oct
(134) |
Nov
(7) |
Dec
(20) |
2004 |
Jan
(41) |
Feb
(14) |
Mar
(42) |
Apr
(47) |
May
(68) |
Jun
(143) |
Jul
(65) |
Aug
(29) |
Sep
(40) |
Oct
(34) |
Nov
(33) |
Dec
(97) |
2005 |
Jan
(29) |
Feb
(30) |
Mar
(9) |
Apr
(37) |
May
(13) |
Jun
(31) |
Jul
(22) |
Aug
(23) |
Sep
|
Oct
(37) |
Nov
(34) |
Dec
(117) |
2006 |
Jan
(48) |
Feb
(6) |
Mar
(2) |
Apr
(71) |
May
(10) |
Jun
(16) |
Jul
(7) |
Aug
(1) |
Sep
(14) |
Oct
(17) |
Nov
(25) |
Dec
(26) |
2007 |
Jan
(8) |
Feb
(2) |
Mar
(7) |
Apr
(26) |
May
|
Jun
(12) |
Jul
(30) |
Aug
(14) |
Sep
(9) |
Oct
(4) |
Nov
(7) |
Dec
(6) |
2008 |
Jan
(10) |
Feb
(10) |
Mar
(6) |
Apr
(8) |
May
|
Jun
(10) |
Jul
(18) |
Aug
(15) |
Sep
(16) |
Oct
(5) |
Nov
(3) |
Dec
(10) |
2009 |
Jan
(11) |
Feb
(2) |
Mar
|
Apr
(15) |
May
(31) |
Jun
(18) |
Jul
(11) |
Aug
(26) |
Sep
(52) |
Oct
(17) |
Nov
(4) |
Dec
|
2010 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <mk...@us...> - 2003-06-27 08:14:12
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv5286 Modified Files: Makefile.in Log Message: creates .deps/Theater, commented gnucc2 flags Index: Makefile.in =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/Makefile.in,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** Makefile.in 26 Jun 2003 09:25:23 -0000 1.16 --- Makefile.in 27 Jun 2003 08:14:09 -0000 1.17 *************** *** 16,20 **** INCLUDE = -I$(TOPDIR)/Include $(DEMETER_INCLUDE) $(CHUNKLOD_INCLUDE) -I@PYTHON_INCLUDE@ ! BASEFL = $(GDEBUGF) $(GCFLAGS) $(INCLUDE) @SDL_FLAGS@ @CCGNU2_FLAGS@ CFLAGS = $(filter-out -I/usr/local/include, $(BASEFL)) SWCXXF = $(GCFLAGS) $(INCLUDE) --- 16,20 ---- INCLUDE = -I$(TOPDIR)/Include $(DEMETER_INCLUDE) $(CHUNKLOD_INCLUDE) -I@PYTHON_INCLUDE@ ! BASEFL = $(GDEBUGF) $(GCFLAGS) $(INCLUDE) @SDL_FLAGS@ #@CCGNU2_FLAGS@ CFLAGS = $(filter-out -I/usr/local/include, $(BASEFL)) SWCXXF = $(GCFLAGS) $(INCLUDE) *************** *** 91,95 **** DEPFILES = $(addprefix $(DEPDIR)/,$(addsuffix .d, $(SOURCES))) $(DEPDIR)/cCSP.i.swigdep DEPFILTER = ! DEPS_MAGIC := $(shell mkdir $(DEPDIR) > /dev/null 2>&1 || :) .PHONY: clean-deps clean all default --- 91,95 ---- DEPFILES = $(addprefix $(DEPDIR)/,$(addsuffix .d, $(SOURCES))) $(DEPDIR)/cCSP.i.swigdep DEPFILTER = ! DEPS_MAGIC := $(shell mkdir $(DEPDIR) $(DEPDIR)/Theater > /dev/null 2>&1 || :) .PHONY: clean-deps clean all default |
From: <mk...@us...> - 2003-06-26 22:15:12
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv3561 Modified Files: Sky.cpp Log Message: Index: Sky.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/Sky.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Sky.cpp 26 Jun 2003 09:25:23 -0000 1.14 --- Sky.cpp 26 Jun 2003 22:15:09 -0000 1.15 *************** *** 583,587 **** osg::Depth *depth = new osg::Depth; depth->setFunction(osg::Depth::ALWAYS); ! depth->setRange(1.0, 2000000.0); dstate->setAttributeAndModes(depth, osg::StateAttribute::OFF); --- 583,587 ---- osg::Depth *depth = new osg::Depth; depth->setFunction(osg::Depth::ALWAYS); ! depth->setRange(1.0, 1.0); dstate->setAttributeAndModes(depth, osg::StateAttribute::OFF); *************** *** 1224,1228 **** m_SkyDome->setColorBinding( Geometry::BIND_PER_VERTEX ); ! StateSet *dstate = new StateSet; if (1) { --- 1224,1228 ---- m_SkyDome->setColorBinding( Geometry::BIND_PER_VERTEX ); ! // XXX XXX StateSet *dstate = new StateSet; if (1) { *************** *** 1248,1270 **** m_SkyDomeTextureImage = image; m_SkyDomeTexture = tex; ! dstate->setTextureAttributeAndModes(0, m_SkyDomeTexture.get(), StateAttribute::ON); ! dstate->setTextureAttributeAndModes(0, new TexEnv); } - dstate->setMode(GL_LIGHTING, StateAttribute::OFF); - dstate->setMode(GL_CULL_FACE, StateAttribute::OFF); - dstate->setMode(GL_DEPTH_TEST, StateAttribute::OFF); - // clear the depth to the far plane. osg::Depth* depth = new osg::Depth; depth->setFunction(osg::Depth::ALWAYS); depth->setRange(1.0, 1.0); dstate->setAttributeAndModes(depth,StateAttribute::OFF); ! dstate->setMode(GL_FOG, osg::StateAttribute::OFF); ! dstate->setRenderBinDetails(-2,"RenderBin"); ! m_SkyDome->setStateSet(dstate); m_StarDome = new StarSystem(); ! m_StarDome->setStateSet(dstate); osg::Geode *geode = new osg::Geode(); --- 1248,1283 ---- m_SkyDomeTextureImage = image; m_SkyDomeTexture = tex; ! StateSet *dome_state = m_SkyDome->getOrCreateStateSet(); ! dome_state->setTextureAttributeAndModes(0, m_SkyDomeTexture.get(), StateAttribute::ON); ! dome_state->setTextureAttributeAndModes(0, new TexEnv); ! dome_state->setMode(GL_LIGHTING, StateAttribute::OFF); ! dome_state->setMode(GL_CULL_FACE, StateAttribute::OFF); ! dome_state->setMode(GL_DEPTH_TEST, StateAttribute::OFF); ! dome_state->setMode(GL_FOG, osg::StateAttribute::OFF); ! dome_state->setRenderBinDetails(-2,"RenderBin"); ! osg::Depth* depth = new osg::Depth; ! depth->setFunction(osg::Depth::ALWAYS); ! depth->setRange(1.0, 1.0); ! dome_state->setAttributeAndModes(depth,StateAttribute::OFF); } // clear the depth to the far plane. + /* XXX XXX osg::Depth* depth = new osg::Depth; depth->setFunction(osg::Depth::ALWAYS); depth->setRange(1.0, 1.0); dstate->setAttributeAndModes(depth,StateAttribute::OFF); ! */ m_StarDome = new StarSystem(); ! StateSet *star_state = m_StarDome->getOrCreateStateSet(); ! star_state->setMode(GL_LIGHTING, StateAttribute::OFF); ! star_state->setMode(GL_CULL_FACE, StateAttribute::OFF); ! star_state->setMode(GL_DEPTH_TEST, StateAttribute::OFF); ! star_state->setMode(GL_FOG, osg::StateAttribute::OFF); ! osg::Depth* depth = new osg::Depth; ! depth->setFunction(osg::Depth::ALWAYS); ! depth->setRange(1.0, 1.0); ! star_state->setAttributeAndModes(depth,StateAttribute::OFF); osg::Geode *geode = new osg::Geode(); |
From: <mk...@us...> - 2003-06-26 20:45:52
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Include In directory sc8-pr-cvs1:/tmp/cvs-serv20524 Removed Files: BasePhysics.h Log Message: not used --- BasePhysics.h DELETED --- |
From: <mk...@us...> - 2003-06-26 10:12:04
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim In directory sc8-pr-cvs1:/tmp/cvs-serv17100 Modified Files: CHANGES.current Log Message: Index: CHANGES.current =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/CHANGES.current,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** CHANGES.current 26 Jun 2003 09:59:05 -0000 1.35 --- CHANGES.current 26 Jun 2003 10:12:01 -0000 1.36 *************** *** 2,5 **** --- 2,17 ---- =========================== + 2003-06-25: onsight + + ==========> GCC: Large parts of ChunkLodTerrain are checked in + now, but actually running it requires that the shared + library and vertex program be available in the Bin + directory. I have this setup with symlinks in my + working copy, but it isn't a good long term solution. + Also, several XML files needed for ChunkLodTerrain + to run are not in cvs. Stick with Demeter for now + and I'll work on getting the the interface to + ChunkLod cleaned up soon. + 2003-06-24: onsight Added Profile.h which has simple but handy profiling |
From: <mk...@us...> - 2003-06-26 10:08:55
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Include In directory sc8-pr-cvs1:/tmp/cvs-serv16412 Added Files: DamageModifier.h Log Message: --- NEW FILE: DamageModifier.h --- // Combat Simulator Project - FlightSim Demo // Copyright (C) 2002 The Combat Simulator Project // http://csp.sourceforge.net // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** * @file DamageModifier.h * **/ #ifndef __DAMAGEMODIFIER_H__ #define __DAMAGEMODIFIER_H__ #include <SimData/Object.h> #include <SimData/InterfaceRegistry.h> /** * clss DamageModifier (STATIC) * * Damage modifiers reflect the resistance of an object to * various types of weapons. * */ class DamageModifier: public simdata::Object { public: char m_Incendiary; char m_HighExplosive; char m_Penetrating; char m_ArmorPiercing; char m_SmallArms; // etc SIMDATA_OBJECT(DamageModifier, 0, 0) BEGIN_SIMDATA_XML_INTERFACE(DamageModifier) SIMDATA_XML("incediary", DamageModifier::m_Incendiary, false) SIMDATA_XML("high_explosive", DamageModifier::m_HighExplosive, false) SIMDATA_XML("penetrating", DamageModifier::m_Penetrating, false) SIMDATA_XML("armor_piercing", DamageModifier::m_ArmorPiercing, false) SIMDATA_XML("small_arms", DamageModifier::m_SmallArms, false) END_SIMDATA_XML_INTERFACE DamageModifier() {} virtual ~DamageModifier() {} virtual void pack(simdata::Packer& p) const { Object::pack(p); p.pack(m_Incendiary); p.pack(m_HighExplosive); p.pack(m_Penetrating); p.pack(m_ArmorPiercing); p.pack(m_SmallArms); } virtual void unpack(simdata::UnPacker& p) { Object::unpack(p); p.unpack(m_Incendiary); p.unpack(m_HighExplosive); p.unpack(m_Penetrating); p.unpack(m_ArmorPiercing); p.unpack(m_SmallArms); } virtual void postCreate() {} }; #endif // __DAMAGEMODIFIER_H__ |
From: <mk...@us...> - 2003-06-26 09:59:08
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim In directory sc8-pr-cvs1:/tmp/cvs-serv15309 Modified Files: CHANGES.current Log Message: Index: CHANGES.current =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/CHANGES.current,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** CHANGES.current 26 Jun 2003 09:29:15 -0000 1.34 --- CHANGES.current 26 Jun 2003 09:59:05 -0000 1.35 *************** *** 51,54 **** --- 51,57 ---- Source/Theater need to be added to the project. + ==========> WIN: Add ChunkLodTerrain.cpp and DemeterTerrain.cpp to + the project. + Changed BaseDynamics::update(dt) to computeForceAndMoment(x) to reduce confusion with other update methods in the sim |
From: <mk...@us...> - 2003-06-26 09:57:57
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Include In directory sc8-pr-cvs1:/tmp/cvs-serv14984 Added Files: Log.i Log Message: Log.i --- NEW FILE: Log.i --- // Combat Simulator Project - FlightSim Demo // Copyright (C) 2002 The Combat Simulator Project // http://csp.sourceforge.net // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. %module Log %{ #include "Log.h" %} %include "Log.h" |
From: <mk...@us...> - 2003-06-26 09:34:26
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/vehicles/aircraft/m2k In directory sc8-pr-cvs1:/tmp/cvs-serv11999 Modified Files: gear.xml model.xml Log Message: new landing gear parameters and improved view placement Index: gear.xml =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/vehicles/aircraft/m2k/gear.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** gear.xml 19 Jun 2003 19:32:36 -0000 1.1 --- gear.xml 26 Jun 2003 09:34:23 -0000 1.2 *************** *** 16,25 **** <Float name="compression_limit">0.5</Float> <Float name="K">200000.0</Float> ! <Float name="beta">10000.0</Float> ! <Float name="brake_limit">3000.0</Float> ! <Float name="static_friction">0.7</Float> ! <Float name="dynamic_friction">0.5</Float> <Float name="steering_limit">45.0</Float> ! <Float name="tire_K">200000.0</Float> </Object> <Object class="LandingGear"> <!-- left main --> --- 16,30 ---- <Float name="compression_limit">0.5</Float> <Float name="K">200000.0</Float> ! <Float name="beta">40000.0</Float> ! ! <!--Float name="brake_limit">10000.0</Float> ! <Float name="brake_slip">0.8</Float--> <Float name="steering_limit">45.0</Float> ! ! <Float name="tire_static_friction">0.8</Float> ! <Float name="tire_skid_friction">0.4</Float> ! <Float name="tire_K">600000.0</Float> ! <Float name="tire_beta">100000.0</Float> ! <Float name="rolling_friction">0.02</Float> </Object> <Object class="LandingGear"> <!-- left main --> *************** *** 29,37 **** <Float name="compression_limit">0.5</Float> <Float name="K">300000.0</Float> ! <Float name="beta">10000.0</Float> ! <Float name="brake_limit">3000.0</Float> ! <Float name="static_friction">0.7</Float> ! <Float name="dynamic_friction">0.5</Float> ! <Float name="tire_K">200000.0</Float> </Object> <Object class="LandingGear"> <!-- right main --> --- 34,47 ---- <Float name="compression_limit">0.5</Float> <Float name="K">300000.0</Float> ! <Float name="beta">60000.0</Float> ! <Float name="brake_limit">40000.0</Float> ! <Float name="brake_slip">0.8</Float> ! <Float name="brake_steering_linkage">-1.0</Float> ! <Float name="tire_static_friction">0.8</Float> ! <Float name="tire_skid_friction">0.4</Float> ! <Float name="tire_K">600000.0</Float> ! <Float name="tire_beta">100000.0</Float> ! <Float name="rolling_friction">0.02</Float> ! <Bool name="abs">true</Bool> </Object> <Object class="LandingGear"> <!-- right main --> *************** *** 41,49 **** <Float name="compression_limit">0.5</Float> <Float name="K">300000.0</Float> ! <Float name="beta">10000.0</Float> ! <Float name="brake_limit">3000.0</Float> ! <Float name="static_friction">0.7</Float> ! <Float name="dynamic_friction">0.5</Float> ! <Float name="tire_K">200000.0</Float> </Object> </List> --- 51,64 ---- <Float name="compression_limit">0.5</Float> <Float name="K">300000.0</Float> ! <Float name="beta">60000.0</Float> ! <Float name="brake_limit">40000.0</Float> ! <Float name="brake_slip">0.8</Float> ! <Float name="brake_steering_linkage">1.0</Float> ! <Float name="tire_static_friction">0.8</Float> ! <Float name="tire_skid_friction">0.4</Float> ! <Float name="tire_K">600000.0</Float> ! <Float name="tire_beta">100000.0</Float> ! <Float name="rolling_friction">0.02</Float> ! <Bool name="abs">true</Bool> </Object> </List> Index: model.xml =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/vehicles/aircraft/m2k/model.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** model.xml 19 Jun 2003 18:10:21 -0000 1.9 --- model.xml 26 Jun 2003 09:34:23 -0000 1.10 *************** *** 7,11 **** <Vector name="axis_1">0 1 0</Vector> <Float name="scale">1.0</Float> ! <Vector name="view_point">0.0 4.5 0.65</Vector> <List name="contacts"> <Vector>0.0 8.55 -0.4</Vector> --- 7,11 ---- <Vector name="axis_1">0 1 0</Vector> <Float name="scale">1.0</Float> ! <Vector name="view_point">0.0 4.65 0.65</Vector> <List name="contacts"> <Vector>0.0 8.55 -0.4</Vector> *************** *** 19,23 **** <Vector>0.0 0.0 -0.75</Vector> <!-- view point --> ! <Vector>0.0 4.5 0.65</Vector> </List> <List name="landing_gear"> --- 19,23 ---- <Vector>0.0 0.0 -0.75</Vector> <!-- view point --> ! <Vector>0.0 4.65 0.65</Vector> </List> <List name="landing_gear"> |
From: <mk...@us...> - 2003-06-26 09:32:50
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/vehicles/aircraft In directory sc8-pr-cvs1:/tmp/cvs-serv11624 Modified Files: m2k.xml Log Message: lower mass typical of a clean configuration Index: m2k.xml =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/vehicles/aircraft/m2k.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** m2k.xml 19 Jun 2003 18:09:37 -0000 1.5 --- m2k.xml 26 Jun 2003 09:32:44 -0000 1.6 *************** *** 19,24 **** <!-- Mass/Inertial properties --> <!-- these values come from a FS2k2 add-on --> - <Float name="mass">15000.0</Float> <Matrix name="inertia"> 171554.0 0.0 0.0 --- 19,25 ---- <!-- Mass/Inertial properties --> + <!-- empty mass = 7600 kg --> + <Float name="mass">10000.0</Float> <!-- these values come from a FS2k2 add-on --> <Matrix name="inertia"> 171554.0 0.0 0.0 |
From: <mk...@us...> - 2003-06-26 09:31:38
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/terrain In directory sc8-pr-cvs1:/tmp/cvs-serv11504 Modified Files: balkan.xml Log Message: updated to use DemeterTerrain class Index: balkan.xml =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/terrain/balkan.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** balkan.xml 26 Mar 2003 10:18:53 -0000 1.2 --- balkan.xml 26 Jun 2003 09:31:34 -0000 1.3 *************** *** 1,5 **** <?xml version="1.0" standalone="no"?> ! <Object class="TerrainObject"> <Int name="use_dynamic_textures">0</Int> <Int name="use_texture_compression">1</Int> --- 1,5 ---- <?xml version="1.0" standalone="no"?> ! <Object class="DemeterTerrain"> <Int name="use_dynamic_textures">0</Int> <Int name="use_texture_compression">1</Int> *************** *** 19,22 **** --- 19,25 ---- <Float name="vertex_height">0.38</Float> <Float name="detail_threshold">8</Float> + <LLA name="center">41.6450 16.0057 0.0</LLA> + <Float name="width">1024000</Float> + <Float name="height">1024000</Float> </Object> |
From: <mk...@us...> - 2003-06-26 09:30:06
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data In directory sc8-pr-cvs1:/tmp/cvs-serv11365 Modified Files: CSPSim.ini Log Message: Index: CSPSim.ini =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Data/CSPSim.ini,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** CSPSim.ini 13 May 2003 21:20:10 -0000 1.10 --- CSPSim.ini 26 Jun 2003 09:30:03 -0000 1.11 *************** *** 2,36 **** [Debug] ! LoggingLevel = 5 ! Battlefield = 0 [Screen] ! Height = 768 ! Width = 1024 FullScreen = 0 [Paths] - ModelPath = ../Data/Models - InputMapPath = ../Data/Input DataPath = ../Data ! ImagePath = ../Data/Images ! FontPath = ../Data/Fonts ! TerrainPath = ../Data/Terrain ! SoundPath = ../Data/Sounds [View] Wireframe = false ! ViewDistance = 40000 Fog = true ! FogStart = 20000 ! FogEnd = 35000 [Testing] - Date = 2003-05-04 12:00:00.0 - Latitude = 43.43 - Longitude = 5.55 Mute = true Theater = sim:theater.balkan ! ; Vehicle = sim:vehicles.aircraft.m3c --- 2,50 ---- [Debug] ! LoggingLevel = 0 ! Battlefield = 1 ! Demeter = true [Screen] ! Height = 1024 ! Width = 1280 FullScreen = 0 [Paths] DataPath = ../Data ! FontPath = Fonts ! ModelPath = Models ! ImagePath = Images ! SoundPath = Sounds ! TerrainPath = Terrain ! InputMapPath = Input [View] Wireframe = false ! ViewDistance = 100000 Fog = true ! FogStart = 10000 ! FogEnd = 100000 [Testing] Mute = true + + ; balkan theater (demeter) Theater = sim:theater.balkan ! Latitude = 43.43 ! Longitude = 5.5 ! Date = 2003-05-15 04:19:30 + ; northern CA theater (chunkedLod) + ;Theater = sim:theater.nca + ;Latitude = 37.0 + ;Longitude = -122.0 + ;Date = 2003-05-15 14:19:30 + + Vehicle = sim:vehicles.aircraft.m2k + ;Vehicle = sim:vehicles.aircraft.m3c + + MudBubbleRadius = 40000 + AirBubbleRadius = 80000 + VisualRadius = 40000 |
From: <mk...@us...> - 2003-06-26 09:29:18
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim In directory sc8-pr-cvs1:/tmp/cvs-serv11273 Modified Files: CHANGES.current Log Message: Index: CHANGES.current =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/CHANGES.current,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** CHANGES.current 22 Jun 2003 08:59:29 -0000 1.33 --- CHANGES.current 26 Jun 2003 09:29:15 -0000 1.34 *************** *** 2,5 **** --- 2,80 ---- =========================== + 2003-06-24: onsight + Added Profile.h which has simple but handy profiling + macros. There's a new PROFILE log target in Log.h as + well. + + CSPSim.py now takes a --log parameter to specify which + log targets to record. E.g.: + + CSPSim.py --log=PROFILE,PHYSICS + + Note that if multiple targets are specified they must + be separated by commas (,) with no spaces. The target + names are the same as in Log.h, but without the leading + 'CSP_'. + + Changed EngineDynamics to only reevaluate the thrust + during the preSimulationStep() call, rather than during + update(). This should still provide more than enough time + resolution. + + Reimplemented the ground collision code to simplify the + design and fix some bugs. + + Reimplemented the landing gear dynamics code. The design + is somewhat saner now, and most importantly it does not + make internal state changes during the rk evaluations. + The monolithic simulation method is now broken into more + manageable pieces, and some new features such as brake + temperature modeling have been added. There is still + some numerical instability when the wheels are locked and + the system behaves as a stiff harmonic oscillator (tires). + When the damping is too high, extreme instabilities can + occur. Even without violent behavior, the rk code generally + slows down and works too hard trying to simulate the + oscillation. Not sure at this point how best to fix the + problem. + + Updated the GCC Makefile.in. Probably more changes still + needed to integrate CSPChunkLod smoothly. + + ==========> WIN: Changed *PhysicModel to *PhysicsModel. Update the + project files accordingly: + PhysicsModel.cpp + AircraftPhysicsModel.cpp + + ==========> WIN: Theater code now in separate subdirectories under + Include/Theater and Source/Theater. All the files in + Source/Theater need to be added to the project. + + Changed BaseDynamics::update(dt) to computeForceAndMoment(x) + to reduce confusion with other update methods in the sim + that take real (sequential) time interval parameters. + + 2003-06-22: onsight + Added StateSet to text objects to disable texturing with + tex units 1-3. Shouldn't be necessary, but it helps to keep + the text from disappearing when terrain multitexturing is + enabled. This is just a bandaid, not a cure. + + Implemented brake_limit for landing gear. This is the + maximum static force (in newtons) that each brake can produce + (independent of tire friction). It should be set to zero + for wheels that do not have brakes. + + Fixed a bug in the brake lowpass filter that reduced the + brake setting by 1/2. + + Added brake-steering linkage, which allows much tighter + turning radii. Set brake_steering_linkage to -1.0 for + left-side gear and +1.0 for right-side gear. An additional + multiplier is passed as the second parameter to setSteering. + Brake-steering adds to normal braking, but the total + braking force is still constrained to [0, brake_limit] of + course. + 2003-06-20: delta Moved updateNearGround() outside loop in AircraftPhysicModel::doSimStep. *************** *** 10,13 **** --- 85,101 ---- added EngineDynamics::setThrottle. + 2003-06-19: onsight + Fixes in AircraftPhysicModel::doSimStep to correctly update + position when multiple internal timesteps are used. + + Added missing Feature.cpp. Together with the postCreate + fix to SimData, makeFeatures is now running correctly. + + The postCreate fix also cures the gear sprite placement + problem when starting in the air. + + Renamed osgChunkLod-double director to CSPChunkLod, which + is now in cvs. + 2003-06-19: delta ==========> GCC USERS: add Engine.cpp, BaseDynamics.cpp, Collision.cpp, *************** *** 55,68 **** --- 143,265 ---- ~SmokeTrailSystem() and ~SceneModel(). + 2003-06-11: onsight + Added a link from Feature to the associated FeatureObjectModel. + + Added an "elevation correction" option to ObjectModel. The + default is true, which means that features will be floated + relative to the local terrain elevation. If false, Z=0 is + the reference elevation for the model. This can be used for + models that are decaled to the terrain surface and already + incorporate the local elevation variations. In principle, + this functionality and some other parts (e.g. contacts) should + be separated into subclases of ObjectModel (VehicleObjectModel, + DecalObjectModel, FeatureObjectModel, etc). + + 2003-05-14: onsight + Some battlefield code cleanup. + + New --log=XXX:YYY option for CSPSim to set the logging + classes. For example: --log=APP:BATTLEFIELD:PROFILE + + Use for the new SimData LLA class to specify object coordinates + in latitude, longitude, altitude. TerrainObject now defines + a center latitude and longitude (set in XML), and the geographic + coordinates around this point are mapped into the sim's flat + coordinate space using a secant gnomonic projection. This + projection is not the same as was used for the Balkan terrain, + so object coordinates will not exactly match the terrain. + Internally, the (x, y) coordinate system is now relative to the + center of the terrain rather than the southwestern corner. The + internal coordinates used by demeter are unchanged, so an + offset is applied whenever camera positions are passed to + demeter. + + 2003-05-06: onsight + New RandomForestModel for building random assortments of + 'X' quads. I haven't been able to turn of back-face culling + (not sure the normals would work out right even if I could), + so I'm drawing 4 quads per tree (both sides of each plane of + the 'X'). Seems to work, and is faster than billboarding, + but doesn't look as nice especially wrt lighting. + + Added normals to billboard quads, renamed the class to + FeatureQuad. + + Changed the interactions of LayoutTransform, FeatureSceneModel, + and ElevationCorrection. Fixed the elevation correction. + + Renamed m_fdisToObject and m_fangleRot* to m_DistanceToObject + and m_AngleRot* in GameScreen. Added m_MinimumDistance which + is set to the active object's bounding sphere radius plus a + couple meters. The prevents clipping of the model by the + near plane in external views. You can still clip into other + models that are nearby of course. + + Added a second SceneView to VirtualScene. The original SceneView + is now called m_FarView, and the new one is m_NearView. NearView + has the lighting group, and a group for objects near the camera. + NearView is only used if this later group is not empty. + VirtualScene::draw() first renders the FarView with the near + clip plane set to 1-3 m. This relatively large value helps to + reduce Z-fighting far from the camera. Then the depth buffer is + cleared and NearView is rendered with the depth frustum from 1 + cm to 100 m. Typically the player's vehicle and interface is + rendered in the NearView for internal views. GameScreen manages + whether the NearView or FarView is used based on the current + viewing mode (internal or external). + + Additional fixes to the HID keystate tracker. + + 2003-05-05: onsight + Added HID::translate to keep track of the keyboard modifier + state for each key that is pressed, and force that modifier + state again when the key is released. So for example, if + PRESS{NUM-6} maps to "begin pan-right", and RELEASE{NUM-6} + maps to "end pan-right", then: + + PRESS{NUM-6}, PRESS{SHIFT}, RELEASE{NUM-6}, RELEASE{SHIFT} + + never sent the "end pan-right" message since the modifier state + when RELEASE{NUM-6} arrived included the shift state. The new + translate method records that PRESS{NUM-6} occurred with no + modifiers, and temporarily overrides the modifier state when + the key is released. This method is currently only called by + CSPSim::doInput(). It is called for all input events, and may + eventually find uses for other event types (e.g. joystick). + + 2003-05-04: onsight + Small fix to the camera positioning correction that prevents it + from getting "stuck" to the ground. + + Added FeatureQuad class to Terrain.h for creating textured quads + used in billboards (e.g. trees). + + Similified RandomLayoutModel to use FeatureQuad. + + Added a couple XML files for trees under Data/XML/theater/trees + + Moved the osgDB search path setup out of VirtualScene and into + CSPSim::init(). All the paths are now relative to DataPath, + and there is a new accessor function in Config.h to make it + easier to access them. For example, getDataPath("ImagePath") + will return the full path for images (DataPath + ImagePath, if + ImagePath is not absolute). + 2003-05-04: delta Added a naive control of camera such that it keeps above ground. + Updated .net project. + Added a /Zm 1000 parameter in .net projects to avoid fatal compiler error. + Changed vehicle orientation at start. + Changed some Atmosphere function members to return float instead double to avoid some warnings. + Updated CSPSim.py to take account set_output <-> setOuput for log file. + Added a vehicle to load in testing item in ini file. The vehicle is specified in Vehicle. |
From: <mk...@us...> - 2003-06-26 09:26:25
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Bin In directory sc8-pr-cvs1:/tmp/cvs-serv10855 Modified Files: CSPSim.py TestObjects.py Log Message: Index: CSPSim.py =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Bin/CSPSim.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CSPSim.py 4 May 2003 11:29:40 -0000 1.4 --- CSPSim.py 26 Jun 2003 09:26:21 -0000 1.5 *************** *** 22,28 **** --- 22,40 ---- print " --compile-data run the data compiler" print " --config=path path to config (.ini) file" + print " --log=classes set the logging classes" print " --help help message" + def setLogClasses(): + if len(log_classes) == 0: return + flags = 0 + for class_name in log_classes: + try: + class_flag = getattr(CSP, "CSP_"+class_name); + flags = flags | class_flag + except: + print "Unrecognized log class:", class_name + CSP.csplog().setLogClasses(flags) + def runCSPSim(args): if len(args): *************** *** 40,43 **** --- 52,56 ---- import Shell app = CSP.CSPSim() + setLogClasses() app.init() *************** *** 60,63 **** --- 73,77 ---- dar = os.path.join(datapath, "sim.dar") XML = os.path.join(datapath, "XML") + CSP.csplog().setLogLevels(CSP.CSP_ALL, SimData.LOG_ALERT) #print "compile %s %s" % (XML, dar) try: *************** *** 96,99 **** --- 110,114 ---- program = sys.argv[0] all_args = sys.argv[1:] + log_classes = [] other_args = [] *************** *** 111,114 **** --- 126,131 ---- elif arg.startswith("--config="): config = arg[9:] + elif arg.startswith("--log="): + log_classes.extend(arg[6:].split(':')) else: other_args.append(arg) Index: TestObjects.py =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Bin/TestObjects.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TestObjects.py 18 Apr 2003 12:07:00 -0000 1.1 --- TestObjects.py 26 Jun 2003 09:26:21 -0000 1.2 *************** *** 4,11 **** def create(app): v = SimData.Vector3 vehicle = app.createVehicle ! vehicle("sim:vehicles.aircraft.m2k", v(483010, 499010, 190.2), v(0, 100.0, 0), v(2.0, 2.0, 140.0)) ! vehicle("sim:vehicles.aircraft.m2k", v(483025, 499015, 190.2), v(0, 100.0, 0), v(5.0, 0.0, 240.0)) ! vehicle("sim:vehicles.aircraft.m2k", v(483040, 499020, 190.2), v(0, 100.0, 0), v(8.0, 1.0, 240.0)) ! vehicle("sim:vehicles.aircraft.m2k", v(483055, 499025, 190.2), v(0, 100.0, 0), v(12.0, 3.0, 240.0)) --- 4,25 ---- def create(app): v = SimData.Vector3 + m = SimData.LLA() vehicle = app.createVehicle ! # vehicle("sim:vehicles.aircraft.m2k", v(10, 10, 1000.2), v(0, 100.0, 0), v(2.0, 2.0, 140.0)) ! ! # vehicle("sim:vehicles.aircraft.m2k", v(483010, 499010, 190.2), v(0, 100.0, 0), v(2.0, 2.0, 140.0)) ! # vehicle("sim:vehicles.aircraft.m2k", v(483025, 499015, 190.2), v(0, 100.0, 0), v(5.0, 0.0, 240.0)) ! # vehicle("sim:vehicles.aircraft.m2k", v(483040, 499020, 190.2), v(0, 100.0, 0), v(8.0, 1.0, 240.0)) ! # vehicle("sim:vehicles.aircraft.m2k", v(483055, 499025, 190.2), v(0, 100.0, 0), v(12.0, 3.0, 240.0)) + + # m.setDegrees(37.5, -121.0, 600) + # vehicle("sim:vehicles.aircraft.m2k", m, v(0, 100.0, 0), v(2.0, 2.0, 2.0)) + + # m.setDegrees(37.6, -121.41, 2090) + # vehicle("sim:vehicles.aircraft.m2k", m, v(0, 100.0, 0), v(2.0, 2.0, 140.0)) + # m.setDegrees(40.6, 14.42, 2090) + # vehicle("sim:vehicles.aircraft.m2k", m, v(0, 100.0, 0), v(2.0, 2.0, 140.0)) + # m.setDegrees(42.6, 14.43, 2090) + # vehicle("sim:vehicles.aircraft.m2k", m, v(0, 100.0, 0), v(2.0, 2.0, 140.0)) + # |
From: <mk...@us...> - 2003-06-26 09:21:43
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Source/Theater In directory sc8-pr-cvs1:/tmp/cvs-serv9864/Theater Log Message: Directory /cvsroot/csp/APPLICATIONS/CSPSim/Source/Theater added to the repository |
From: <mk...@us...> - 2003-06-26 09:19:03
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Include/Theater In directory sc8-pr-cvs1:/tmp/cvs-serv9489/Theater Log Message: Directory /cvsroot/csp/APPLICATIONS/CSPSim/Include/Theater added to the repository |
From: <de...@us...> - 2003-06-25 20:25:59
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv11523 Modified Files: ScreenInfo.cpp Log Message: no message Index: ScreenInfo.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/ScreenInfo.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** ScreenInfo.cpp 19 Jun 2003 18:06:29 -0000 1.13 --- ScreenInfo.cpp 25 Jun 2003 20:25:57 -0000 1.14 *************** *** 68,73 **** m_TTFPath("ltype.ttf"), m_FontSize(15), ! m_CharacterSize(11), ! m_Text(new osgText::Text) { m_Text = makeText(posx,posy - m_CharacterSize, text); addDrawable(m_Text); --- 68,72 ---- m_TTFPath("ltype.ttf"), m_FontSize(15), ! m_CharacterSize(11) { m_Text = makeText(posx,posy - m_CharacterSize, text); addDrawable(m_Text); *************** *** 86,90 **** ! Framerate::Framerate(int posx, int posy): ScreenInfo(posx, posy, "FRAMERATE"), m_minFps(60), m_maxFps(25), m_cumul(0.0) { osgText::Text *s1 = makeText(posx + 4 * m_CharacterSize, posy - m_CharacterSize, "fps min: max: av:"); addDrawable(s1); --- 85,92 ---- ! Framerate::Framerate(int posx, int posy): ScreenInfo(posx, posy, "FRAMERATE"), m_minFps(60), m_maxFps(25), m_cumul(0.0) { ! ! m_Text->setUseDisplayList(false); ! osgText::Text *s1 = makeText(posx + 4 * m_CharacterSize, posy - m_CharacterSize, "fps min: max: av:"); addDrawable(s1); *************** *** 117,122 **** if ((++count)%1000 == 0) { // reset occasionally ! m_minFps = 100.0; ! m_maxFps = 0.0; } --- 119,124 ---- if ((++count)%1000 == 0) { // reset occasionally ! //m_minFps = 100.0; ! //m_maxFps = 0.0; } *************** *** 149,165 **** GeneralStats::GeneralStats(int posx,int posy):ScreenInfo(posx,posy,"GENERAL STATS") { float yOffset = 50.0 - m_CharacterSize; ! m_Altitude = makeText(m_CharacterSize, yOffset); addDrawable(m_Altitude); ! yOffset -= m_CharacterSize; ! m_GlobalPosition = makeText(m_CharacterSize, yOffset); addDrawable(m_GlobalPosition); yOffset -= m_CharacterSize; ! m_Velocity = makeText(m_CharacterSize, yOffset); addDrawable(m_Velocity); setUpdateCallback(new UpdateCallback); } --- 151,194 ---- GeneralStats::GeneralStats(int posx,int posy):ScreenInfo(posx,posy,"GENERAL STATS") { + osgText::Text *s1 = makeText(m_CharacterSize, posy,"Terrain Polygons:"); + addDrawable(s1); + + m_Text->setPosition(osg::Vec3(posx + 14.0 * m_CharacterSize, posy, 0.0)); + m_Text->setUseDisplayList(false); + float yOffset = 50.0 - m_CharacterSize; ! osgText::Text *s2 = makeText(m_CharacterSize,yOffset,"Altitude:"); ! addDrawable(s2); ! ! m_Altitude = makeText(8 * m_CharacterSize, yOffset); ! m_Altitude->setUseDisplayList(false); addDrawable(m_Altitude); ! yOffset -= m_CharacterSize; ! ! osgText::Text *s3 = makeText(m_CharacterSize,yOffset,"GlobalPosition:"); ! addDrawable(s3); ! ! m_GlobalPosition = makeText(12 * m_CharacterSize, yOffset); ! m_GlobalPosition->setUseDisplayList(false); addDrawable(m_GlobalPosition); yOffset -= m_CharacterSize; ! ! osgText::Text *s4 = makeText(m_CharacterSize,yOffset,"Velocity:"); ! addDrawable(s4); ! ! m_Velocity = makeText(8*m_CharacterSize, yOffset); ! m_Velocity->setUseDisplayList(false); addDrawable(m_Velocity); + osgText::Text *s5 = makeText(m_CharacterSize+24*m_CharacterSize,yOffset,"magnitude:"); + addDrawable(s5); + + m_Magnitude = makeText(33*m_CharacterSize, yOffset); + m_Magnitude->setUseDisplayList(false); + addDrawable(m_Magnitude); + setUpdateCallback(new UpdateCallback); } *************** *** 169,173 **** std::ostringstream osstr; ! osstr << "Terrain Polygons: " << CSPSim::theSim->getScene()->getTerrainPolygonsRendered(); m_Text->setText(osstr.str()); --- 198,202 ---- std::ostringstream osstr; ! osstr << CSPSim::theSim->getScene()->getTerrainPolygonsRendered(); m_Text->setText(osstr.str()); *************** *** 176,194 **** simdata::Vector3 pos = activeObject->getGlobalPosition(); osstr.str(""); ! osstr << "Altitude: " << setprecision(precision) << fixed << setw(7 + precision) << setfill('0') << pos.z - CSPSim::theSim->getBattlefield()->getElevation(pos.x,pos.y); m_Altitude->setText(osstr.str()); osstr.str(""); ! osstr << "GlobalPosition: (" << setprecision(precision) << fixed ! << setw(7 + precision) << setfill('0') << pos.x << ", "; ! osstr << setw(7 + precision) << setfill('0') << pos.y << ", " << pos.z << ")"; m_GlobalPosition->setText(osstr.str()); simdata::Vector3 vel = activeObject->getVelocity(); osstr.str(""); ! osstr << "Velocity: (" << setprecision(2) << fixed << vel.x << ", " << vel.y << ", " << vel.z << ") magnitude: " ! << vel.Length(); m_Velocity->setText(osstr.str()); } } --- 205,226 ---- simdata::Vector3 pos = activeObject->getGlobalPosition(); osstr.str(""); ! osstr << setprecision(precision) << fixed << setw(7 + precision) << setfill('0') << pos.z - CSPSim::theSim->getBattlefield()->getElevation(pos.x,pos.y); m_Altitude->setText(osstr.str()); osstr.str(""); ! osstr << "(" << setprecision(precision) << fixed ! << setw(7 + precision) << setfill('0') << pos.x << ","; ! osstr << setw(7 + precision) << setfill('0') << pos.y << "," << pos.z << ")"; m_GlobalPosition->setText(osstr.str()); simdata::Vector3 vel = activeObject->getVelocity(); osstr.str(""); ! osstr << setprecision(2) << fixed << "(" << vel.x << "," << vel.y << "," << vel.z << ")"; m_Velocity->setText(osstr.str()); + + osstr.str(""); + osstr << setprecision(2) << fixed << vel.Length(); + m_Magnitude->setText(osstr.str()); } } *************** *** 198,201 **** --- 230,241 ---- ScreenInfo(posx,posy,"OBJECT STATS") { if (activeObject.valid()) { + if (!m_ObjectStats.empty()) { + std::vector<osg::ref_ptr<osgText::Text> >::iterator it = m_ObjectStats.begin(); + std::vector<osg::ref_ptr<osgText::Text> >::const_iterator iEnd = m_ObjectStats.end(); + for (;it!=iEnd;++it) { + removeDrawable(it->get()); + } + m_ObjectStats.clear(); + } std::vector<std::string> stringStats; activeObject->getStats(stringStats); *************** *** 204,210 **** for (;n-->0;) { posy -= skip; ! osgText::Text* aStat = makeText(posx, posy); m_ObjectStats.push_back(aStat); ! addDrawable(aStat); } if (m_Text) --- 244,250 ---- for (;n-->0;) { posy -= skip; ! osg::ref_ptr<osgText::Text> aStat = makeText(posx, posy); m_ObjectStats.push_back(aStat); ! addDrawable(aStat.get()); } if (m_Text) |
From: <de...@us...> - 2003-06-25 20:25:38
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Include In directory sc8-pr-cvs1:/tmp/cvs-serv11469 Modified Files: ScreenInfo.h Log Message: no message Index: ScreenInfo.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Include/ScreenInfo.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ScreenInfo.h 19 Jun 2003 18:07:51 -0000 1.7 --- ScreenInfo.h 25 Jun 2003 20:25:34 -0000 1.8 *************** *** 67,71 **** osgText::Text* m_Altitude; osgText::Text* m_GlobalPosition; ! osgText::Text* m_Velocity; protected: ~GeneralStats(){} --- 67,71 ---- osgText::Text* m_Altitude; osgText::Text* m_GlobalPosition; ! osgText::Text* m_Velocity, *m_Magnitude; protected: ~GeneralStats(){} *************** *** 73,77 **** GeneralStats(int posx,int posy); virtual void update(); - }; --- 73,76 ---- *************** *** 80,84 **** { // input device informations ! std::vector<osgText::Text*> m_ObjectStats; protected: ~ObjectStats(){} --- 79,83 ---- { // input device informations ! std::vector<osg::ref_ptr<osgText::Text> > m_ObjectStats; protected: ~ObjectStats(){} *************** *** 86,90 **** ObjectStats(int posx,int posy, simdata::Ref<DynamicObject> const& activeObject); virtual void update(); - }; --- 85,88 ---- |
From: <mk...@us...> - 2003-06-25 20:02:25
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Include In directory sc8-pr-cvs1:/tmp/cvs-serv7293 Modified Files: Log.h Log Message: Index: Log.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Include/Log.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Log.h 4 May 2003 07:24:40 -0000 1.1 --- Log.h 25 Jun 2003 20:02:22 -0000 1.2 *************** *** 34,58 **** */ enum { ! CSP_NONE = 0x00000000, ! CSP_AUDIO = 0x00000001, ! CSP_OPENGL = 0x00000002, ! CSP_DIRECTX8 = 0x00000004, ! CSP_FILE = 0x00000008, ! CSP_INPUT = 0x00000010, ! CSP_MATH = 0x00000020, ! CSP_NETWORK = 0x00000040, ! CSP_SHARED = 0x00000080, ! CSP_WINDOW = 0x00000100, ! CSP_FACTORY = 0x00000200, ! CSP_FRAMEWORK = 0x00000400, ! CSP_LOG = 0x00000800, ! CSP_TERRAIN = 0x00001000, ! CSP_APP = 0x00002000, ! CSP_GEOMETRY = 0x00004000, ! CSP_PHYSICS = 0x00008000, ! CSP_UNDEFD = 0x00010000, // for range checking ! CSP_ALL = 0xFFFFFFFF }; --- 34,61 ---- */ enum { ! CSP_NONE = 0x00000000, ! CSP_AUDIO = 0x00000001, ! CSP_OPENGL = 0x00000002, ! CSP_PROFILE = 0x00000004, ! CSP_FILE = 0x00000008, ! CSP_INPUT = 0x00000010, ! CSP_MATH = 0x00000020, ! CSP_NETWORK = 0x00000040, ! CSP_SHARED = 0x00000080, ! CSP_WINDOW = 0x00000100, ! CSP_FACTORY = 0x00000200, ! CSP_FRAMEWORK = 0x00000400, ! CSP_LOG = 0x00000800, ! CSP_TERRAIN = 0x00001000, ! CSP_APP = 0x00002000, ! CSP_GEOMETRY = 0x00004000, ! CSP_PHYSICS = 0x00008000, ! CSP_UNDEFD = 0x00010000, // for range checking ! CSP_SCENE = 0x00020000, ! CSP_BATTLEFIELD = 0x00040000, ! CSP_OBJECT = 0x00080000, ! CSP_ALL = 0xFFFFFFFF }; |
From: <mk...@us...> - 2003-06-25 19:54:58
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Include In directory sc8-pr-cvs1:/tmp/cvs-serv5889 Added Files: Profile.h Log Message: simple profiling macros --- NEW FILE: Profile.h --- // Combat Simulator Project - FlightSim Demo // Copyright (C) 2002 The Combat Simulator Project // http://csp.sourceforge.net // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** * @file Profile.h * * Very simple profiling macros. Place PROF0(id) / PROF1(id, n) pairs * around the code you want to time. The 'id' parameter must be a unique * identifier (valid C identifier) that will be used to label the test. * The 'n' parameter is the number of times to average before recording * the result to the log file. Logging goes to the PROFILE target, so * you must enable this (--log=PROFILE on the CSPSim.py command line) to * see the timing results. Each log entry contains the 'id' identifier * and the average execution time in milliseconds. * **/ #ifndef __PROFILE_H__ #define __PROFILE_H__ #include "Log.h" #include <SimData/Date.h> #define PROF0(id) \ static int id##_c = 0; \ static simdata::SimTime id##_t = 0.0; \ simdata::SimTime id##_t0; \ id##_t0 = simdata::SimDate::getSystemTime(); #define PROF1(id, n) \ id##_t += simdata::SimDate::getSystemTime() - id##_t0; \ if (++id##_c >= n) { \ CSP_LOG(PROFILE, DEBUG, "PROF " << #id << ": " << (1000.0*id##_t/id##_c) << " ms"); \ id##_t = 0; \ id##_c = 0; \ } #endif // __PROFILE_H__ |
From: <de...@us...> - 2003-06-22 08:59:33
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim In directory sc8-pr-cvs1:/tmp/cvs-serv4561 Modified Files: CHANGES.current Log Message: no message Index: CHANGES.current =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/CHANGES.current,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** CHANGES.current 19 Jun 2003 18:04:11 -0000 1.32 --- CHANGES.current 22 Jun 2003 08:59:29 -0000 1.33 *************** *** 2,7 **** =========================== ! 2003-06-19: delta ==========> GCC USERS: add Engine.cpp, BaseDynamics.cpp, Collision.cpp, PrimaryAeroDynamics.cpp (and remove AeroDynamics.cpp from), --- 2,14 ---- =========================== ! 2003-06-20: delta ! Moved updateNearGround() outside loop in AircraftPhysicModel::doSimStep. ! Reenabled position update in _f. ! Changed RungeKuttaCK::MAXSTP = 16. ! Changed binding methods for throttle in EngineDynamics/Engine class: added ! a postCreate() method to bind every engine with EngineDynamics::m_Throttle; ! added EngineDynamics::setThrottle. + 2003-06-19: delta ==========> GCC USERS: add Engine.cpp, BaseDynamics.cpp, Collision.cpp, PrimaryAeroDynamics.cpp (and remove AeroDynamics.cpp from), *************** *** 37,43 **** In an attempt to limit fps drop with info on screen, InfoView will be updated only every x (at the moment 5) frame and a ! setDisplayList(false) has ! been added to every text on screen. Need feedback from users about ! that. Also, some "static" osgText::Texts take place in Framerate ... Removed #include "windows.h" in CSPSim.cpp. Changed position - attitude initialization. --- 44,50 ---- In an attempt to limit fps drop with info on screen, InfoView will be updated only every x (at the moment 5) frame and a ! setDisplayList(false) has been added to every text on screen. Need ! feedback from users about that. Also, some "static" osgText::Texts ! take place in Framerate ... Removed #include "windows.h" in CSPSim.cpp. Changed position - attitude initialization. |
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv4493 Modified Files: PrimaryAeroDynamics.cpp PhysicModel.cpp NumericalMethod.cpp Engine.cpp CSPSim.cpp Collision.cpp AircraftPhysicModel.cpp AircraftObject.cpp Log Message: see CHANGES.current Index: PrimaryAeroDynamics.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/PrimaryAeroDynamics.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PrimaryAeroDynamics.cpp 19 Jun 2003 18:06:29 -0000 1.1 --- PrimaryAeroDynamics.cpp 22 Jun 2003 08:59:03 -0000 1.2 *************** *** 180,184 **** m_CD_i = 1.0 / (0.9 * G_PI * m_AspectRatio); m_HalfWingArea = 0.5 * m_WingArea; ! m_depsilon = std::min(m_GMax,fabs(m_GMin)); } --- 180,184 ---- m_CD_i = 1.0 / (0.9 * G_PI * m_AspectRatio); m_HalfWingArea = 0.5 * m_WingArea; ! m_depsilon = 0.5 * std::min(m_GMax,fabs(m_GMin)); } Index: PhysicModel.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/PhysicModel.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PhysicModel.cpp 19 Jun 2003 18:06:29 -0000 1.1 --- PhysicModel.cpp 22 Jun 2003 08:59:03 -0000 1.2 *************** *** 32,36 **** DynamicalSystem(dimension), m_Damping(0.999), ! m_qOrientation(simdata::Quaternion(1,0,0,0)), m_AngularAccelBody(simdata::Vector3::ZERO), m_LinearAccelBody(simdata::Vector3::ZERO), --- 32,36 ---- DynamicalSystem(dimension), m_Damping(0.999), ! m_qOrientation(simdata::Quaternion(1.0,0.0,0.0,0.0)), m_AngularAccelBody(simdata::Vector3::ZERO), m_LinearAccelBody(simdata::Vector3::ZERO), Index: NumericalMethod.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/NumericalMethod.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** NumericalMethod.cpp 19 Jun 2003 18:06:29 -0000 1.5 --- NumericalMethod.cpp 22 Jun 2003 08:59:03 -0000 1.6 *************** *** 210,214 **** double const RungeKuttaCK::ERRCON = 1.89e-4; ! unsigned int const RungeKuttaCK::MAXSTP = 4; double const RungeKuttaCK::TINY = std::numeric_limits<float>::epsilon(); --- 210,214 ---- double const RungeKuttaCK::ERRCON = 1.89e-4; ! unsigned int const RungeKuttaCK::MAXSTP = 16;//10000 double const RungeKuttaCK::TINY = std::numeric_limits<float>::epsilon(); Index: Engine.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/Engine.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Engine.cpp 20 Jun 2003 17:47:45 -0000 1.2 --- Engine.cpp 22 Jun 2003 08:59:03 -0000 1.3 *************** *** 18,22 **** /** ! * @file Thrust.cpp * **/ --- 18,22 ---- /** ! * @file Engine.cpp * **/ *************** *** 94,99 **** } ! void Engine::setThrottle(float throttle) { ! m_Throttle = throttle; } --- 94,99 ---- } ! void Engine::bindThrottle(float const &throttle) { ! m_Throttle = &throttle; } *************** *** 111,115 **** simdata::Vector3 Engine::getThrust() const { ! float throttle = m_Throttle; if (throttle < 0.0) throttle = 0.0; --- 111,115 ---- simdata::Vector3 Engine::getThrust() const { ! float throttle = *m_Throttle; if (throttle < 0.0) throttle = 0.0; *************** *** 155,163 **** } ! EngineDynamics::EngineDynamics() { } ! void EngineDynamics::bindThrottle(double const &throttle) { ! m_Throttle = &throttle; } --- 155,173 ---- } ! void EngineDynamics::postCreate() { ! if (!m_Engine.empty()) { ! simdata::Link<Engine>::vector::iterator i = m_Engine.begin(); ! simdata::Link<Engine>::vector::const_iterator iEnd = m_Engine.end(); ! for (; i !=iEnd; ++i) ! (*i)->bindThrottle(m_Throttle); ! } } ! EngineDynamics::EngineDynamics(): ! m_Throttle(0.0f) { ! } ! ! void EngineDynamics::setThrottle(double const throttle) { ! m_Throttle = static_cast<float>(throttle); } *************** *** 185,190 **** (*i)->setMach(mach); (*i)->setAltitude(altitude); - // FIXME: calibrate joystick positions for csp - (*i)->setThrottle(2.0f * static_cast<float>(*m_Throttle)); simdata::Vector3 force = (*i)->getThrust(); m_Force += force; --- 195,198 ---- Index: CSPSim.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/CSPSim.cpp,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** CSPSim.cpp 19 Jun 2003 18:06:29 -0000 1.29 --- CSPSim.cpp 22 Jun 2003 08:59:03 -0000 1.30 *************** *** 295,299 **** simdata::Ref<AircraftObject> ao = m_DataManager.getObject(vehicle.c_str()); assert(ao.valid()); ! ao->setGlobalPosition(483025, 499000, 88.5); ao->setAttitude(0.0, 0.0, 1.92); ao->setVelocity(0, 1.0, 0); --- 295,300 ---- simdata::Ref<AircraftObject> ao = m_DataManager.getObject(vehicle.c_str()); assert(ao.valid()); ! //ao->setGlobalPosition(483025, 499000, 88.5); ! ao->setGlobalPosition(483025, 499000, 2000.0); ao->setAttitude(0.0, 0.0, 1.92); ao->setVelocity(0, 1.0, 0); *************** *** 370,374 **** m_Battlefield = NULL; m_Scene = NULL; ! if (m_SDLJoystick) { SDL_JoystickClose(m_SDLJoystick); m_SDLJoystick = NULL; --- 371,375 ---- m_Battlefield = NULL; m_Scene = NULL; ! if (m_SDLJoystick) { SDL_JoystickClose(m_SDLJoystick); m_SDLJoystick = NULL; Index: Collision.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/Collision.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Collision.cpp 19 Jun 2003 18:06:29 -0000 1.1 --- Collision.cpp 22 Jun 2003 08:59:03 -0000 1.2 *************** *** 175,184 **** m_InertiaInverse(inertia.Inverse()), m_Contacts(contacts), ! m_Elastic(0.7), m_Friction(0.8), m_Vtol(-3.0) { } ! void GroundCollisionDynamics::preSimulationStep(double dt) { m_ContactList.reset(); } --- 175,184 ---- m_InertiaInverse(inertia.Inverse()), m_Contacts(contacts), ! m_Elastic(0.6), m_Friction(0.8), m_Vtol(-3.0) { } ! void GroundCollisionDynamics::reset(double dt) { m_ContactList.reset(); } *************** *** 189,193 **** void GroundCollisionDynamics::update(double dt) { - m_ContactList.reset(); simdata::Quaternion const &q = *m_qOrientation; simdata::Vector3 const &velocity_body = *m_VelocityBody; --- 189,192 ---- *************** *** 197,203 **** simdata::Vector3 const groundReactionBody = - *m_WeightBody; simdata::Vector3 const &p = *m_PositionLocal; ! ! simdata::Vector3 origin(0.0, 0.0, *m_Height); simdata::Vector3 const &normalGroundLocal =*m_NormalGround; simdata::Vector3 normalGroundBody = simdata::QVRotate(q.Bar(),normalGroundLocal); --- 196,202 ---- simdata::Vector3 const groundReactionBody = - *m_WeightBody; simdata::Vector3 const &p = *m_PositionLocal; ! simdata::Vector3 const &normalGroundLocal =*m_NormalGround; + simdata::Vector3 origin(0.0, 0.0, *m_Height); simdata::Vector3 normalGroundBody = simdata::QVRotate(q.Bar(),normalGroundLocal); Index: AircraftPhysicModel.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/AircraftPhysicModel.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AircraftPhysicModel.cpp 20 Jun 2003 21:24:28 -0000 1.2 --- AircraftPhysicModel.cpp 22 Jun 2003 08:59:03 -0000 1.3 *************** *** 38,46 **** // bind(y,p,v,w,q); ! // XXX the following line is incorrect. ! //m_PositionLocal = *m_Position + bodyToLocal(simdata::Vector3(y[0],y[1],y[2])); ! // XXX if, in the future, we need to access the local position here, it should be ! // stored in a temporary: ! // simdata::Vecter3 position = m_LocalPositon + bodyToLocal(simdata::Vector3(y[0],y[1],y[2])); m_VelocityBody = simdata::Vector3(y[3],y[4],y[5]); m_AngularVelocityBody = simdata::Vector3(y[6],y[7],y[8]); --- 38,42 ---- // bind(y,p,v,w,q); ! m_PositionLocal = *m_Position + bodyToLocal(simdata::Vector3(y[0],y[1],y[2])); m_VelocityBody = simdata::Vector3(y[3],y[4],y[5]); m_AngularVelocityBody = simdata::Vector3(y[6],y[7],y[8]); *************** *** 55,58 **** --- 51,56 ---- m_WeightBody = localToBody(m_WeightLocal); + m_GroundCollisionDynamics->reset(x); + if (m_GroundCollisionDynamics && m_NearGround) { m_GroundCollisionDynamics->update(x); *************** *** 121,131 **** m_qOrientation = *m_Orientation; ! for (unsigned short i = 0; i<n; ++i) { m_VelocityBody = localToBody(m_VelocityLocal); m_AngularVelocityBody = localToBody(m_AngularVelocityLocal); - updateNearGround(); - std::vector<double> y0 = bodyToY(simdata::Vector3::ZERO,m_VelocityBody,m_AngularVelocityBody,m_qOrientation); --- 119,129 ---- m_qOrientation = *m_Orientation; ! updateNearGround(); + for (unsigned short i = 0; i<n; ++i) { + m_VelocityBody = localToBody(m_VelocityLocal); m_AngularVelocityBody = localToBody(m_AngularVelocityLocal); std::vector<double> y0 = bodyToY(simdata::Vector3::ZERO,m_VelocityBody,m_AngularVelocityBody,m_qOrientation); *************** *** 152,162 **** if (mag != 0.0) m_qOrientation /= mag; } // returns vehicle data members - *m_Position = m_PositionLocal; - if (m_GroundCollisionDynamics->hasContact() && m_VelocityLocal.z < 0.0) { - m_VelocityLocal.z *= 0.99; - } *m_Velocity = m_VelocityLocal; *m_AngularVelocity = m_AngularVelocityLocal; --- 150,161 ---- if (mag != 0.0) m_qOrientation /= mag; + + if (m_GroundCollisionDynamics->hasContact() && m_VelocityLocal.z < 0.0) { + m_VelocityLocal.z *= 0.9; + } + *m_Position = m_PositionLocal; } // returns vehicle data members *m_Velocity = m_VelocityLocal; *m_AngularVelocity = m_AngularVelocityLocal; Index: AircraftObject.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/AircraftObject.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** AircraftObject.cpp 19 Jun 2003 18:06:29 -0000 1.21 --- AircraftObject.cpp 22 Jun 2003 08:59:03 -0000 1.22 *************** *** 157,165 **** m_EngineDynamics = m_AircraftDynamics->getEngineDynamics(); - m_EngineDynamics->bindThrottle(m_Throttle); m_AircraftPhysicModel->addDynamics(m_EngineDynamics.get()); - //if (!m_SceneModel.valid()) - // createSceneModel(); - //m_SceneModel->setSmokeEmitterLocation(m_EngineDynamics->getSmokeEmitterLocation()); m_GearDynamics = m_AircraftDynamics->getGearDynamics(); --- 157,161 ---- *************** *** 256,262 **** } ! void AircraftObject::setThrottle(double x) ! { ! m_ThrottleInput = 0.5 * (1.0 - x); } --- 252,257 ---- } ! void AircraftObject::setThrottle(double x) { ! m_ThrottleInput = 0.5 *(1.0 - x); } *************** *** 500,503 **** --- 495,500 ---- void AircraftObject::doComplexPhysics(double dt) { m_PrimaryAeroDynamics->setControlSurfaces(m_Aileron, m_Elevator, m_Rudder); + // FIXME: calibrate joystick positions for csp + m_EngineDynamics->setThrottle(2.0 * m_Throttle); //preset various aircraft dimensions and landing/takeoff parameters: |
From: <de...@us...> - 2003-06-22 08:58:44
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Include In directory sc8-pr-cvs1:/tmp/cvs-serv4462 Modified Files: ObjectModel.h Engine.h Collision.h Log Message: see CHANGES.current Index: ObjectModel.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Include/ObjectModel.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ObjectModel.h 19 Jun 2003 18:07:51 -0000 1.8 --- ObjectModel.h 22 Jun 2003 08:58:41 -0000 1.9 *************** *** 151,155 **** SceneModel(simdata::Ref<ObjectModel> const & model); - simdata::Ref<ObjectModel> getModel() { return m_Model; } osg::Group* getRoot() { return m_Transform.get(); } --- 151,154 ---- Index: Engine.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Include/Engine.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Engine.h 19 Jun 2003 18:07:51 -0000 1.1 --- Engine.h 22 Jun 2003 08:58:41 -0000 1.2 *************** *** 19,23 **** /** ! * @file Thrust.h * **/ --- 19,23 ---- /** ! * @file Engine.h * **/ *************** *** 63,67 **** simdata::Link<ThrustData> m_ThrustData; simdata::Vector3 m_ThrustDirection, m_EngineOffset; ! float m_Throttle; float m_Mach; float m_Altitude; --- 63,67 ---- simdata::Link<ThrustData> m_ThrustData; simdata::Vector3 m_ThrustDirection, m_EngineOffset; ! float const *m_Throttle; float m_Mach; float m_Altitude; *************** *** 89,93 **** void setThrustDirection(simdata::Vector3 const& thrustDirection); ! void setThrottle(float throttle); void setMach(float mach); void setAltitude(float altitude); --- 89,93 ---- void setThrustDirection(simdata::Vector3 const& thrustDirection); ! void bindThrottle(float const &throttle); void setMach(float mach); void setAltitude(float altitude); *************** *** 102,106 **** typedef simdata::Link<Engine>::vector ESet; ESet m_Engine; ! double const *m_Throttle; public: --- 102,106 ---- typedef simdata::Link<Engine>::vector ESet; ESet m_Engine; ! float m_Throttle; public: *************** *** 113,119 **** virtual void pack(simdata::Packer& p) const; virtual void unpack(simdata::UnPacker &p); EngineDynamics(); ! void bindThrottle(double const &throttle); void update(double dt); std::vector<simdata::Vector3> getSmokeEmitterLocation() const; --- 113,120 ---- virtual void pack(simdata::Packer& p) const; virtual void unpack(simdata::UnPacker &p); + virtual void postCreate(); EngineDynamics(); ! void setThrottle(double const throttle); void update(double dt); std::vector<simdata::Vector3> getSmokeEmitterLocation() const; Index: Collision.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Include/Collision.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Collision.h 19 Jun 2003 18:07:51 -0000 1.1 --- Collision.h 22 Jun 2003 08:58:41 -0000 1.2 *************** *** 94,98 **** public: GroundCollisionDynamics(double mass, simdata::Matrix3 const &inertia, std::vector<simdata::Vector3> const &contacts); ! void preSimulationStep(double dt); void bindWeight(simdata::Vector3 const &weightBody); void update(double dt); --- 94,98 ---- public: GroundCollisionDynamics(double mass, simdata::Matrix3 const &inertia, std::vector<simdata::Vector3> const &contacts); ! void reset(double dt); void bindWeight(simdata::Vector3 const &weightBody); void update(double dt); |
From: <mk...@us...> - 2003-06-20 21:24:30
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv5126 Modified Files: AircraftPhysicModel.cpp Log Message: Index: AircraftPhysicModel.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/AircraftPhysicModel.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AircraftPhysicModel.cpp 19 Jun 2003 18:06:29 -0000 1.1 --- AircraftPhysicModel.cpp 20 Jun 2003 21:24:28 -0000 1.2 *************** *** 38,48 **** // bind(y,p,v,w,q); ! m_PositionLocal = *m_Position + bodyToLocal(simdata::Vector3(y[0],y[1],y[2])); m_VelocityBody = simdata::Vector3(y[3],y[4],y[5]); m_AngularVelocityBody = simdata::Vector3(y[6],y[7],y[8]); m_qOrientation = simdata::Quaternion(y[9],y[10],y[11],y[12]); double mag = m_qOrientation.Magnitude(); ! if (mag != 0.0) m_qOrientation /= mag; y[9] = m_qOrientation.w; y[10] = m_qOrientation.x; y[11] = m_qOrientation.y; y[12] = m_qOrientation.z; --- 38,53 ---- // bind(y,p,v,w,q); ! // XXX the following line is incorrect. ! //m_PositionLocal = *m_Position + bodyToLocal(simdata::Vector3(y[0],y[1],y[2])); ! // XXX if, in the future, we need to access the local position here, it should be ! // stored in a temporary: ! // simdata::Vecter3 position = m_LocalPositon + bodyToLocal(simdata::Vector3(y[0],y[1],y[2])); m_VelocityBody = simdata::Vector3(y[3],y[4],y[5]); m_AngularVelocityBody = simdata::Vector3(y[6],y[7],y[8]); m_qOrientation = simdata::Quaternion(y[9],y[10],y[11],y[12]); double mag = m_qOrientation.Magnitude(); ! if (mag != 0.0) { m_qOrientation /= mag; + } y[9] = m_qOrientation.w; y[10] = m_qOrientation.x; y[11] = m_qOrientation.y; y[12] = m_qOrientation.z; *************** *** 66,70 **** for (;bd != bdEnd; ++bd) { (*bd)->update(x); ! m_ForcesBody += (*bd)->getForce(); m_MomentsBody += (*bd)->getMoment(); } --- 71,76 ---- for (;bd != bdEnd; ++bd) { (*bd)->update(x); ! simdata::Vector3 force = (*bd)->getForce(); ! m_ForcesBody += force; m_MomentsBody += (*bd)->getMoment(); } *************** *** 78,82 **** // angular acceleration body: calculate Iw' = M - w^Iw m_AngularAccelBody = m_InertiaInverse * ! (m_MomentsBody - (m_AngularVelocityBody^(m_Inertia * m_AngularVelocityBody))); // quaternion derivative and w in body coordinates: q' = 0.5 * q * w --- 84,88 ---- // angular acceleration body: calculate Iw' = M - w^Iw m_AngularAccelBody = m_InertiaInverse * ! (m_MomentsBody - (m_AngularVelocityBody^(m_Inertia * m_AngularVelocityBody))); // quaternion derivative and w in body coordinates: q' = 0.5 * q * w *************** *** 96,102 **** void AircraftPhysicModel::doSimStep(double dt) { ! if (dt == 0.0) ! dt = 0.017; ! unsigned short const n = std::min<short>(2,static_cast<unsigned short>(180 * dt)) + 1; double dtlocal = dt/n; --- 102,107 ---- void AircraftPhysicModel::doSimStep(double dt) { ! if (dt == 0.0) dt = 0.017; ! unsigned short n = std::min<short>(6,static_cast<unsigned short>(180 * dt)) + 1; double dtlocal = dt/n; *************** *** 105,120 **** Atmosphere const *atmosphere = CSPSim::theSim->getAtmosphere(); if (atmosphere) ! m_Gravity = atmosphere->getGravity(m_PositionLocal.z); else ! m_Gravity = 9.806; ! m_WeightLocal = - m_Mass * m_Gravity * simdata::Vector3::ZAXIS; ! for (unsigned short i = 0; i<n; ++i) { ! m_PositionLocal = *m_Position; ! m_VelocityLocal = *m_Velocity; ! m_AngularVelocityLocal = *m_AngularVelocity; ! m_qOrientation = *m_Orientation; m_VelocityBody = localToBody(m_VelocityLocal); --- 110,125 ---- Atmosphere const *atmosphere = CSPSim::theSim->getAtmosphere(); if (atmosphere) ! m_Gravity = atmosphere->getGravity(m_PositionLocal.z); else ! m_Gravity = 9.806; ! m_WeightLocal = - m_Mass * m_Gravity * simdata::Vector3::ZAXIS; ! m_PositionLocal = *m_Position; ! m_VelocityLocal = *m_Velocity; ! m_AngularVelocityLocal = *m_AngularVelocity; ! m_qOrientation = *m_Orientation; ! for (unsigned short i = 0; i<n; ++i) { m_VelocityBody = localToBody(m_VelocityLocal); *************** *** 123,134 **** updateNearGround(); ! std::vector<double> y0 = bodyToY(simdata::Vector3::ZERO,m_VelocityBody,m_AngularVelocityBody,m_qOrientation); std::for_each(m_Dynamics.begin(),m_Dynamics.end(),PreSimulationStep(dtlocal)); // solution ! std::vector<double> y = flow(y0, 0, dtlocal); // update all variables ! // Caution: don t permute these lines // solution to body data members YToBody(y); --- 128,139 ---- updateNearGround(); ! std::vector<double> y0 = bodyToY(simdata::Vector3::ZERO,m_VelocityBody,m_AngularVelocityBody,m_qOrientation); std::for_each(m_Dynamics.begin(),m_Dynamics.end(),PreSimulationStep(dtlocal)); // solution ! std::vector<double> y = flow(y0, 0, dtlocal); // update all variables ! // Caution: dont permute these lines // solution to body data members YToBody(y); *************** *** 146,157 **** double mag = m_qOrientation.Magnitude(); if (mag != 0.0) ! m_qOrientation /= mag; } // returns vehicle data members ! *m_Position = m_PositionLocal; ! if (m_GroundCollisionDynamics->hasContact() && m_VelocityLocal.z < 0.0) m_VelocityLocal.z *= 0.99; ! *m_Velocity = m_VelocityLocal; *m_AngularVelocity = m_AngularVelocityLocal; *m_Orientation = m_qOrientation; ! } \ No newline at end of file --- 151,164 ---- double mag = m_qOrientation.Magnitude(); if (mag != 0.0) ! m_qOrientation /= mag; } + // returns vehicle data members ! *m_Position = m_PositionLocal; ! if (m_GroundCollisionDynamics->hasContact() && m_VelocityLocal.z < 0.0) { m_VelocityLocal.z *= 0.99; ! } ! *m_Velocity = m_VelocityLocal; *m_AngularVelocity = m_AngularVelocityLocal; *m_Orientation = m_qOrientation; ! } |
From: <mk...@us...> - 2003-06-20 17:47:50
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Source In directory sc8-pr-cvs1:/tmp/cvs-serv31535 Modified Files: Engine.cpp Log Message: fixed thrust x,y ordering and units Index: Engine.cpp =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Source/Engine.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Engine.cpp 19 Jun 2003 18:06:29 -0000 1.1 --- Engine.cpp 20 Jun 2003 17:47:45 -0000 1.2 *************** *** 50,62 **** float ThrustData::getMil(float altitude, float mach) const { ! return m_mil_thrust.getValue(altitude, mach); } float ThrustData::getIdle(float altitude, float mach) const { ! return m_idle_thrust.getValue(altitude, mach); } float ThrustData::getAb(float altitude, float mach) const { ! return m_ab_thrust.getValue(altitude, mach); } --- 50,62 ---- float ThrustData::getMil(float altitude, float mach) const { ! return m_mil_thrust.getValue(mach, altitude); } float ThrustData::getIdle(float altitude, float mach) const { ! return m_idle_thrust.getValue(mach, altitude); } float ThrustData::getAb(float altitude, float mach) const { ! return m_ab_thrust.getValue(mach, altitude); } *************** *** 188,198 **** (*i)->setThrottle(2.0f * static_cast<float>(*m_Throttle)); simdata::Vector3 force = (*i)->getThrust(); - //FIXME: convert XML value to newton - force = simdata::Vector3(simdata::convert::lb_n(force.x), - simdata::convert::lb_n(force.y), - simdata::convert::lb_n(force.z)); m_Force += force; m_Moment += (*i)->m_EngineOffset^force; } } ! } \ No newline at end of file --- 188,195 ---- (*i)->setThrottle(2.0f * static_cast<float>(*m_Throttle)); simdata::Vector3 force = (*i)->getThrust(); m_Force += force; m_Moment += (*i)->m_EngineOffset^force; } } ! } ! |
From: <mk...@us...> - 2003-06-20 17:46:28
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Tools/XML In directory sc8-pr-cvs1:/tmp/cvs-serv31360 Modified Files: falcon_acdata.py Log Message: fixed table x,y ordering, thrust units Index: falcon_acdata.py =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Tools/XML/falcon_acdata.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** falcon_acdata.py 16 Apr 2003 21:05:03 -0000 1.1 --- falcon_acdata.py 20 Jun 2003 17:46:25 -0000 1.2 *************** *** 59,67 **** ybreaks = getattr(data, self.ybreaks) self.current += map(float, line.split()) ! if len(self.current) > len(ybreaks): raise "fubar table" ! if len(self.current) == len(ybreaks): self.current = map(lambda x, s=self.scale: x*s, self.current) self.table.append(self.current) ! if len(self.table) == len(xbreaks): table = Table(xbreaks, ybreaks, self.table) setattr(data, self.id, table) --- 59,67 ---- ybreaks = getattr(data, self.ybreaks) self.current += map(float, line.split()) ! if len(self.current) > len(xbreaks): raise "fubar table" ! if len(self.current) == len(xbreaks): self.current = map(lambda x, s=self.scale: x*s, self.current) self.table.append(self.current) ! if len(self.table) == len(ybreaks): table = Table(xbreaks, ybreaks, self.table) setattr(data, self.id, table) *************** *** 99,114 **** hnumlist("aero_alpha_breaks"), hnum("c_l_multiplier"), ! htable("c_l", "aero_mach_breaks", "aero_alpha_breaks"), hnum("c_d_multiplier"), ! htable("c_d", "aero_mach_breaks", "aero_alpha_breaks"), hnum("c_y_multiplier"), ! htable("c_y", "aero_mach_breaks", "aero_alpha_breaks"), hnum("thrust_multiplier"), hnum("fuel_flow_multiplier"), hnumlist("thrust_mach_breaks"), hnumlist("thrust_altitude_breaks", 0.3048), ! htable("idle_thrust", "thrust_altitude_breaks", "thrust_mach_breaks", 0.4545), ! htable("mil_thrust", "thrust_altitude_breaks", "thrust_mach_breaks", 0.4545), ! htable("ab_thrust", "thrust_altitude_breaks", "thrust_mach_breaks", 0.4545), ] --- 99,114 ---- hnumlist("aero_alpha_breaks"), hnum("c_l_multiplier"), ! htable("c_l", "aero_alpha_breaks", "aero_mach_breaks"), hnum("c_d_multiplier"), ! htable("c_d", "aero_alpha_breaks", "aero_mach_breaks"), hnum("c_y_multiplier"), ! htable("c_y", "aero_alpha_breaks", "aero_mach_breaks"), hnum("thrust_multiplier"), hnum("fuel_flow_multiplier"), hnumlist("thrust_mach_breaks"), hnumlist("thrust_altitude_breaks", 0.3048), ! htable("idle_thrust", "thrust_mach_breaks", "thrust_altitude_breaks", 4.545), ! htable("mil_thrust", "thrust_mach_breaks", "thrust_altitude_breaks", 4.545), ! htable("ab_thrust", "thrust_mach_breaks", "thrust_altitude_breaks", 4.545), ] *************** *** 167,178 **** tabpr(*curve) tabpr.indent(-1) ! tabpr("</Value>") tabpr.indent(-1) tabpr("</Table>") def engine_xml(self): ! self.table_xml("idle_thrust", self.data.idle_thrust, 1000.0, 0.1, 1) ! self.table_xml("mil_thrust", self.data.mil_thrust, 1000.0, 0.1, 1) ! self.table_xml("ab_thrust", self.data.ab_thrust, 1000.0, 0.1, 1) --- 167,178 ---- tabpr(*curve) tabpr.indent(-1) ! tabpr("</Values>") tabpr.indent(-1) tabpr("</Table>") def engine_xml(self): ! self.table_xml("idle_thrust", self.data.idle_thrust, 0.1, 1000.0, 1) ! self.table_xml("mil_thrust", self.data.mil_thrust, 0.1, 1000.0, 1) ! self.table_xml("ab_thrust", self.data.ab_thrust, 0.1, 1000.0, 1) |