The Mixed Reality Simulation Platform (MIXR), or simply, the Mixer Platform, is a multi-platform simulation platform designed to help simulation engineers and software developers rapidly prototype and build robust, scalable, virtual, constructive, stand-alone, and distributed simulation applications. It has been used extensively to build applications that demand deterministic real-time performance. This includes applications used to support human factor studies, operator training, or the development of complete distributed virtual simulation systems. The Mixer Platform has also been used to build stand-alone and distributed constructive applications oriented at system performance analysis.
Mixer is a mature software simulation platform that has been in active development for over a decade. The framework includes interoperability interfaces to support the development of distributed applications, as it includes interfaces that support the Distributed Interactive Simulation (DIS) protocol. Numerous DIS compliant distributed simulation applications have been built using this framework as the foundation.
The platform is described in the book titled “Design & Construction of Virtual and Constructive Simulations Using OpenEaagles” (OpenEaagles was its previous name). This is one of the first modeling and simulation books published that focuses on the construction techniques of virtual and constructive performance-oriented high fidelity simulations.
Thursday, September 28, 2017: The next release of MIXR is currently in the works. As part of this next release, a few high-level, organizational aspects will change as follows:
Making these adjustments has facilitated improves in the code base, and helped ease the creation of more visually interesting examples. For instance, the old 'SimpleOTW' example has been revamped, updated and improved to serve as a simple image generator example for MIXR-based simulations!
Monday, August 07, 2017 : All MIXR classes include a method called serialize() that can be used to write and save object state data associated with input configuration parameters (i.e., slots). Using this feature, in theory, a subset of state data for each created object within a executing simulation application could be recorded and used to reset or restart an application at any given time with a degree of precision - a 'checkpoint' of sorts.
While, this feature is interesting and potentially very useful in certain situations, it does require additional effort from a developer to not only understand its role, but also to fully define serialization behavior for each and every class. This includes the semantics of what is intended by a 'reset' or 'restart' - which is not always entirely clear, as it often depends on purpose. Because of this, it is believed that many developers simply don't define anything (i.e., leave the method empty) or redefine it (if already defined) to do what they want.
Given this situation, and the belief no one is even using this feature, we are considering removing this aspect of object functionality from the code base to reduce code size and overall complexity.
This post solicits feedback from the community on this topic. If you feel strongly about retaining this feature, please send an email or post a comment on the forum. If we don't hear anything within a reasonable amount of time, this method (and capability) will most likely be removed in favor of simplicity.
Saturday, July 29, 2017 : MIXR was just tested with Fedora 26, which includes GCC 7.1.1 compiler; everything works, as expected. The Linux install notes page has been updated to reflect Fedora's move to 'dnf' to install packages.
Wednesday, June 28, 2017 : This release presents the successor to the OpenEaagles project called the Mixed Reality Simulation Platform (MIXR). To facilitate the transition from OpenEaagles to MIXR, no API or functional changes have been made from the previous OpenEaagles release (v17.06a); all changes are associated with the renaming of project artifacts. This includes the name of include file paths (e.g., #include “mixr/base/Object.hpp' as opposed to #include “openeaagles/base/Object.hpp”), namespace (i.e., 'namespace mixr' as opposed to 'namespace oe'), and compiled libraries (e.g., 'mixr_base' as opposed to 'oe_base').
The mixer platform provides lots of support for building highly interactive (real-time) simulation applications, that often include graphics and interoperability interfaces. Given that MIXR is not oriented at gaming (it's not a game engine!), but oriented to support more serious concerns, we felt it appropriate to align project name with the domain for which it offers strong support (i.e., mixed reality applications).
We use the term 'platform' as opposed to 'framework' to indicate our goal of expanding (or widen) the scope of applications that can be created. A new website is being developed.
Thursday, June 1, 2017 : This release includes numerous relatively minor documentation improvements throughout the framework - no API functionality or changes have been made. This 'a' version does fix a problem with one of the examples.
Wednesday, April 4, 2017 : This release includes a substantial number of updates and improvements. A major theme is the use of modern C++ paradigms and concepts (i.e., C++11/14/17) in conjunction with more use of standard library capabilities. The refactoring of existing code to embrace and leverage these concepts available in current compilers (e.g., Visual Studio 2013, 2015, 2017, GCC, Clang, etc.) is proving beneficial in many ways. Not only is the number of lines of code shrinking, so-called RAII concepts are beginning to surface, and the general understandability of what exists, how it works, and how it's initialized is more accessible. In a nutshell, we are striving to make the package more flexible and capable by removing complexity rather than by exposing new functionality.
Consistent with this goal is the effort to more clearly separate (i.e., divorce) simulation 'models' (i.e., classes/objects that define aspects of a system or world to be simulated), from the mechanics of their execution. This move has been partially motivated by Domain Driven Design concepts and is reshaping the framework in ways to make it more extensible and versatile. Soon it could be argued that OpenEaagles is not just a framework, but a fairly comprehensive platform to build an even wider range of simulation applications.
This release includes explicit support for Visual Studio 2013, 2015 and 2017 as well as improved 3rd party package build scripts for Linux-based GCC and Clang compilers. OpenEaagles is regularly compiled and used with Ubuntu and RedHat-based Linux distributions (Xubuntu 16.10/GCC 6.2.0 and CentOS 7.3/GCC 4.8 specifically).
Update: OE version 17.04 has been tested with Xubuntu 17.04/GCC 6.3.0 and much older Linux Mint 15/GCC 4.7.3 without issue. In other words, we have been compiling, building and running examples using a wide variety of compilers to ensure no rough edges in the software or built system exist.
Friday, November 11, 2016 : This release fixes a bug from previous release and substantially improves the included Qt-based simulation example. We also improved the build script included with 3rd party source code to streamline compilation on CentOS 7 Linux distributions.
Sunday, October 23, 2016 : Corrected a bug related to a “unused” macro unintentionally being used in a way not intended; GCC 6.20 compiler picked up on conflict and flagged code as in error (GCC 6.20 is installed by default with the Ubuntu 16.10 release). Lesson learned - macros stink and can be dangerous. Modern C++ compilers in general not only generate errors for C++ code that does not conform to standard or syntactically make sense, they also are starting to generate warnings if code quality or clarity of purpose is in question - this is a good thing.
Monday, October 17, 2016 : Latest stable version of OpenEaagles posted. This release includes a few code corrections and adjustments to improve consistency. The major change for this release includes the renaming of include file extensions from *.h to *.hpp. This was done to make explicit the nature of file contents – namely, C++ declarations and/or template code. The practice of clearly differentiating C from C++ is not always done, but is considered good practice within the community as it yields clarity of file purpose and other benefits. One particular benefit to moving this direction concerns code compilation using precompiled headers (e.g., compiling a *.h file to either *.pch or *.gch to improve performance) - if C++ code is found in a *.h file, a warning often results.
Wednesday, June 1, 2016 : Latest stable version of OpenEaagles posted. This release includes a considerable amount of work poured into the framework over the past year. See included changelog for details. This release starts a steady transition to leveraging modern C++11 capabilities. It is fully supported by the Visual Studio 2013 and 2015 compilers, as well as modern versions of GCC and Clang.
Wednesday, March 23, 2016 : Expect a new release soon. A considerable amount of work has been in progress these past few months. Planned support includes Visual Studio 2015.
Saturday, July 11, 2015 : Latest stable version of OpenEaagles posted.
Friday, June 19, 2015 : Leveraging Coverity's static analyzer results, we have reduced 'defect density' statistic for the entire OpenEaagles framework to only 0.12. To put this number in context, Linux, the gold standard in terms of quality benchmarks has a defect density of only 0.59, and typical proprietary code measures in about 0.68.
Of the initial 175 defects identified by Coverity, 139 have been addressed. It should be stated that no particular issue raised significant concerns, but stomping out potential issues is both good practice, and yields higher quality software.
Soon, we will be posting a new release which captures these improvements.
Friday, May 15, 2015 : We have started using Coverity's online scan static analysis tool as another quality check on framework source code. The posted OpenEaagles project with analysis results at Coverity's website can be found here.
Coverity's web interface to analysis results is impressive and provides useful meaningful information with few apparent false negatives (a common problem with static code analysis tools). Generally speaking, the framework codebase is quite clean - but it did reveal a few issues to address before next release.
Friday, May 15, 2015 : After having spent a considerable amount of time manually working and nearly completing this effort, we come to discover clang's automated modernizer tool. Clang is a compiling environment/system, and modernizer is support tool that can be used to convert, transform or migrate existing C++ code to use newer, more 'modern' programming features introduced in C++11. For example, the intelligent replacement of 0's or NULL's with 'nullptr' and the discovery of where the context keyword 'override' can be used are two such transformations. Specifically, modernizer will locate where to apply particular transformations and perform them as directed.
The progress status for this effort is 100% complete for the framework, and about 70% for the examples. Having discovered this tool, the remaining work should happen quickly. All work is posted in GitHub repo.
Saturday, April 11, 2015 : We have started the process of adopting C++11's nullptr throughout the framework. The introduction of this literal (of type std::nullptr_t) finally once and for all unambiguously defines a pointer as pointing at nothing. Previously, developers indicated this meaning by setting pointers to either the macro NULL (macros are bad!) or simply the integer value 0 (as done throughout openeaagles). Like override leveraging this literal improves code documentation and also helps prevent some interesting side efforts from occurring.
Starting with Visual Studio 2010, nullptr is fully supported - the GCC and clang toolchains have supported it for some time. As with override adopting it allows us to continue to step forward by simultaneously improving code quality and documentation without severely impacting legacy compiler support.
This effort is underway within the git repo on GitHub and will take some time - locating all the instances where nullptr should be used requires careful examination of each class - which in many ways provides the motivation and clear rationale to adopt it in the first place.
Note: The use of nullptr does not impact the compatibility of this software or affect applications built using it. It simply improves the quality of the underlying code-base.
Friday, April 10, 2015 : We have embraced the C++11 defined context sensitive keyword override throughout the framework. Using override throughout the framework serves two important purposes; 1) it adds clarity and serves as a form of documentation to developers - by using it, overridden subclass methods are clearly distinguished from newly defined ones, and 2) it informs the compiler as to developer intent - meaning, it marks the method(s) that are intended to be overrides and not intended to define new ones that possibly inadvertently shadow base methods.
Starting with Visual Studio 2010, override is fully supported - the GCC and clang toolchains have supported it for some time. Adopting it allows us to continue to step forward by simultaneously improving code quality and documentation without severely impacting legacy compiler support.
This effort has been completed in the git master branch on GitHub. Although somewhat of a herculean effort, the process of completing this was simplified considerably by leveraging Eclipse's C/C++ Development Tooling (CDT) plugin. The current version of CDT visually indicates overridden class methods in the editor, which aided in properly identifying and marking them.
Note: The use of override does not impact the compatibility of this software or affect applications built using it. It simply improves the quality of the underlying code-base.
Thursday, February 5, 2015 : Thanks to a nice contribution, we are adding support for the Military Grid Reference System. New capabilities will be in git repo within the next few days and included in next OE release.
Tuesday, February 3, 2015 : Framework and examples compile cleanly with Clang / LLVM compiling infrastructure. Clang++ did highlight a few virtual methods inadvertently being hidden in subclasses due to name scoping that will be corrected shortly.
Tuesday, December 16, 2014 : We hope to fully adopt cmake as our build system for the next release of the framework. Moving to cmake provides several advantages including support for the most recent versions of Visual Studio, more visible user selectable compiling options, and it's a valuable tool to implement continuous integration concepts.
FYI: Continuous integration (CI) is a software engineering practice in which isolated changes are immediately tested and reported on when they are added to a larger code base. The goal is to provide rapid feedback so that if a defect is introduced into the code base, it can be identified and corrected as soon as possible.
Monday, December 15, 2014 : Just compiled the oe framework using GCC 4.9.x which is part of Fedora 21 Linux - everything checks out ok. As a result, the 'Linux Notes' page has been updated to include more Fedora or 'yum'-based installation instructions.
We plan to support the Clang system and associated toolchain in the future.
Monday, October 27, 2014 : The frequently asked questions (FAQ) page on the website has been reformatted into individual forum topics. This ensures that answers to these questions are are found along with other forum searches.
Thursday, October 16, 2014 : A new Google Groups forum for OpenEaagles has just been established. Please post comments and/or questions at this new location. The old forum can still be searched and will be available in a 'read-only' mode until this transition is complete.
Monday, September 08, 2014 : Latest stable version of OpenEaagles posted. In this release, several bugs have been squashed (due to user feedback) and much effort has gone into improving the code base itself by revising some existing code to adhere to more stringent coding standards.
Friday, July 19, 2014 : We are planning on adding behavior tree modeling capability to the framework in this release followed by the inclusion of a substantial amount of work contributed by the Command and Control Laboratory at the Technological Institute of Aeronautics (ITA) in Brazil (in the next release). ITA has extended some of the existing behavior modeling capabilities of framework by providing interfaces to the Lua scripting language, the SOAR production system-based cognitive architecture and the CLIPS expert system.
Wednesday, May 28, 2014 : The next release of OpenEaagles is due out soon. In this release, a few bugs have been squashed (due to Forum feedback) and much effort has gone into improving the code base itself by revising some existing code to adhere to more stringent coding standards. Expect a new release to be posted within the next few weeks. As always, progress can be followed on GitHub here.
Friday, January 10, 2014 : Latest stable version of OpenEaagles posted. Much work has gone into the framework in several areas including: the addition of a small, simple, reconfigurable 4 degrees of freedom aerodynamic model (i.e., perfect for autonomous control), new Factory classes for all of the libraries, a number of bug fixes, improved code formatting and documentation, and improved organization and naming of framework examples. This release also includes an experimental ZeroMQ-based network handler with the examples.
Thursday, January 9, 2014 : OpenEaagles compiles cleanly with Visual Studio 2013, but, not all of 3rd party packages do, such as Google Protocol Buffers version 2.5.0. As soon as all 3rd party packages compile cleanly with VS 2013, an update of OpenEaagles3rdParty libraries will be posted.
Wednesday, December 4, 2013 : The next release of OpenEaagles is due out soon. As always, much work has gone into the framework in several areas including: the addition of a small, simple, reconfigurable 4 degrees of freedom aerodynamic model (i.e., perfect for autonomous control), a number of minor bug fixes, improved code formatting and documentation, and improved organization and naming of framework examples. Also planned is the inclusion of an experimental ZeroMQ-based network handler. This opens the door to a wide range of interesting networking capabilities. Progress can be followed on GitHub here.
Sunday, July 07 2013 : This release includes numerous improvements, support for Visual Studio 2012, and an updated vehicle interface class for a more recent version of JSBSim. Almost all of the 3rd party packages have also been updated.
Tuesday, January 08 2013 : Latest stable version of OpenEaagles posted.
Saturday, December 22 2012 : Updated the Linux installation notes page for Fedora and Ubuntu distributions.
Saturday, September 02 2012 : Latest stable version of OpenEaagles posted. This new version includes mostly bug fixes.
Thursday, July 26 2012 : Latest stable version of OpenEaagles posted. This new version includes a new data recording package that leverages Google's protocol buffers technology for efficiently storing simulation data in a binary format. Also included is a new behavioral modeling framework for developing intelligent agents.
Tuesday, March 06 2012 : Latest stable version of OpenEaagles posted.
Monday, January 23 2012 : Latest stable version of OpenEaagles posted.
Sunday, November 27 2011 : Latest stable version of OpenEaagles posted.
Wednesday, November 02 2011 : Latest developmental version posted. Includes updates to Fox and FLTK GUI examples, some Makefile improvements for Linux, a more consistent set of inputs across several examples to demonstrate “out-of-the-box” DIS interoperability across simulations (see mainSim1, mainSim2, mainSim3 and mainSim4).
Monday, October 24 2011 : Latest stable version of OpenEaagles posted. Update includes 64-bit platform compatibility.
Monday, September 26 2011 : Latest stable version of OpenEaagles posted. This update to v11.09 ensures player position (as calculated within a flat earth reference frame) does not exceed 180 degrees longitude (east or west).
Friday, September 17 2011 : Latest stable version of OpenEaagles posted.
Friday, August 27 2011 : Latest stable version of OpenEaagles posted.
Wednesday, August 17 2011 : New developmental version posted. Functionality has been added to the OpenGL-based Display class so that rendered graphics can be saved as a bitmap file. For a demonstration of capability, open and execute the “mainw” example - press the “f” key. A file called “test.bmp” will be saved.
Friday, August 05 2011 : New developmental version posted. Focus is on existing and new classes for navigation (Nav), predefined and user-defined earth models (EarthModel) and dead reckoning algorithms (NavDR).
Saturday, July 23 2011 : New developmental version posted. The most visible aspect of this version is a new OpenEaagles “glut” library that contains GLUT-specific graphic classes. This change promotes a cleaner separation of GLUT functionality from the more general OpenGL-based graphics toolkit. Also included in this release are two new applications that demonstrate how to display OE-based graphics using Fox and FLTK GUI toolkits.
Thursday, July 14 2011 : Latest stable version of OpenEaagles posted. Well tested with Visual Studio 2008 and 2010, Fedora 15 and Ubuntu 11.04. Package includes a host of improvements (see included changelog) and updated 32-bit 3rd party libraries for Visual Studio. This package also includes a current version of JSBSim.
Wednesday, June 01 2011 : New developmental version posted.
Sunday, April 24 2011 : The Linux Notes section has been significantly updated to provide instructions for installing OpenEaagles on Fedora and Ubuntu systems.
Friday, March 18 2011 : Microsoft just released service pack #1 for Visual Studio 2010. Therefore, we will recompile all 3rd party libraries with this service pack installed. Expect a new developmental version to be posted shortly with an updated set of 3rd party libraries.
Thursday, March 17 2011 : New developmental version posted. Several refinements can be seen, one is support for Visual Studio 2010 and MinGW compilers. This version being posted is most definitely being refined in several areas especially for MinGW support - it's being posted for those interested in seeing what's in the works.
Saturday, February 26 2011 : The next release of OpenEaagles is due out soon. Much work has gone into the framework in several areas, including an improved IR modeling environment, support for Visual Studio 2010, support for MinGW (this include Code::Blocks and CodeLite IDE support), a better set of GUI examples, etc. Expect a new developmental version to be posted soon.
Tuesday, November 23 2010 : Got a chance to look, touch and mess around with the Thustmaster HOTAS Warthog and the Saitek PRO Flight X-65F Combat Control System today - initial impression “Wow!” - very nice sets of hardware for the money. We will ensure that configuration (input) files for OE examples are setup to support both.
Saturday, November 06 2010 : A few changes to the Linux Makefiles have been made to ensure all examples compile cleanly with Ubuntu 10.10. A minor change to tutorial #5 is also included to illustrate how constructed objects can validate their data. This feature is leveraged by the OE parser to ensure input files are valid. The developmental version as of today reflects these changes and cleanly compiles with both Fedora 14 and Ubuntu 10.10.
Sunday, October 31 2010 : Latest developmental version of OpenEaagles posted. This version adds support for directed energy modeling and includes refinements in the IR modeling environment. The principle area of development is the refinement of the IR model environment with improved abstractions for both IR signature and IR atmosphere representation.
Monday, April 19 2010 : Latest version of OpenEaagles posted. This version principally updates the previous stable by correcting minor inconsistencies and use of the LCreal datatype across the framework. Now LCreal can be defined as either a single (float) or double (double) datatype for math operations. Other updates include the addition of user method which allows users to process PDUs that are not handled by the default PDU handlers.
Friday, March 13 2010 : Fixed a bug in the logger classes which prevented it from streaming simulation state data to a file. Also fixed a time of flight calculation in the Weapon class.
Wednesday, March 3 2010 : Fixed a flag setting in the Linux makedef file to correctly specify which version of FTGL is installed on a Linux box. Added more printed I/O diagnostic information for a joystick device installed on a Linux box. See downloads page.
Monday, March 1 2010 : Two issues addressed with this posting: 1) The integration of geodetic altitude has been fixed and 2) additional search paths to locate a Linux joystick device - Fedora 12 moved the default path. See downloads page.
Tuesday, Feb 23 2010 : After 10.02 was posted a problem was found with the FTGL library supplied in 3rd Party dependency package. The problem is associated with a Visual Studio project setting called “Whole Program Optimization”. Without getting into a long discussion as to what it does and all of the wonderful advantages it offers in optimizing code across modules, the lesson learned is - leave the default setting alone!
A new version of the 3rd Party package has been posted.
Sunday, Feb 21 2010 : Latest version of OpenEaagles posted. See downloads page.
Friday, Jan 15 2010 : A new developmental version of OE has been posted. We are getting ready to cut the next stable release.
Thursday, Sept 19 2009 : Updates to the latest stable version of OpenEaagles and tutorials now available. Click on the Downloads page.
Friday, July 03 2009 : Latest version of OpenEaagles now posted on Sourceforge.
Tuesday, June 16 2009 : Just after posting support for RC1, RC2 was released; OpenEaagles has been updated as a result. Only the 3rd party and examples files needed to change. Also some minor compiling issues with the latest version of GGC included with Fedora 11 have been corrected.
Sunday, June 14 2009 : Latest developmental copy of framework now includes support for JSBSim v1.0RC1. It is posted on Downloads page.
Friday, May 01 2009 : Latest developmental copy of framework has been posted on Downloads page.
Monday, March 09 2009 : Latest version of OpenEaagles in development now include support for CIGI Class Library (CL).
Saturday, February 21 2009 : The latest version of OpenEaagles in development is now posted on the Download page. Stable releases will continue to be posted to Sourceforge.
Monday, January 05 2009 : After some discussion recently held between core team and forum members, we decided to change the version numbering scheme used for OpenEaagles. This new scheme will follow the “Year.Month” style, also known as the “Ubuntu version scheme”.
Past versions using the older “Year_MonthDay” (for example 2008_1025) style have been updated throughout the website for the sake of consistency.
Monday, December 08 2008 : The slides used in the “Design & Implementation of Virtual Simulations” tutorial session at I/ITSEC have been posted. They can be found on the Documentation page.
Tuesday, November 26 2008 : We will be presenting a tutorial session titled “Design & Implementation of Virtual Simulations” at I/ITSEC this year. The session will be held on Monday, December 1 from 1030-1200 Room 414 CD. The tutorial will present a number of open-source projects such as the Virtual Terrain Project, SubrScene Image Generation Solution (IGS), CIGI, the poRTIco project, JSBSim and of course OpenEaagles. The focus is on building a virtual simulation leveraging these projects.
As a demonstration, a completely open-source virtual simulation system based on all these projects can be found at the Calytrix booth #2647. An example OpenEaagles-based application will be connected into a distributed environment that includes Microsoft ESP Visual Simulation Platform, BreakAway's mosbe, Calytrix's Combat Net Radio, VBS2, eSim Games Steel Beasts and OneSAF.
Saturday, October 04 2008 : Lots of details addressed in this version including our obsession with eliminating as many Visual Studio warnings as possible. The naming convention of input files has been changed. Files named with an extension of ”.d“ have been changed to ”.epp“ to indicate it's an input file used in the process of building a final description. Final loadable input files previously named with an extension of ”.dd“ has been changed to ”.edl“. EDL stands for Eaagles Description Language.
Saturday, October 04 2008 : New versions of all the GUI example packages which includes FOX, both versions of FLTK and wxWidgets has been uploaded. They can be found on the GUI Support page.
Saturday, July 19 2008 : GUI examples and packages for FOX, FLTK (both versions) and wxWidgets are now available off the GUI Support page. All packages can be compiled for Windows and Linux. They demonstrate how to leverage these popular x-platform GUI frameworks with OpenEaagles simulation and graphic capabilities.
Wednesday, June 25 2008 : A new version which rolls up all fixes found to date and breaks out the FOX, FLTK and wxWidgets GUI interface classes into their own respective packages has been posted. Fixes include support for 64-bit Linux, GCC 4.3 compilers and better adherence to coding standards in a few areas. GUI examples and packages will be available for download directly from the new GUI Support page soon. Starting with this version we have transitioned to the standard GNU Lesser General Public License (LGPL) to ensure maximum flexibility with code use in both open and commercial settings. See License page for additional details.
Sunday, March 30 2008 : A new version has been posted on Sourceforge. This version rolls up all fixes found to date and a few minor enhancements with regard to units (such as Angles, etc) and font handling. This version also includes is a terrain reader for the NASA Shuttle Radar Topography Mission (SRTM) digital topographic data. See the NASA site for additional details.
Thursday, March 27 2008 : A 30 minutes briefing on OpenEaagles will be presented at the PC Working Group Conference in Las Vegas on April 9th.
Tuesday, March 11 2008 : Access to the forum is a little on the slow side. I've pinged the web hosting service and they know about the problem. It works, you just have to be patient. Hopefully, it will be fixed soon.
Saturday, February 2 2008 : An article about OpenEaagles can be found in the January 2008 issue of the American Institute of Aeronautics and Astronautics (AIAA) Modeling and Simulation newsletter. The newsletter can be found on the documentation page.
Thursday, January 3 2008 : A forum for the OpenEaagles project has been established. It can be accessed by clicking on the Forum link on the sidebar. Announcement, updates, fixes and questions about the code base will be provided in the forum. Check it out!
Wednesday, December 19 2007 : The book titled “Designing & Implementing Virtual and Constructive Simulations Using OpenEaagles” is now available for purchase both in paperback or hardcover.
Monday, December 10 2007 : The simple out-the-window heads up display application “SimpleOtw” has been updated. The application utilizes a few components from OpenEaagles but primarily leverages OpenSceneGraph to draw the 3D graphics. It is now available on Sourceforge. The package now includes all third party libraries “SimpleOtw3rdParty” from OpenSceneGraph to link against, and required Dlls to run. Everything was compiled using Visual C++ 2005 Express Service Pack 1.
Monday, December 10 2007 : A new version has been posted on Sourceforge. This is the one referenced by the book titled “Designing & Implementing Virtual and Constructive Simulations Using OpenEaagles.” When compared to previous versions you will notice that we have specifically separated C++ source code implementation files (.cpp) from header files (.h). This facilitates the installation of header and library files in Linux (i.e. “make install”). Also of note is the removal of the “Lc” prefix in front of class names in the basic and basicGL libraries. Since OpenEaagles makes extensive use of namespaces, the legacy prefix is no longer needed. This has been compiled with Visual C++ 2005 Express Service Pack 1 and Fedora 8. Note: Visual C++ 2005 Express Service Pack #1 is an important service pack. All of the third party libraries included in OpenEaagles3rdParty have been compiled using this version.
This is a good solid version and should serve as a nice baseline for some anticipated updates. OpenEaagles contains plenty of power and punch to build a wide variety of virtual and constructive simulation systems. The next few releases will focus on improving installation and integration issues to the point where it is seamless.
Sunday, December 02 2007 : I/ITSEC 2007 was a great success this year for OpenEaagles. Special thanks to the CACI folks for providing us some booth space for an attractive display. The first printed copies of “Designing & Implementing Virtual and Constructive Simulations Using OpenEaagles” arrived via UPS the first day of the show. Talk about cutting it close! By the end of the show we had sold out and were taking advance orders. Shortly we will be posting a new OpenEaagles version that compliments the book examples.
Friday, November 16 2007 : Stop by and see the variety of applications that can be built utilizing the OpenEaagles framework at I/ITSEC this year (Nov 26-29). Knowledgeable folks will be available to answer questions and development activities. We will also have copies of the new book titled “Designing & Implementing Virtual and Constructive Simulations Using OpenEaagles” on display (see below). We will be located in the CACI booth # 2731.
Monday, November 12 2007 : The Linux Notes page has been updated. It now includes installation notes for the prerequisite FTGL, freetype and freeglut graphics libraries in order to build OpenEaagles. It also contains installation and compilation instructions for the CIGI interface and notes on the OpenEaagles GUI interface classes.
Thursday, November 8 2007 : A new book focused on developing virtual and constructive simulations is in the process of being published by The Wright State Research Institute. It is titled the “Design & Construction of Virtual and Constructive Simulations Using OpenEaagles.” This 280 page book consists of eight chapters as follows: 1) Introduction, 2) Background on Modeling and Simulation, 3) Basic Data Types & Classes, 4) Crafting Simulation, 5) Constructive Simulation, 6) Input Language, 7) Developing Compliant Simulations and 8) Developing Virtual Simulations. To our knowledge, this is the first hands on book to cover the design and implementation of both virtual and construction simulation applications. The book will come with example applications based off of the upcoming OpenEaagles version.
Thursday, August 9 2007 : The paper titled “An Approach To Human Behavior Modeling In An Air Force Simulation” published at the 2005 Winter Simulation Conference has been added to the documentation page. It presents a multi-level approach to incorporating more realistic human behavior models into simulations. The intelligent agents are hosted and leverage the OpenEaagles framework.
Tuesday, July 17 2007 : The SubrScene visualization toolkit has been released into the open-source world. SubrScene has been used extensively as the primary image generator (IG) system for OpenEaagles-based applications. This includes driving single or multiple video displays (channels) and domes. A typical configuration for assembling an interactive virtual simulator consists of the execution of an OpenEaagles-based application (the simulation), coupled with an IG system, like SubrScene to drive scenegraph based visuals, such as heads-up displays. A good mix is to utilize OpenEaagles graphics capabilities to draw interactive operator displays such as heads-down devices with its rich set of instruments, while tapping into SubrScene's scenegraph capabilities to draw complex 3D visuals. With SubrScene's SDK, scenegraph capabilities can be embedded into OpenEaagles-based operator displays.
Monday, July 16 2007 : A Linux notes page has been added to the site that contains a lot of useful installation tips when working with Fedora 7.
Monday, July 2 2007 : The threading issue with Linux has been fixed. Just download this new version of the Station class and replace it in the simulation directory. It will be incorporated into the next version.
Thursday, June 14 2007 : It has been discovered that the OpenEaagles “network” thread is not running correctly with either Fedora Core 6 or the latest Fedora 7. We believe is has to do with how the new thread library is now implemented in Linux. A fix is in the works.
Friday, May 4 2007 : OpenEaagles has been tested with Visual C++ 2005 Express and Windows Vista. Everything checks out ok. Note: In order to use Visual C++ 2005 Express with Vista a service pack from Microsoft is required.
Tuesday, April 10 2007 : A 30 minutes briefing on OpenEaagles will be presented at the PC Working Group Conference in Las Vegas on April 19th.
Sunday, February 4 2007 : The Thrustmaster HOTAS Cougar is a replica U.S. Air Force F-16 block 52 controller (stick and throttle). A Windows-only Control Panel is supplied with the Cougar to configure various options such as the use of the Microstick axes. Normally the Microstick cannot be read from Linux because it cannot be configured from Linux (no Control Panel exists to set them!). This released Linux application can read profile files (that yes, have been created with the Windows Control Panel) and configure the Cougar so that Linux applications can read the Microstick. This enables the high quality, reasonably priced HOTAS Cougar to be used more effectively with flight simulation applications. See the Hotas Cougar page for more information.
Thursday, January 18 2007 : With such an emphasis on frameworks, you might think we forgot about the projects and applications based upon OpenEaagles. We'll we didn't, check out the new Projects page for an ever growing list of interesting applications built using the OpenEaagles framework. A host of example applications are included with each OpenEaagles version as well.
Tuesday, January 16 2007 : Wright State University has posted a Doxygen-based set of documentation for OpenEaagles. They have reformatting much of the source code to facilitate comment and documentation extraction. This online set of documentation contains more information than our first cut with Doxygen. See the Documentation page for more information. WSU is also offering courses in simulation this Spring and Summer that will utilize OpenEaagles. More information to come.
Wednesday, December 13 2006 : Chris has been busy at work on a new application called “OpenSpace”. More information about this application can be found on the Applications page.
Monday, December 11 2006 : This version includes both debug and release versions of the JSBSim model library for both Visual C++ 2003 and 2005. This version resolves an interesting issue with the use of STL in Visual C++ 2005. Apparently when using the Standard Template Library (STL), Visual C++ 2005 expects applications compiled in debug mode to be linked to libraries compiled in debug mode if it uses STL. The same goes for release mode compiled applications. Much more discussion on this topic can be found in the newsgroups. So, to avoid the issue all together, we have expanded our 3rd party libraries to include both.
Saturday, December 9 2006 : Sightings of OpenEaagles sporting a new TENA interoperability interface can be found at the International Test and Evaluation Association (ITEA) Modeling and Simulation Conference in Las Cruces, New Mexico from December 11-14. Check out the Redstone Technical Test Center (RTTC) booth for details.
Thursday, December 7 2006 : Thanks to all those who visited our booth during I/ITSEC 2006. We were pleasantly surprised by the number of developers and companies already working with OpenEaagles and the interest by so many others. Make sure to report back on applications you build or any questions you encounter! So many questions were asked that we decided to start up an FAQ page. We are busy writing answers. Check back soon.
Thursday, November 30 2006 : This version includes the new 3D EADI instrument, a new example application (mainSim3) which uses it, and a CIGI interface for IG systems. With the example application driving the SimpleOTW application you can now “fly” around our recently released visual database. Note: For applications that utilize JSBSim and are compiled with Visual C++ Express 2005, please compile in Debug mode otherwise your application may fail. We hope to have a solution soon. December 1, 2006 Update! The problem with building a OpenEaagles based application linked with JSBSim under Visual C++ 2005 Express has apparently been solved. A new posting of OpenEaagles with a more inclusive set of 3rd party libraries will be posted soon.
Wednesday, November 29 2006 : The Portland, Oregon visual database and the SimpleOTW viewer application is now available for download.
Wednesday, November 22 2006 : Our first open source visual database is in the works. It was created by Rob Subr and will be shown at I/ITSEC 2006 along with a simple out-the-window (OTW) application called SimpleOTW. Both the database and application will posted on this site shortly. SimpleOTW was created leveraging OpenSceneGraph's scene graph rendering capabilities and OpenEaagles for input file definition, parsing and network support. If you happen to be at I/ITSEC, please stop by for a demo. OpenEaagles can be found on display in both booth #2077 and the General Dynamics booth #1815. We can also copy the database to your memory stick if desired. (It will save you time on the download as it's over 100MB in size.)
Saturday, November 18 2006 : This new 3 dimensional Electronic Attitude Direction Indicator (EADI) will be included in the OpenEaagles instrument package soon. It should be on display at I/ITSEC 2006.
Tuesday, November 14 2006 : Documentation in the form of conference papers, presentations, coding standards, training slide sets, and online doxygen generated output have been posted.
Saturday, November 11 2006 : The first in a series of training videos has been released. Click on the “Videos” link for more information.
Thursday, October 26 2006 : Makefile improvements for Linux plus additional functionality added to Joystick device class highlight the significant changes in this release. Additional notes concerning JSBSim installation under Linux also included.
Wednesday, October 25 2006 : Just tested OpenEaagles installation and compilation with the newly released Fedora Core 6. Everything checks out ok.
Sunday, October 22 2006 : This update cleans up a few installation issues and adds JSBSim to mainSim1, mainSim2, and mainx9 example applications. Make sure to read the ReadMe.txt file in the 3rd party directory to properly install the correct libraries to link against if you are using Visual Studio.
Monday, October 9 2006 : JSBSim interface class added to OpenEaagles vehicles library and JSBSim library added to 3rd party support packages for Visual C++ 2003 and 2005 Express. We still need to do some fine tuning, but it works. A simple example that exercises JSBSim is also in the works. Also the Doxygen configuration files have been updated to generate optional collaboration diagrams.
Tuesday, September 26 2006 : JSBSim is a high quality open source flight dynamics model that, thanks to Chris Buell, will be available in the next version of OpenEaagles. Check out the summer 2006 issue of the JSBSIM Quarterly newsletter for details.
Thursday, September 14 2006 : Special thanks to Jamil Khatib for allowing us to lift some of the artistic ideas from the OpenTech Project (a distribution package for open-source EDA tools and hardware designs) logo to use in our own. Thanks again!
Thursday, August 31 2006 : General update of source code. Also thanks the Bob Pritchard we now have a Doxygen configuration file for OpenEaagles. More documentation to be posted soon.
Saturday, August 5 2006 : This version streamlines the installation process for users of Visual C++ 2003 and Visual C++ 2005 Express. A package of precompiled 3rd party support tools such as freetype, FTGL, freeglut, FOX GUI Toolkit, and FLTK has been supplied to greatly simplify a Windows installation. This version has also been compiled with GCC in Fedora Core 5.
Wednesday, August 2 2006 : Come see the variety of applications built utilizing the OpenEaagles framework at I/ITSEC (Interservice/Industry Training, Simulation & Education Conference). Knowledgeable folks will be available to answer your questions. A draft copy of a conference paper to be presented this year on the OpenEaagles architecture and framework is now available.
Saturday, July 29 2006 : This website and the OpenEaagles sourceforge project has been created to facilitate the distribution of software. This site will serve as the primary source for OpenEaagles news and information.
Monday, July 17 2006 : OpenEaagles is based upon Eaagles, a popular simulation framework developed and maintained by the U.S. Air Force to support a multitude of simulation activities. OpenEaagles is a subset of Eaagles and has just been approved for public release.