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: <de...@us...> - 2003-05-04 10:57:52
|
Update of /cvsroot/csp/APPLICATIONS/SimData/Include/SimData In directory sc8-pr-cvs1:/tmp/cvs-serv13489 Modified Files: Vector3.h ObjectInterface.h HashUtility.h Enum.h Log Message: no message Index: Vector3.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/Vector3.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Vector3.h 12 Apr 2003 08:56:38 -0000 1.7 --- Vector3.h 4 May 2003 10:57:48 -0000 1.8 *************** *** 149,153 **** // friend arithmetic operators ! friend Vector3 operator/(const Vector3 &a, double f); friend Vector3 operator*(double f, const Vector3 &a); friend Vector3 operator^(const Vector3 & u, const Vector3 & v); --- 149,153 ---- // friend arithmetic operators ! friend SIMDATA_EXPORT Vector3 operator/(const Vector3 &a, double f); friend Vector3 operator*(double f, const Vector3 &a); friend Vector3 operator^(const Vector3 & u, const Vector3 & v); Index: ObjectInterface.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/ObjectInterface.h,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** ObjectInterface.h 3 May 2003 10:35:02 -0000 1.17 --- ObjectInterface.h 4 May 2003 10:57:48 -0000 1.18 *************** *** 255,259 **** #else - template <class C, typename T> class MemberAccessor< C, std::vector<T> >: public MemberAccessorBase --- 255,258 ---- Index: HashUtility.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/HashUtility.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** HashUtility.h 23 Apr 2003 09:14:20 -0000 1.10 --- HashUtility.h 4 May 2003 10:57:48 -0000 1.11 *************** *** 29,32 **** --- 29,36 ---- #define __SIMDATA_HASHUTILITY_H__ + # if defined(_MSC_VER) && (_MSC_VER <= 1300) + #pragma warning(disable : 4251) + # endif + #include <iostream> #include <string> Index: Enum.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/Enum.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Enum.h 12 Apr 2003 08:56:37 -0000 1.7 --- Enum.h 4 May 2003 10:57:48 -0000 1.8 *************** *** 28,33 **** #define __SIMDATA_ENUM_H__ ! # if defined(_MSC_VER) && (_MSC_VER <= 1200) ! #pragma warning (disable : 4786) # endif --- 28,33 ---- #define __SIMDATA_ENUM_H__ ! # if defined(_MSC_VER) && (_MSC_VER <= 1300) ! #pragma warning (disable : 4786 4251) # endif *************** *** 97,101 **** class EnumerationCore; - /** * A class representing a particular value from an associated enumeration set. --- 97,100 ---- *************** *** 317,321 **** } #endif - class Enumeration; --- 316,319 ---- |
|
From: <de...@us...> - 2003-05-04 10:57:32
|
Update of /cvsroot/csp/APPLICATIONS/SimData
In directory sc8-pr-cvs1:/tmp/cvs-serv13365
Modified Files:
CHANGES.current
Log Message:
no message
Index: CHANGES.current
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/CHANGES.current,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** CHANGES.current 4 May 2003 07:23:23 -0000 1.32
--- CHANGES.current 4 May 2003 10:57:29 -0000 1.33
***************
*** 2,5 ****
--- 2,9 ----
===========================
+ 2003-05-04: delta
+ Updated .net project.
+ Finally added some pragma to get ride of dll interface warnings ...
+
2003-05-03: onsight
Made static log variables into class members, so that multiple logs
|
|
From: <mk...@us...> - 2003-05-04 09:44:01
|
Update of /cvsroot/csp/APPLICATIONS/SimData/Include/SimData In directory sc8-pr-cvs1:/tmp/cvs-serv12383/Include/SimData Modified Files: Log.i Log Message: see CHANGES.current Index: Log.i =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/Log.i,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Log.i 18 Mar 2003 10:04:02 -0000 1.1 --- Log.i 4 May 2003 09:43:58 -0000 1.2 *************** *** 16,20 **** ~logstream(); void _close(); ! void set_output(std::string const &fn); void setLogLevels(int c, int p); }; --- 16,20 ---- ~logstream(); void _close(); ! void setOutput(std::string const &fn); void setLogLevels(int c, int p); }; |
|
From: <mk...@us...> - 2003-05-04 07:26:37
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim In directory sc8-pr-cvs1:/tmp/cvs-serv14211 Modified Files: CHANGES.current Log Message: Index: CHANGES.current =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/CHANGES.current,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** CHANGES.current 3 May 2003 12:13:48 -0000 1.29 --- CHANGES.current 4 May 2003 07:26:34 -0000 1.30 *************** *** 2,5 **** --- 2,20 ---- =========================== + 2003-05-03: onsight + Replaced CSP's logging facilities with SimData's (which + originally came from CSP). Some tweaks to the logging + classes needed to be made to support multiple logs at once, + but this seems to work fine now. The CSP_LOG macro is + a little easier to use now, since it inserts the CSP_ + prefix automatically for the class and priority levels: + + CSP_LOG(APP, DEBUG, "a message"); + + instead of + + CSP_LOG(CSP_APP, CSP_DEBUG, "a message"); + + 2003-05-02: onsight ==========> VC USERS: add Theater.cpp to the project. |
|
From: <mk...@us...> - 2003-05-04 07:24:44
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Include In directory sc8-pr-cvs1:/tmp/cvs-serv13354 Added Files: Log.h Removed Files: LogStream.h debug_types.h Log Message: see CHANGES.current --- NEW FILE: Log.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 Log.h * **/ #ifndef __CSP_LOG_H__ #define __CSP_LOG_H__ #include <SimData/Log.h> /** * Define the possible classes/categories of logging messages */ 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 }; /** * @relates logstream * Return the one and only csp logstream instance. * We use a function together with lazy construction so we are assured * that cerr has been initialised. * @return csp logstream */ inline simdata::logstream& csplog() { static simdata::logstream *logstrm = 0; if (logstrm == 0) logstrm = new simdata::logstream(std::cerr); return *logstrm; } #ifdef CSP_NDEBUG # define CSP_LOG(C,P,M) #else # define CSP_LOG(C,P,M) ::csplog() << simdata::loglevel(CSP_##C, simdata::LOG_##P) << M << std::endl #endif #endif // __CSP_LOG_H__ --- LogStream.h DELETED --- --- debug_types.h DELETED --- |
|
From: <mk...@us...> - 2003-05-04 07:23:27
|
Update of /cvsroot/csp/APPLICATIONS/SimData/Include/SimData
In directory sc8-pr-cvs1:/tmp/cvs-serv12821/Include/SimData
Modified Files:
Log.h LogStream.h
Log Message:
see CHANGES.current
Index: Log.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/Log.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Log.h 23 Apr 2003 09:14:20 -0000 1.4
--- Log.h 4 May 2003 07:23:23 -0000 1.5
***************
*** 57,62 ****
log()
{
! static logstream logstrm(std::cerr);
! return logstrm;
}
--- 57,64 ----
log()
{
! //static logstream logstrm(std::cerr);
! static logstream *logstrm = 0;
! if (logstrm == 0) logstrm = new logstream(std::cerr);
! return *logstrm;
}
Index: LogStream.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/LogStream.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** LogStream.h 23 Apr 2003 09:14:20 -0000 1.5
--- LogStream.h 4 May 2003 07:23:23 -0000 1.6
***************
*** 100,104 ****
* @param p priority
*/
! static void set_log_level(int c, int p);
--- 100,104 ----
* @param p priority
*/
! void set_log_level(int c, int p);
***************
*** 107,111 ****
* @param c All enabled logging classes anded together.
*/
! static void set_log_classes(int c);
--- 107,111 ----
* @param c All enabled logging classes anded together.
*/
! void set_log_classes(int c);
***************
*** 114,118 ****
* @return All enabled debug logging anded together.
*/
! static int get_log_classes ();
--- 114,118 ----
* @return All enabled debug logging anded together.
*/
! int get_log_classes ();
***************
*** 121,125 ****
* @param p The priority cutoff for logging messages.
*/
! static void set_log_priority(int p);
--- 121,125 ----
* @param p The priority cutoff for logging messages.
*/
! void set_log_priority(int p);
***************
*** 128,132 ****
* @return The priority cutoff for logging messages.
*/
! static int get_log_priority ();
--- 128,132 ----
* @return The priority cutoff for logging messages.
*/
! int get_log_priority ();
***************
*** 148,156 ****
// The streambuf used for actual output. Defaults to cerr.rdbuf().
! static std::streambuf* sbuf;
! static bool logging_enabled;
! static int logClass;
! static int logPriority;
private:
--- 148,156 ----
// The streambuf used for actual output. Defaults to cerr.rdbuf().
! std::streambuf* sbuf;
! bool logging_enabled;
! int logClass;
! int logPriority;
private:
***************
*** 165,169 ****
{
if (!sbuf) return -1;
! return 0;
}
--- 165,169 ----
{
if (!sbuf) return -1;
! return sbuf->pubsync();
}
***************
*** 241,245 ****
* @param out output stream
*/
! void set_output( std::ostream& out ) {
_close();
lbuf.set_sb( out.rdbuf() );
--- 241,245 ----
* @param out output stream
*/
! void setOutput( std::ostream& out ) {
_close();
lbuf.set_sb( out.rdbuf() );
***************
*** 250,254 ****
* @param fn output file path
*/
! void set_output( std::string const &fn ) {
_close();
m_out = new std::ofstream(fn.c_str());
--- 250,254 ----
* @param fn output file path
*/
! void setOutput( std::string const &fn ) {
_close();
m_out = new std::ofstream(fn.c_str());
|
|
From: <mk...@us...> - 2003-05-04 07:23:27
|
Update of /cvsroot/csp/APPLICATIONS/SimData/Source
In directory sc8-pr-cvs1:/tmp/cvs-serv12821/Source
Modified Files:
DataManager.cpp LogStream.cpp
Log Message:
see CHANGES.current
Index: DataManager.cpp
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Source/DataManager.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** DataManager.cpp 2 May 2003 20:59:05 -0000 1.3
--- DataManager.cpp 4 May 2003 07:23:23 -0000 1.4
***************
*** 103,107 ****
DataArchive *archive = 0;
if (idx != _archive_map.end()) {
! assert(idx->second >= 0 && idx->second < _archives.size());
archive = _archives[idx->second];
}
--- 103,107 ----
DataArchive *archive = 0;
if (idx != _archive_map.end()) {
! assert(idx->second >= 0 && idx->second < int(_archives.size()));
archive = _archives[idx->second];
}
Index: LogStream.cpp
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Source/LogStream.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** LogStream.cpp 18 Mar 2003 10:04:05 -0000 1.1
--- LogStream.cpp 4 May 2003 07:23:23 -0000 1.2
***************
*** 32,48 ****
- bool logbuf::logging_enabled = true;
-
- int logbuf::logClass = 0xffffffff;
-
- int logbuf::logPriority = 0;
-
- std::streambuf* logbuf::sbuf = NULL;
logbuf::logbuf()
{
! // if ( sbuf == NULL )
! // sbuf = std::cerr.rdbuf();
}
--- 32,44 ----
logbuf::logbuf()
{
! logging_enabled = true;
! logClass = 0xffffffff;
! logPriority = 0;
! sbuf = NULL;
! //sbuf = std::cerr.rdbuf();
}
***************
*** 86,90 ****
void logstream::setLogLevels(int c, int p)
{
! logbuf::set_log_level( c, p );
}
--- 82,86 ----
void logstream::setLogLevels(int c, int p)
{
! lbuf.set_log_level( c, p );
}
|
|
From: <mk...@us...> - 2003-05-04 07:23:27
|
Update of /cvsroot/csp/APPLICATIONS/SimData In directory sc8-pr-cvs1:/tmp/cvs-serv12821 Modified Files: CHANGES.current Log Message: see CHANGES.current Index: CHANGES.current =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/SimData/CHANGES.current,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** CHANGES.current 2 May 2003 20:59:04 -0000 1.31 --- CHANGES.current 4 May 2003 07:23:23 -0000 1.32 *************** *** 2,3 **** --- 2,11 ---- =========================== + 2003-05-03: onsight + Made static log variables into class members, so that multiple logs + can exist in one application. Since SimData itself uses the logging + classes, this was necessary for it to be useful as a library class + (and just makes much more sense). + + Changed the log method set_output() to setOutput(). + |
|
From: <mk...@us...> - 2003-05-03 12:13:51
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim In directory sc8-pr-cvs1:/tmp/cvs-serv11713 Modified Files: CHANGES.current Log Message: Index: CHANGES.current =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/CHANGES.current,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** CHANGES.current 3 May 2003 09:47:52 -0000 1.28 --- CHANGES.current 3 May 2003 12:13:48 -0000 1.29 *************** *** 5,8 **** --- 5,11 ---- ==========> VC USERS: add Theater.cpp to the project. + ==========> Requires a few new 3D models that can be downloaded from + http://csp.sourceforge.net/new-models.tgz + I've been making many changes and additions, but have been too lax in updating the changelog. Here's what I can remember and *************** *** 42,44 **** --- 45,59 ---- active object changes) must now go through VirtualBattlefield's setHuman() method so that the bubbles are updated correctly. + + New WindEmitter for smoke trails that is more efficient and + also incorporates the current wind velocity (and gusts) when + generating the smoke stream. + + New XML files in Data/XML/theater to support theater loading. + + CSPSim finds the theater to load from the ini file. The + terrain is specified in the theater. + + The model path in the ini file is now set to Models, so this + prefix shouldn't be specified in the xml files anymore. |
|
From: <mk...@us...> - 2003-05-03 11:57:51
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/theater/house In directory sc8-pr-cvs1:/tmp/cvs-serv31990 Added Files: model.xml Log Message: --- NEW FILE: model.xml --- <?xml version="1.0" standalone="no"?> <Object class="ObjectModel" static="1"> <External name="model_path">house.osg</External> <Vector name="axis_0">1 0 0</Vector> <Vector name="axis_1">0 1 0</Vector> <Vector name="offset">0 0 7</Vector> <Float name="scale">0.07</Float> <!--Bool name="smooth">true</Bool> <Bool name="filter">true</Bool--> </Object> |
|
From: <mk...@us...> - 2003-05-03 11:57:25
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/theater/runway In directory sc8-pr-cvs1:/tmp/cvs-serv31696 Added Files: model.xml Log Message: --- NEW FILE: model.xml --- <?xml version="1.0" standalone="no"?> <Object class="ObjectModel" static="1"> <External name="model_path">runway01.osg</External> <Vector name="axis_0">1 0 0</Vector> <Vector name="axis_1">0 1 0</Vector> <Vector name="offset">0 0 0.3</Vector> <Float name="scale">1.5</Float> <!--List name="contacts"> <Vector>0.0 0.0 0.0</Vector> </List--> <Bool name="smooth">true</Bool> <Bool name="filter">true</Bool> </Object> |
|
From: <mk...@us...> - 2003-05-03 11:37:32
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data In directory sc8-pr-cvs1:/tmp/cvs-serv16935 Modified Files: CSPSim.ini Log Message: Index: CSPSim.ini =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Data/CSPSim.ini,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CSPSim.ini 15 Mar 2003 03:17:33 -0000 1.7 --- CSPSim.ini 3 May 2003 11:37:28 -0000 1.8 *************** *** 10,14 **** [Paths] ! ModelPath = ../Data InputMapPath = ../Data/Input DataPath = ../Data --- 10,14 ---- [Paths] ! ModelPath = ../Data/Models InputMapPath = ../Data/Input DataPath = ../Data |
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/theater In directory sc8-pr-cvs1:/tmp/cvs-serv13702/theater Added Files: airbase.xml balkan.xml city.xml house.xml houses.xml objectives.xml runway.xml town.xml Log Message: --- NEW FILE: airbase.xml --- <?xml version="1.0" standalone="no"?> <Object class="CustomLayoutModel" static="1"> <List name="layout"> <Object class="FeatureLayout"> <Path name="model">runway</Path> <Float name="x">0</Float> <Float name="y">0</Float> <Float name="orientation">-1.57</Float> </Object> <Object class="FeatureLayout"> <Path name="model">runway</Path> <Float name="x">00</Float> <Float name="y">80</Float> <Float name="orientation">-1.57</Float> </Object> </List> </Object> --- NEW FILE: balkan.xml --- <?xml version="1.0" standalone="no"?> <Object class="Theater"> <Path name="terrain">.terrain.balkan</Path> <Path name="feature_group_list">objectives</Path> </Object> --- NEW FILE: city.xml --- <?xml version="1.0" standalone="no"?> <Object class="CustomLayoutModel" static="1"> <List name="layout"> <Object class="FeatureLayout"> <Path name="model">town</Path> <Float name="x">-110</Float> <Float name="y">0</Float> <Float name="orientation">0.0</Float> </Object> <Object class="FeatureLayout"> <Path name="model">town</Path> <Float name="x">110</Float> <Float name="y">0</Float> <Float name="orientation">0.0</Float> </Object> <Object class="FeatureLayout"> <Path name="model">town</Path> <Float name="x">-110</Float> <Float name="y">220</Float> <Float name="orientation">0.0</Float> </Object> <Object class="FeatureLayout"> <Path name="model">town</Path> <Float name="x">110</Float> <Float name="y">220</Float> <Float name="orientation">0.0</Float> </Object> </List> </Object> --- NEW FILE: house.xml --- <?xml version="1.0" standalone="no"?> <Object class="FeatureObjectModel" static="1"> <Path name="model">house.model</Path> <Int name="hit_points">20</Int> </Object> --- NEW FILE: houses.xml --- <?xml version="1.0" standalone="no"?> <Object class="CustomLayoutModel" static="1"> <List name="layout"> <Object class="FeatureLayout"> <Path name="model">house</Path> <Float name="x">0</Float> <Float name="y">20</Float> <Float name="orientation">0.0</Float> </Object> <Object class="FeatureLayout"> <Path name="model">house</Path> <Float name="x">0</Float> <Float name="y">70</Float> <Float name="orientation">0.0</Float> </Object> <Object class="FeatureLayout"> <Path name="model">house</Path> <Float name="x">0</Float> <Float name="y">120</Float> <Float name="orientation">0.0</Float> </Object> <Object class="FeatureLayout"> <Path name="model">house</Path> <Float name="x">0</Float> <Float name="y">170</Float> <Float name="orientation">0.0</Float> </Object> </List> </Object> --- NEW FILE: objectives.xml --- <?xml version="1.0" standalone="no"?> <Object class="FeatureGroupList"> <List name="feature_groups"> <Object class="Objective"> <Path name="model">airbase</Path> <Float name="x">483010</Float> <Float name="y">499010</Float> <Float name="orientation">-0.1744</Float> <Int name="strategic_value_modifier">0</Int> </Object> <Object class="Objective"> <Path name="model">city</Path> <Float name="x">483010</Float> <Float name="y">499490</Float> <Float name="orientation">-0.1744</Float> <Int name="strategic_value_modifier">0</Int> </Object> <Object class="Objective"> <Path name="model">town</Path> <Float name="x">483040</Float> <Float name="y">516173</Float> <Float name="orientation">-0.1744</Float> <Int name="strategic_value_modifier">0</Int> </Object> </List> </Object> --- NEW FILE: runway.xml --- <?xml version="1.0" standalone="no"?> <Object class="FeatureObjectModel" static="1"> <Path name="model">runway.model</Path> <Int name="hit_points">20</Int> </Object> --- NEW FILE: town.xml --- <?xml version="1.0" standalone="no"?> <Object class="CustomLayoutModel" static="1"> <List name="layout"> <Object class="FeatureLayout"> <Path name="model">houses</Path> <Float name="x">20</Float> <Float name="y">0</Float> <Float name="orientation">0.0</Float> </Object> <Object class="FeatureLayout"> <Path name="model">houses</Path> <Float name="x">70</Float> <Float name="y">10</Float> <Float name="orientation">0.0</Float> </Object> <Object class="FeatureLayout"> <Path name="model">houses</Path> <Float name="x">120</Float> <Float name="y">20</Float> <Float name="orientation">0.0</Float> </Object> <Object class="FeatureLayout"> <Path name="model">houses</Path> <Float name="x">170</Float> <Float name="y">30</Float> <Float name="orientation">0.0</Float> </Object> </List> </Object> |
|
From: <mk...@us...> - 2003-05-03 11:32:26
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/theater/runway In directory sc8-pr-cvs1:/tmp/cvs-serv13473/runway Log Message: Directory /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/theater/runway added to the repository |
|
From: <mk...@us...> - 2003-05-03 11:31:05
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/theater/house In directory sc8-pr-cvs1:/tmp/cvs-serv12686/house Log Message: Directory /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/theater/house added to the repository |
|
From: <mk...@us...> - 2003-05-03 11:24:36
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/theater In directory sc8-pr-cvs1:/tmp/cvs-serv7626/theater Log Message: Directory /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/theater added to the repository |
|
From: <mk...@us...> - 2003-05-03 11:24:17
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/vehicles/tanks/t62 In directory sc8-pr-cvs1:/tmp/cvs-serv7328/vehicles/tanks/t62 Modified Files: model.xml Log Message: Index: model.xml =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/vehicles/tanks/t62/model.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** model.xml 26 Mar 2003 10:18:54 -0000 1.2 --- model.xml 3 May 2003 11:24:13 -0000 1.3 *************** *** 2,9 **** <Object class="ObjectModel" static="1"> ! <External name="model_path">Models/t62.osg</External> <Vector name="axis_0">1 0 0</Vector> <Vector name="axis_1">0 1 0</Vector> - <Matrix name="rotation">1 0 0 0 1 0 0 0 1</Matrix> <Float name="scale">0.01</Float> </Object> --- 2,8 ---- <Object class="ObjectModel" static="1"> ! <External name="model_path">t62.osg</External> <Vector name="axis_0">1 0 0</Vector> <Vector name="axis_1">0 1 0</Vector> <Float name="scale">0.01</Float> </Object> |
|
From: <mk...@us...> - 2003-05-03 11:24:17
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/vehicles/aircraft/m2k In directory sc8-pr-cvs1:/tmp/cvs-serv7328/vehicles/aircraft/m2k Modified Files: model.xml Log Message: Index: model.xml =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/vehicles/aircraft/m2k/model.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** model.xml 18 Apr 2003 12:07:11 -0000 1.7 --- model.xml 3 May 2003 11:24:13 -0000 1.8 *************** *** 2,11 **** <Object class="ObjectModel" static="1"> ! <!--External name="model_path">Models/f35.3DS</External--> ! <!--External name="model_path">Models/f35.3DS</External--> ! <External name="model_path">Models/m2k2g.3ds</External> <Vector name="axis_0">1 0 0</Vector> <Vector name="axis_1">0 1 0</Vector> - <Matrix name="rotation">1 0 0 0 1 0 0 0 1</Matrix> <Float name="scale">1.0</Float> <Vector name="view_point">0.0 4.5 0.65</Vector> --- 2,10 ---- <Object class="ObjectModel" static="1"> ! <!--External name="model_path">f35.3DS</External--> ! <!--External name="model_path">f35.3DS</External--> ! <External name="model_path">m2k2g.3ds</External> <Vector name="axis_0">1 0 0</Vector> <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> |
|
From: <mk...@us...> - 2003-05-03 11:24:17
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/vehicles/tanks In directory sc8-pr-cvs1:/tmp/cvs-serv7328/vehicles/tanks Modified Files: t62.xml Log Message: Index: t62.xml =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Data/XML/vehicles/tanks/t62.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** t62.xml 18 Apr 2003 12:07:11 -0000 1.3 --- t62.xml 3 May 2003 11:24:13 -0000 1.4 *************** *** 9,12 **** --- 9,15 ---- 0.0 0.0 195000.0 </Matrix> + <Bool name="test2">true</Bool> + <Bool name="test1">true</Bool> + <Bool name="test0">true</Bool> </Object> |
|
From: <mk...@us...> - 2003-05-03 10:35:06
|
Update of /cvsroot/csp/APPLICATIONS/SimData/Include/SimData In directory sc8-pr-cvs1:/tmp/cvs-serv8117/Include/SimData Modified Files: ObjectInterface.h Log Message: Index: ObjectInterface.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/ObjectInterface.h,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** ObjectInterface.h 3 May 2003 10:28:33 -0000 1.16 --- ObjectInterface.h 3 May 2003 10:35:02 -0000 1.17 *************** *** 402,405 **** --- 402,406 ---- int IsVector(bool const*); // no implementation is required int IsVector(char const*); // no implementation is required + int IsVector(short const*); // no implementation is required int IsVector(std::string const*);// no implementation is required int IsVector(TypeAdapter const *);// no implementation is required |
|
From: <mk...@us...> - 2003-05-03 10:28:36
|
Update of /cvsroot/csp/APPLICATIONS/SimData/Include/SimData In directory sc8-pr-cvs1:/tmp/cvs-serv2917/Include/SimData Modified Files: ObjectInterface.h Log Message: Index: ObjectInterface.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/ObjectInterface.h,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** ObjectInterface.h 2 May 2003 20:59:04 -0000 1.15 --- ObjectInterface.h 3 May 2003 10:28:33 -0000 1.16 *************** *** 401,404 **** --- 401,405 ---- int IsVector(int const *); // no implementation is required int IsVector(bool const*); // no implementation is required + int IsVector(char const*); // no implementation is required int IsVector(std::string const*);// no implementation is required int IsVector(TypeAdapter const *);// no implementation is required |
|
From: <mk...@us...> - 2003-05-03 09:47:57
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim
In directory sc8-pr-cvs1:/tmp/cvs-serv8675
Modified Files:
CHANGES.current CHANGES
Log Message:
see CHANGES.current
Index: CHANGES.current
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/CHANGES.current,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** CHANGES.current 23 Apr 2003 18:47:29 -0000 1.27
--- CHANGES.current 3 May 2003 09:47:52 -0000 1.28
***************
*** 1,178 ****
! Version 0.3.2 (in progress)
===========================
! 2003-04-23: delta
! Added m_CharacterSize to ScreenInfo to control size of character
! (m_FontSIze controls now font resolution).
!
! Cleaned a bit this code.
!
! Added average fps.
!
! 2003-04-23: onsight
! Upgraded configure.in to check for OSG 0.9.4. The full test,
! which was broken in 0.9.3, works again. The test for osgGLUT
! has been removed since it is no longer needed.
!
! Removed osgGLUT from the Linux makefile.
!
! 2003-04-22: onsight
! Port to OSG 0.9.4, mostly changes to text display code. The new
! osgText code seems a bit inefficient, causing a frame rate hit
! for the onscreen status display. Text under Linux appears to be
! working again though.
!
! Changed classes that had been inheriting from simdata::Object
! just for reference counting to use simdata::Referenced instead.
!
! All non-XML simdata references now use simdata::Ref<>, and the
! XML refences use simdata::Link<>. simdata::Pointer<>, which had
! been used for both purposes, is no longer available. Ref is the
! basic smart-pointer class with reference counting. Link is
! similar but meant only for simdata::Objects that are creating
! automatically as part of the data archive loading process (ie.
! members that have SIMDATA_XML(...) lines in the interface.
!
! Some general header cleanups, which managaed to eliminate some
! unnecessary interdependency.
!
! 2003-04-21: delta
! Removed non necessaray calls to DegreesToRadians and
! RadiansToDegrees. Now angles must be specified in radians. If it
! is needed to display angle in degree call
! simdata::RadiansToDegrees at this stage.
!
! 2003-04-19: delta
! Got ride of more than one hundred of warnings (complaining about
! casting from double to float) in ColorSpace.cpp while compiling
! with vc++.
!
! 2003-04-19: onsight
! Changed AircraftObject:: m_heading, m_pitch, m_roll to
! m_Heading, m_Pitch, m_Roll. These are now in radians, and
! converted to degrees only if necessary (for display).
! setAttitude(x, y, z) still takes degrees.
!
! 2003-04-18: delta
! Added Runge-Kutta Cask-Karp numerical method.doSimStep2() is now
! calling it.
!
! Added a note on initialization of 'pause'.
!
! Added a simdata::Pointer<DynamicalObject> parameter in
! ObjectStats methods.
!
! Added a check to non nullitty of m_GameScreen in
! CSPSim::setActiveObject.
!
! Fixed a getStats non const method in AircraftObject class.
!
! Checked Onsight changes: a couple of forward class declarations
! causing compilation problems in vc++ have been fixed thanks to
! Onsight.
!
! Updated .NET project.
! 2003-04-18: onsight
! Lots of changes to many parts of CSPSim. First and foremost, the
! scene graph is now in VirtualScene. VirtualBattlefield no longer
! contains scene graph code. Much of VB still needs to be replaced
! though.
!
! The scene graph is reorganized slightly, in anticipation of
! adding more static and dynamic objects:
!
! +------------ ROOT -------------+
! | |
! BACKGROUND +--------OBJECTS-----+
! | | | |
! EYE_TRANSFORM TERRAIN STATIC DYNAMIC
! | |
! SKY SKYLIGHTS
! / \
! SUNLIGHT MOONLIGHT
!
! Fixed an initialization error in AeroDynamics that could cause
! m_GE to be NAN.
!
! Fixed the initialization of the gear retract state.
!
! Moved the first object update out of the main simloop so that
! the pause (several seconds) occurs before time starts counting.
! Limited the FrameTime to 0.2 seconds (was 1.0), which prevents
! the FM from exploding. Removed the initial 'paused' state.
!
! Changed SimObject to use quaternions for attitude, no 3x3
! matrices anymore.
!
! Added a SceneModel class to separate the model transform and
! switch from SimObject. The SceneModel member is only constructed
! if the object is added the scene. The ObjectModel is always
! loaded, so that bounds checking, collision tests, and model
! related data are available independent of the scene graph.
! SceneModel now uses osg::PositionAttitudeTransform instead of
! MatrixTransform.
!
! Set a default joystick environment variable for SDL if none is
! specified. (Linux only)
!
! Fixed AircraftObject::setAttitude(pitch, roll, heading)
! parameter order and units. This order is now correct, and the
! units are degrees. Previously the parameters were mislabelled
! and doubly converted from degrees to radians (resulting in very
! small angles).
!
! Moved access to the core components (Battlefield, Scene, etc)
! out of various classes that had been storing copies. Most access
! is now through CSPSim::theSim.
!
! Switched CSPSim to use simdata::DataManager instead of
! simdata::DataArchive.
!
! Major rewrite of the smoke trail code. The design is much
! cleaner now, but more work remains to be done.
!
! Various method name changes to conform to the standard case
! convensions (mixed with lower first letter).
!
! Removed "m_Army" from SimObject. This will eventually be
! replaced with a full object class, not just an integer.
!
! Made several bools in SimObject into bit flags.
!
! Greater use of smart-pointers (simdata::Pointer and
! osg::ref_ptr)
!
! Corrected handling of Terrain object pointers (now all smart
! pointers). Changed demeter to use osg::Referenced instead of
! it's own home-built work- alike.
! Moved the eye position in view <1> to the correct cockpit
! position. The 3D model remains on in the interior view now. The
! offset to the pilot's head is specified in the ObjectModel XML
! data. (There's a temporary contact point at the same location to
! make it easy to see where this is).
! Fixed ThrottleInput so that the throttle starts at zero for
! keyboard-only input, and has the correct sense ('=' increases,
! '-' decreases).
! Changed the log sync and closing to ensure that the log is
! flushed properly under all circumstances and that it doesn't
! segfault when the program quits. I still don't fully understand
! all the issues, and it may not work perfectly under Windows as
! is.
! Reordered various ctor initializers to silence gcc warnings.
! Added Bin/TestObjects.py to allow objects to be added to the sim
! for testing purposes. Currently, only the active object (created
! in CSPSim::init at startup) has physics. All other aircraft
! objects are frozen (this is set in AircraftObject---the physics
! code is commented out for non-human controlled a/c). To switch
! the active object, hit <spacebar>.
! Started a Falcon 4 aircraft data file converter in Tools/XML. It
! is currently can be used to convert the thrust tables to
! simdata's XML format.
- *********** VC USERS: please add VirtualScene.cpp to the VC project files
--- 1,44 ----
! Version 0.3.3 (in progress)
===========================
! 2003-05-02: onsight
! ==========> VC USERS: add Theater.cpp to the project.
! I've been making many changes and additions, but have been too
! lax in updating the changelog. Here's what I can remember and
! I will try to fill in the missing pieces as I come across them.
! Jitter fix. The scene graph has been restructured so that the
! eyepoint is at the origin. Dynamic objects, feature cells
! (more on that below), and the terrain transform are updated
! every frame to compensate for motion of the camera. Terrain
! lattice boundaries (the old local coordinate system) only affect
! terrain, so other objects can now move/exist continuously in
! adjacent terrain blocks. Particle effects are now in a global
! coordinate system which causes the to jitter somewhat. This
! could still be improves somewhat by moving the global origin
! to the center of the theater.
!
! Some fixes to CSPSim::cleanup() to avoid segfaults at program
! exit.
! Added much infrastructure to VirtualBattlefield. The battlefield
! now consists of a grid of cells that track static and dynamic
! objects, manage bubbles and aggregation/deaggregation, and
! dynamically add and remove objects from the scene graph.
! Added theater infrastructure to load static objects into the
! battlefield from XML. The terrain object is now part of the
! theater. There are some new files in Data/XML/theater to
! provide some very basic groups of static features for testing.
! Added aggregate(), deaggregate(), and setVisible() methods to
! DynamicObject. These are called automatically by the battlefield.
! They don't do anything in DynamicObject, but can be extended
! in subclasses to implement aggregation logic.
! Made DynamicObject::setHuman() private, and setAir() and
! setGrounded() protected. Changes of the 'human' state (when the
! active object changes) must now go through VirtualBattlefield's
! setHuman() method so that the bubbles are updated correctly.
Index: CHANGES
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/CHANGES,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** CHANGES 18 Apr 2003 12:07:33 -0000 1.4
--- CHANGES 3 May 2003 09:47:52 -0000 1.5
***************
*** 2,5 ****
--- 2,184 ----
to CVS.
+ Version 0.3.2 (2003-05-02)
+ ===========================
+
+ 2003-04-23: delta
+ Added m_CharacterSize to ScreenInfo to control size of character
+ (m_FontSIze controls now font resolution).
+
+ Cleaned a bit this code.
+
+ Added average fps.
+
+ 2003-04-23: onsight
+ Upgraded configure.in to check for OSG 0.9.4. The full test,
+ which was broken in 0.9.3, works again. The test for osgGLUT
+ has been removed since it is no longer needed.
+
+ Removed osgGLUT from the Linux makefile.
+
+ 2003-04-22: onsight
+ Port to OSG 0.9.4, mostly changes to text display code. The new
+ osgText code seems a bit inefficient, causing a frame rate hit
+ for the onscreen status display. Text under Linux appears to be
+ working again though.
+
+ Changed classes that had been inheriting from simdata::Object
+ just for reference counting to use simdata::Referenced instead.
+
+ All non-XML simdata references now use simdata::Ref<>, and the
+ XML refences use simdata::Link<>. simdata::Pointer<>, which had
+ been used for both purposes, is no longer available. Ref is the
+ basic smart-pointer class with reference counting. Link is
+ similar but meant only for simdata::Objects that are creating
+ automatically as part of the data archive loading process (ie.
+ members that have SIMDATA_XML(...) lines in the interface.
+
+ Some general header cleanups, which managaed to eliminate some
+ unnecessary interdependency.
+
+ 2003-04-21: delta
+ Removed non necessaray calls to DegreesToRadians and
+ RadiansToDegrees. Now angles must be specified in radians. If it
+ is needed to display angle in degree call
+ simdata::RadiansToDegrees at this stage.
+
+ 2003-04-19: delta
+ Got ride of more than one hundred of warnings (complaining about
+ casting from double to float) in ColorSpace.cpp while compiling
+ with vc++.
+
+ 2003-04-19: onsight
+ Changed AircraftObject:: m_heading, m_pitch, m_roll to
+ m_Heading, m_Pitch, m_Roll. These are now in radians, and
+ converted to degrees only if necessary (for display).
+ setAttitude(x, y, z) still takes degrees.
+
+ 2003-04-18: delta
+ Added Runge-Kutta Cask-Karp numerical method.doSimStep2() is now
+ calling it.
+
+ Added a note on initialization of 'pause'.
+
+ Added a simdata::Pointer<DynamicalObject> parameter in
+ ObjectStats methods.
+
+ Added a check to non nullitty of m_GameScreen in
+ CSPSim::setActiveObject.
+
+ Fixed a getStats non const method in AircraftObject class.
+
+ Checked Onsight changes: a couple of forward class declarations
+ causing compilation problems in vc++ have been fixed thanks to
+ Onsight.
+
+ Updated .NET project.
+ 2003-04-18: onsight
+ Lots of changes to many parts of CSPSim. First and foremost, the
+ scene graph is now in VirtualScene. VirtualBattlefield no longer
+ contains scene graph code. Much of VB still needs to be replaced
+ though.
+
+ The scene graph is reorganized slightly, in anticipation of
+ adding more static and dynamic objects:
+
+ +------------ ROOT -------------+
+ | |
+ BACKGROUND +--------OBJECTS-----+
+ | | | |
+ EYE_TRANSFORM TERRAIN STATIC DYNAMIC
+ | |
+ SKY SKYLIGHTS
+ / \
+ SUNLIGHT MOONLIGHT
+
+ Fixed an initialization error in AeroDynamics that could cause
+ m_GE to be NAN.
+
+ Fixed the initialization of the gear retract state.
+
+ Moved the first object update out of the main simloop so that
+ the pause (several seconds) occurs before time starts counting.
+ Limited the FrameTime to 0.2 seconds (was 1.0), which prevents
+ the FM from exploding. Removed the initial 'paused' state.
+
+ Changed SimObject to use quaternions for attitude, no 3x3
+ matrices anymore.
+
+ Added a SceneModel class to separate the model transform and
+ switch from SimObject. The SceneModel member is only constructed
+ if the object is added the scene. The ObjectModel is always
+ loaded, so that bounds checking, collision tests, and model
+ related data are available independent of the scene graph.
+ SceneModel now uses osg::PositionAttitudeTransform instead of
+ MatrixTransform.
+
+ Set a default joystick environment variable for SDL if none is
+ specified. (Linux only)
+
+ Fixed AircraftObject::setAttitude(pitch, roll, heading)
+ parameter order and units. This order is now correct, and the
+ units are degrees. Previously the parameters were mislabelled
+ and doubly converted from degrees to radians (resulting in very
+ small angles).
+
+ Moved access to the core components (Battlefield, Scene, etc)
+ out of various classes that had been storing copies. Most access
+ is now through CSPSim::theSim.
+
+ Switched CSPSim to use simdata::DataManager instead of
+ simdata::DataArchive.
+
+ Major rewrite of the smoke trail code. The design is much
+ cleaner now, but more work remains to be done.
+
+ Various method name changes to conform to the standard case
+ convensions (mixed with lower first letter).
+
+ Removed "m_Army" from SimObject. This will eventually be
+ replaced with a full object class, not just an integer.
+
+ Made several bools in SimObject into bit flags.
+
+ Greater use of smart-pointers (simdata::Pointer and
+ osg::ref_ptr)
+
+ Corrected handling of Terrain object pointers (now all smart
+ pointers). Changed demeter to use osg::Referenced instead of
+ it's own home-built work- alike.
+
+ Moved the eye position in view <1> to the correct cockpit
+ position. The 3D model remains on in the interior view now. The
+ offset to the pilot's head is specified in the ObjectModel XML
+ data. (There's a temporary contact point at the same location to
+ make it easy to see where this is).
+
+ Fixed ThrottleInput so that the throttle starts at zero for
+ keyboard-only input, and has the correct sense ('=' increases,
+ '-' decreases).
+
+ Changed the log sync and closing to ensure that the log is
+ flushed properly under all circumstances and that it doesn't
+ segfault when the program quits. I still don't fully understand
+ all the issues, and it may not work perfectly under Windows as
+ is.
+
+ Reordered various ctor initializers to silence gcc warnings.
+
+ Added Bin/TestObjects.py to allow objects to be added to the sim
+ for testing purposes. Currently, only the active object (created
+ in CSPSim::init at startup) has physics. All other aircraft
+ objects are frozen (this is set in AircraftObject---the physics
+ code is commented out for non-human controlled a/c). To switch
+ the active object, hit <spacebar>.
+
+ Started a Falcon 4 aircraft data file converter in Tools/XML. It
+ is currently can be used to convert the thrust tables to
+ simdata's XML format.
+
+ *********** VC USERS: please add VirtualScene.cpp to the VC project files
+
Version 0.3.1 (2003-04-18)
===========================
|
|
From: <mk...@us...> - 2003-05-02 20:59:08
|
Update of /cvsroot/csp/APPLICATIONS/SimData/SimData
In directory sc8-pr-cvs1:/tmp/cvs-serv3500/SimData
Modified Files:
Parse.py
Log Message:
see CHANGES
Index: Parse.py
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/SimData/Parse.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Parse.py 23 Apr 2003 09:14:22 -0000 1.4
--- Parse.py 2 May 2003 20:59:05 -0000 1.5
***************
*** 275,279 ****
def end(self):
! self._element = int(self._c)
class BoolHandler(SimpleHandler):
--- 275,282 ----
def end(self):
! if self._c.startswith('0x'):
! self._element = int(self._c, 16)
! else:
! self._element = int(self._c)
class BoolHandler(SimpleHandler):
|
Update of /cvsroot/csp/APPLICATIONS/SimData/Include/SimData
In directory sc8-pr-cvs1:/tmp/cvs-serv3500/Include/SimData
Modified Files:
DataArchive.h DataManager.h Date.h InterfaceRegistry.h
ObjectInterface.h Pack.h Pack.i TypeAdapter.h osg.h
Log Message:
see CHANGES
Index: DataArchive.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/DataArchive.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** DataArchive.h 23 Apr 2003 09:14:20 -0000 1.10
--- DataArchive.h 2 May 2003 20:59:04 -0000 1.11
***************
*** 336,339 ****
--- 336,347 ----
std::vector<std::string> getAllPathStrings() const;
+ /**
+ * Remove unused static objects from the cache.
+ *
+ * Call this method after many objects have been deleted
+ * to free any unused cache entries.
+ */
+ void cleanStatic();
+
// protected methods made public for Python access, don't use!
/*
Index: DataManager.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/DataManager.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** DataManager.h 23 Apr 2003 09:14:20 -0000 1.3
--- DataManager.h 2 May 2003 20:59:04 -0000 1.4
***************
*** 139,142 ****
--- 139,150 ----
std::string getPathString(ObjectID const &id) const;
+ /**
+ * Remove unused static objects from the cache.
+ *
+ * Call this method after many objects have been deleted
+ * to free any unused cache entries.
+ */
+ void cleanStatic();
+
private:
/**
Index: Date.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/Date.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** Date.h 12 Apr 2003 08:56:37 -0000 1.8
--- Date.h 2 May 2003 20:59:04 -0000 1.9
***************
*** 107,111 ****
#define F1p0_24p0 0.041666666666666667L
#define F1p0_36525p0 0.000027378507871321L
! #define F1p0_86000p0 0.000011627906976744L
--- 107,111 ----
#define F1p0_24p0 0.041666666666666667L
#define F1p0_36525p0 0.000027378507871321L
! #define F1p0_86400p0 0.000011574074074074L
***************
*** 566,579 ****
return ((int)m_time) % 60;
}
/**
! * Advance the time.
*
* @param dt the number of seconds to add.
! * @return true if the time exceeds 24 hours (zulu)
*/
! bool addTime(time_t dt) {
m_time += dt;
! return overflow();
}
--- 566,589 ----
return ((int)m_time) % 60;
}
+
+ int rollover() {
+ int days = 0;
+ if (overflow()) {
+ days = (int) (m_time * 0.00001157407407407407);
+ if (m_time < 0.0) days--;
+ m_time -= days * 86400.0f;
+ }
+ return days;
+ }
/**
! * Advance the time, with 24 hour clock rollover.
*
* @param dt the number of seconds to add.
! * @return the number days added or subtracted
*/
! int addTime(time_t dt) {
m_time += dt;
! return rollover();
}
***************
*** 584,590 ****
* @param local if true, t represents the local time (not zulu).
*/
! void setTime(time_t t, bool local=false) {
if (local) t -= m_tz * 3600.0;
m_time = t;
}
--- 594,601 ----
* @param local if true, t represents the local time (not zulu).
*/
! int setTime(time_t t, bool local=false) {
if (local) t -= m_tz * 3600.0;
m_time = t;
+ return rollover();
}
***************
*** 668,683 ****
* @param dt The time interval (in seconds)
*/
! void addTime(time_t dt) {
! Zulu::addTime(dt);
! addDays(reduce());
}
! void setTime(time_t t) {
! Zulu::setTime(t);
! addDays(reduce());
}
double getJulianDate() const {
double j = getJulian();
! double t = getTime() * F1p0_86000p0 + 0.5;
return j + t;
}
--- 679,702 ----
* @param dt The time interval (in seconds)
*/
! int addTime(time_t dt) {
! int days = Zulu::addTime(dt);
! addDays(days);
! return days;
}
!
! /**
! * Set the current time, with date rollover.
! *
! * @param t The current time of day (in seconds)
! */
! int setTime(time_t t) {
! int days = Zulu::setTime(t);
! addDays(days);
! return days;
}
double getJulianDate() const {
double j = getJulian();
! double t = getTime() * F1p0_86400p0 + 0.5;
return j + t;
}
***************
*** 747,751 ****
/* The difference between two times. Both times
! * should be in the range [0, 86000).
*
* @param a A time value.
--- 766,770 ----
/* The difference between two times. Both times
! * should be in the range [0, 86400).
*
* @param a A time value.
***************
*** 754,758 ****
static SimTime interval(SimTime a, SimTime b) {
a -= b;
! if (a < 0.0) return a + 86000.0;
return a;
}
--- 773,777 ----
static SimTime interval(SimTime a, SimTime b) {
a -= b;
! if (a < 0.0) return a + 86400.0;
return a;
}
***************
*** 781,785 ****
* Set the time reference to produce the desired target time
*
! * @param target The desired simulation time, right NOW! (seconds: 0-86000)
*/
void setReferenceTime(SimTime target) {
--- 800,804 ----
* Set the time reference to produce the desired target time
*
! * @param target The desired simulation time, right NOW! (seconds: 0-86400)
*/
void setReferenceTime(SimTime target) {
***************
*** 806,809 ****
--- 825,854 ----
bool isPaused() {
return paused;
+ }
+
+ /**
+ * Increment the current time, with date rollover and reference fixup.
+ *
+ * @param dt The time interval (in seconds)
+ */
+ int addTime(time_t dt) {
+ int days = DateZulu::addTime(dt);
+ if (days != 0) {
+ reference += days * 86400.0;
+ }
+ return days;
+ }
+
+ /**
+ * Set the current time, with date rollover and reference fixup.
+ *
+ * @param t The current time of day (in seconds)
+ */
+ int setTime(time_t t) {
+ int days = DateZulu::setTime(t);
+ if (days != 0) {
+ reference += days * 86400.0;
+ }
+ return days;
}
Index: InterfaceRegistry.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/InterfaceRegistry.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** InterfaceRegistry.h 23 Apr 2003 09:14:20 -0000 1.14
--- InterfaceRegistry.h 2 May 2003 20:59:04 -0000 1.15
***************
*** 360,363 ****
--- 360,371 ----
#ifdef SWIG
+ #define SIMDATA_BIT(id, var, bit, req)
+ #else
+ #define SIMDATA_BIT(id, var, bit, req) .def(id, &var, bit, req)
+ #endif
+
+ //-----------------------------------------
+
+ #ifdef SWIG
#define END_SIMDATA_XML_INTERFACE
#else
Index: ObjectInterface.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/ObjectInterface.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** ObjectInterface.h 23 Apr 2003 09:14:21 -0000 1.14
--- ObjectInterface.h 2 May 2003 20:59:04 -0000 1.15
***************
*** 110,113 ****
--- 110,160 ----
+ template <class C, typename T>
+ class MemberMaskAccessor: public MemberAccessorBase
+ {
+ T C::* member;
+ T mask;
+ public:
+ MemberMaskAccessor(T C::*pm, std::string name_, int mask_, bool required_) {
+ member = pm;
+ name = name_;
+ mask = mask_;
+ required = required_;
+ }
+ virtual TypeAdapter const get(Object *o) const throw(TypeMismatch) {
+ C * object = dynamic_cast<C *>(o);
+ if (object == NULL) {
+ throw TypeMismatch("get(\"" + name + "\"): Object class does not match interface.");
+ }
+ return TypeAdapter(object->*member);
+ }
+ virtual void set(Object *o, TypeAdapter const &v) throw(TypeMismatch) {
+ C * object = dynamic_cast<C *>(o);
+ if (object == NULL) {
+ throw TypeMismatch("set(\"" + name + "\"): Object class does not match interface.");
+ }
+ if (mask != 0) {
+ T value;
+ v.set(value);
+ if (value != 0) {
+ object->*member |= mask;
+ } else {
+ object->*member &= ~mask;
+ }
+ } else {
+ v.set(object->*member);
+ }
+ }
+ virtual void pack(Object *o, Packer &p) const {
+ C * object = dynamic_cast<C *>(o);
+ p.pack(object->*member);
+ }
+ virtual void unpack(Object *o, UnPacker &p) {
+ C * object = dynamic_cast<C *>(o);
+ p.unpack(object->*member);
+ }
+ };
+
+
/**
* class MemberAccessor - Class for storing and accessing member variable
***************
*** 258,261 ****
--- 305,389 ----
}
};
+
+ template <class C>
+ class MemberAccessor< C, int >: public MemberMaskAccessor<C, int> {
+ public:
+ MemberAccessor(int C::*pm, std::string name_, bool required_):
+ MemberMaskAccessor<C, int>(pm, name_, 0, required_) { }
+ MemberAccessor(int C::*pm, std::string name_, int mask_, bool required_):
+ MemberMaskAccessor<C, int>(pm, name_, mask_, required_) { }
+ };
+
+ template <class C>
+ class MemberAccessor< C, short >: public MemberMaskAccessor<C, short> {
+ public:
+ MemberAccessor(short C::*pm, std::string name_, bool required_):
+ MemberMaskAccessor<C, short>(pm, name_, 0, required_) { }
+ MemberAccessor(short C::*pm, std::string name_, int mask_, bool required_):
+ MemberMaskAccessor<C, short>(pm, name_, mask_, required_) { }
+ };
+
+ template <class C>
+ class MemberAccessor< C, char >: public MemberMaskAccessor<C, char> {
+ public:
+ MemberAccessor(char C::*pm, std::string name_, bool required_):
+ MemberMaskAccessor<C, char>(pm, name_, 0, required_) { }
+ MemberAccessor(char C::*pm, std::string name_, int mask_, bool required_):
+ MemberMaskAccessor<C, char>(pm, name_, mask_, required_) { }
+ };
+
+ /*
+ template <class C>
+ class MemberAccessor< C, int >: public MemberAccessorBase
+ {
+ int C::* member;
+ int mask;
+ public:
+ MemberAccessor(int C::*pm, std::string name_, bool required_) {
+ member = pm;
+ name = name_;
+ mask = 0;
+ required = required_;
+ }
+ MemberAccessor(int C::*pm, std::string name_, int mask_, bool required_) {
+ member = pm;
+ name = name_;
+ mask = mask_;
+ required = required_;
+ }
+ virtual TypeAdapter const get(Object *o) const throw(TypeMismatch) {
+ C * object = dynamic_cast<C *>(o);
+ if (object == NULL) {
+ throw TypeMismatch("get(\"" + name + "\"): Object class does not match interface.");
+ }
+ return TypeAdapter(object->*member);
+ }
+ virtual void set(Object *o, TypeAdapter const &v) throw(TypeMismatch) {
+ C * object = dynamic_cast<C *>(o);
+ if (object == NULL) {
+ throw TypeMismatch("set(\"" + name + "\"): Object class does not match interface.");
+ }
+ if (mask != 0) {
+ int value;
+ v.set(value);
+ if (value != 0) {
+ object->*member |= mask;
+ } else {
+ object->*member &= ~mask;
+ }
+ } else {
+ v.set(object->*member);
+ }
+ }
+ virtual void pack(Object *o, Packer &p) const {
+ C * object = dynamic_cast<C *>(o);
+ p.pack(object->*member);
+ }
+ virtual void unpack(Object *o, UnPacker &p) {
+ C * object = dynamic_cast<C *>(o);
+ p.unpack(object->*member);
+ }
+ };
+ */
#endif
***************
*** 386,389 ****
--- 514,527 ----
#else
table[name] = new MemberAccessor<C, T>(pm, name, required);
+ #endif
+ return *this;
+ }
+ template<typename T>
+ Self& def(const char *name, T C::*pm, int mask, bool required) throw(InterfaceError) {
+ if (variableExists(name)) throw InterfaceError("interface variable \"" + std::string(name) + "\" multiply defined.");
+ #ifdef __PTS_SIM__
+ table[name] = new typename PTS::SELECT_ACCESSOR<C, T>::ACCESSOR(pm, name, required);
+ #else
+ table[name] = new MemberAccessor<C, T>(pm, name, mask, required);
#endif
return *this;
Index: Pack.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/Pack.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Pack.h 23 Apr 2003 09:14:21 -0000 1.5
--- Pack.h 2 May 2003 20:59:04 -0000 1.6
***************
*** 46,54 ****
class DataArchive;
! /**
! * Base class for objects that support serialization to data archives.
! *
! * @author Mark Rose <mr...@st...>
! */
--- 46,51 ----
class DataArchive;
!
! SIMDATA_EXCEPTION(DataUnderflow);
***************
*** 79,82 ****
--- 76,87 ----
// overloaded packing
+ void pack(char x) {
+ write(&x, sizeof(char));
+ _n += sizeof(char);
+ }
+ void pack(short x) {
+ write(&x, sizeof(short));
+ _n += sizeof(short);
+ }
void pack(int x) {
write(&x, sizeof(int));
***************
*** 176,180 ****
void unpack(double& y) {
_n -= sizeof(double);
! assert(_n >= 0);
memcpy(&y, _d, sizeof(double));
_d += sizeof(double);
--- 181,185 ----
void unpack(double& y) {
_n -= sizeof(double);
! if (_n < 0) throw DataUnderflow();
memcpy(&y, _d, sizeof(double));
_d += sizeof(double);
***************
*** 182,186 ****
void unpack(float& y) {
_n -= sizeof(float);
! assert(_n >= 0);
memcpy(&y, _d, sizeof(float));
_d += sizeof(float);
--- 187,191 ----
void unpack(float& y) {
_n -= sizeof(float);
! if (_n < 0) throw DataUnderflow();
memcpy(&y, _d, sizeof(float));
_d += sizeof(float);
***************
*** 188,192 ****
void unpack(int& y) {
_n -= sizeof(int);
! assert(_n >= 0);
memcpy(&y, _d, sizeof(int));
_d += sizeof(int);
--- 193,197 ----
void unpack(int& y) {
_n -= sizeof(int);
! if (_n < 0) throw DataUnderflow();
memcpy(&y, _d, sizeof(int));
_d += sizeof(int);
***************
*** 197,203 ****
y = (x != 0);
}
void unpack(hasht& y) {
_n -= sizeof(hasht);
! assert(_n >= 0);
memcpy(&y, _d, sizeof(hasht));
_d += sizeof(hasht);
--- 202,220 ----
y = (x != 0);
}
+ void unpack(short& y) {
+ _n -= sizeof(short);
+ if (_n < 0) throw DataUnderflow();
+ memcpy(&y, _d, sizeof(short));
+ _d += sizeof(short);
+ }
+ void unpack(char& y) {
+ _n -= sizeof(char);
+ if (_n < 0) throw DataUnderflow();
+ memcpy(&y, _d, sizeof(char));
+ _d += sizeof(char);
+ }
void unpack(hasht& y) {
_n -= sizeof(hasht);
! if (_n < 0) throw DataUnderflow();
memcpy(&y, _d, sizeof(hasht));
_d += sizeof(hasht);
***************
*** 208,212 ****
y = (char*) malloc(sizeof(char)*(n+1));
_n -= n;
! assert(_n >= 0);
memcpy(y, _d, sizeof(char)*n);
y[n] = 0;
--- 225,229 ----
y = (char*) malloc(sizeof(char)*(n+1));
_n -= n;
! if (_n < 0) throw DataUnderflow();
memcpy(y, _d, sizeof(char)*n);
y[n] = 0;
Index: Pack.i
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/Pack.i,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Pack.i 28 Jan 2003 23:26:06 -0000 1.2
--- Pack.i 2 May 2003 20:59:04 -0000 1.3
***************
*** 9,12 ****
--- 9,14 ----
%rename(unpack_packable) SIMDATA(UnPacker)::unpack(BaseType&);
+ %ignore SIMDATA(Packer)::pack(char);
+ %ignore SIMDATA(Packer)::pack(short);
%ignore SIMDATA(Packer)::pack(hasht);
%ignore SIMDATA(Packer)::pack(std::string&);
***************
*** 14,17 ****
--- 16,21 ----
%ignore SIMDATA(Packer)::pack(const std::string&);
+ %ignore SIMDATA(UnPacker)::unpack(char &);
+ %ignore SIMDATA(UnPacker)::unpack(short &);
%ignore SIMDATA(UnPacker)::unpack(hasht &);
%ignore SIMDATA(UnPacker)::unpack(std::string&);
Index: TypeAdapter.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/TypeAdapter.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** TypeAdapter.h 23 Apr 2003 09:14:21 -0000 1.11
--- TypeAdapter.h 2 May 2003 20:59:04 -0000 1.12
***************
*** 161,164 ****
--- 161,167 ----
// list
+ void set(short &x) const { IntCheck(); x = static_cast<short>(var.i); }
+ void set(char &x) const { IntCheck(); x = static_cast<char>(var.i); }
+
void set(int &x) const { IntCheck(); x = static_cast<int>(var.i); }
void set(bool &x) const { IntCheck(); x = (var.i != 0); }
Index: osg.h
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Include/SimData/osg.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** osg.h 23 Apr 2003 09:14:21 -0000 1.1
--- osg.h 2 May 2003 20:59:04 -0000 1.2
***************
*** 35,54 ****
#include <SimData/Quaternion.h>
! #include <osg::Vec3>
! #include <osg::Matrix>
! #include <osg::Quat>
NAMESPACE_SIMDATA
! osg::Vec3 toOSG(Vector3 const &v) {
return osg::Vec3(v.x, v.y, v.z);
}
! Vector3 fromOSG(osg::Vec3 const &v) {
! return Vector3(v.x, v.y, v.z);
}
! osg::Matrix toOSG(Matrix3 const &m) {
return osg::Matrix(m[0][0], m[0][1], m[0][2], 0.0,
m[1][0], m[1][1], m[1][2], 0.0,
--- 35,54 ----
#include <SimData/Quaternion.h>
! #include <osg/Vec3>
! #include <osg/Matrix>
! #include <osg/Quat>
NAMESPACE_SIMDATA
! inline osg::Vec3 toOSG(Vector3 const &v) {
return osg::Vec3(v.x, v.y, v.z);
}
! inline Vector3 fromOSG(osg::Vec3 const &v) {
! return Vector3(v.x(), v.y(), v.z());
}
! inline osg::Matrix toOSG(Matrix3 const &m) {
return osg::Matrix(m[0][0], m[0][1], m[0][2], 0.0,
m[1][0], m[1][1], m[1][2], 0.0,
***************
*** 57,72 ****
}
! Matrix3 fromOSG(osg::Matrix const &m) {
! return osg::Matrix(m(0, 0), m(0, 1), m(0, 2),
! m(1, 0), m(1, 1), m(1, 2),
! m(2, 0), m(2, 1), m(2, 2));
}
! osg::Quat toOSG(Quaternion const &q) {
return osg::Quat(q.w, q.x, q.y, q.z);
}
! Quaternion fromOSG(osg::Quat const &q) {
! return Quaterion(q.w(), q.x(), q.y(), q.z());
}
--- 57,72 ----
}
! inline Matrix3 fromOSG(osg::Matrix const &m) {
! return Matrix3(m(0, 0), m(0, 1), m(0, 2),
! m(1, 0), m(1, 1), m(1, 2),
! m(2, 0), m(2, 1), m(2, 2));
}
! inline osg::Quat toOSG(Quaternion const &q) {
return osg::Quat(q.w, q.x, q.y, q.z);
}
! inline Quaternion fromOSG(osg::Quat const &q) {
! return Quaternion(q.w(), q.x(), q.y(), q.z());
}
|
|
From: <mk...@us...> - 2003-05-02 20:59:08
|
Update of /cvsroot/csp/APPLICATIONS/SimData/Source
In directory sc8-pr-cvs1:/tmp/cvs-serv3500/Source
Modified Files:
DataArchive.cpp DataManager.cpp Date.cpp Link.cpp
Log Message:
see CHANGES
Index: DataArchive.cpp
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Source/DataArchive.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** DataArchive.cpp 23 Apr 2003 09:14:22 -0000 1.7
--- DataArchive.cpp 2 May 2003 20:59:05 -0000 1.8
***************
*** 377,385 ****
InterfaceProxy *proxy = InterfaceRegistry::getInterfaceRegistry().getInterface(t->classhash);
if (!proxy) {
if (path_str) {
SIMDATA_LOG(LOG_ARCHIVE, LOG_ERROR, "getObject(" << path_str << "):");
}
SIMDATA_LOG(LOG_ARCHIVE, LOG_ERROR, "Interface proxy [" << t->classhash << "] not found.");
! throw MissingInterface("Missing interface for " + t->classhash.str());
}
Object *dup = proxy->createObject();
--- 377,393 ----
InterfaceProxy *proxy = InterfaceRegistry::getInterfaceRegistry().getInterface(t->classhash);
if (!proxy) {
+ std::string msg = "Missing interface for";
if (path_str) {
SIMDATA_LOG(LOG_ARCHIVE, LOG_ERROR, "getObject(" << path_str << "):");
+ msg = msg + " '" + path_str + "'";
+ } else {
+ path_map::iterator i = _pathmap.find(key);
+ if (i != _pathmap.end()) {
+ msg = msg + " '" + i->second + "'";
+ }
}
SIMDATA_LOG(LOG_ARCHIVE, LOG_ERROR, "Interface proxy [" << t->classhash << "] not found.");
! msg = msg + " " + t->classhash.str();
! throw MissingInterface(msg);
}
Object *dup = proxy->createObject();
***************
*** 403,407 ****
SIMDATA_LOG(LOG_ARCHIVE, LOG_DEBUG, "got object " << dup->getClassName());
dup->_setPath(key);
! dup->unpack(p);
if (chain) {
dup->postCreate();
--- 411,421 ----
SIMDATA_LOG(LOG_ARCHIVE, LOG_DEBUG, "got object " << dup->getClassName());
dup->_setPath(key);
! try {
! dup->unpack(p);
! } catch (DataUnderflow &e) {
! e.clear();
! SIMDATA_LOG(LOG_ARCHIVE, LOG_ERROR, "INTERNAL ERROR: Object extraction incomplete for class '" << dup->getClassName() << "'.");
! throw CorruptArchive("Object extraction incomplete for class '" + std::string(dup->getClassName()) + "'");
! }
if (chain) {
dup->postCreate();
***************
*** 433,437 ****
cache_map::const_iterator i = static_map.find(key);
if (i == static_map.end()) return 0;
! return &((*i).second);
}
--- 447,472 ----
cache_map::const_iterator i = static_map.find(key);
if (i == static_map.end()) return 0;
! return &(i->second);
! }
!
! void DataArchive::cleanStatic() {
! std::vector<ObjectID> unused;
! unused.reserve(64);
! if (!static_map.empty()) {
! cache_map::const_iterator i = static_map.begin();
! cache_map::const_iterator j = static_map.end();
! for (; i != j; i++) {
! if (i->second.unique()) {
! unused.push_back(i->first);
! }
! }
! }
! if (!unused.empty()) {
! std::vector<ObjectID>::iterator i = unused.begin();
! std::vector<ObjectID>::iterator j = unused.end();
! for (; i != j; i++) {
! static_map.erase(static_map.find(*i));
! }
! }
}
Index: DataManager.cpp
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Source/DataManager.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** DataManager.cpp 23 Apr 2003 09:14:22 -0000 1.2
--- DataManager.cpp 2 May 2003 20:59:05 -0000 1.3
***************
*** 103,106 ****
--- 103,107 ----
DataArchive *archive = 0;
if (idx != _archive_map.end()) {
+ assert(idx->second >= 0 && idx->second < _archives.size());
archive = _archives[idx->second];
}
***************
*** 119,122 ****
--- 120,131 ----
}
+ void DataManager::cleanStatic() {
+ std::vector<DataArchive*>::iterator i;
+ for (i = _archives.begin(); i != _archives.end(); i++) {
+ if (*i) {
+ (*i)->cleanStatic();
+ }
+ }
+ }
NAMESPACE_END // namespace simdata
Index: Date.cpp
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Source/Date.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Date.cpp 28 Jan 2003 23:26:07 -0000 1.2
--- Date.cpp 2 May 2003 20:59:05 -0000 1.3
***************
*** 358,364 ****
int Zulu::reduce() {
int days = 0;
! if (overflow()) {
! days = (int) (m_time * 0.00001162790697674418);
! m_time -= days * 86000.0f;
}
return days;
--- 358,366 ----
int Zulu::reduce() {
int days = 0;
! if (overflow() || m_time < 0.0) {
! days = (int) (m_time * 0.00001157407407407407);
! if (m_time < 0.0) days--;
! m_time -= days * 86400.0f;
! std::cout << m_time << " : " << days << std::endl;
}
return days;
Index: Link.cpp
===================================================================
RCS file: /cvsroot/csp/APPLICATIONS/SimData/Source/Link.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Link.cpp 23 Apr 2003 09:14:23 -0000 1.1
--- Link.cpp 2 May 2003 20:59:05 -0000 1.2
***************
*** 89,95 ****
Path _p(path);
LinkBase _ppb;
! try {
_ppb = archive->getObject(_p);
! }
catch (Exception e) {
e.details();
--- 89,104 ----
Path _p(path);
LinkBase _ppb;
! /*
! * XXX this is a bit tricky. if we don't surpress the exception,
! * we probably leave partially constructed objects in an incomplete
! * state. if we eat the exception, the object ends up with a null
! * pointer, but there's no way to globally catch the error...
! * XXX for now, pass on the exception.
! */
! //try {
!
_ppb = archive->getObject(_p);
! //}
! /*
catch (Exception e) {
e.details();
***************
*** 97,100 ****
--- 106,110 ----
return;
}
+ */
*this = _ppb;
Object* p = _reference;
|