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)
|