1
0
Fork 0
flightgear/utils/fgpanel
ThorstenB 37453e6b7c #525 related: add compiler search path for every library
Consider search path for every single library as reported/found by CMake.
Most includes sit in the same directory (so the same directory is reported
for almost all libraries), however this may not be the case for every
system or library.
2011-12-18 12:40:34 +01:00
..
.gitignore Remove automake ignores. 2011-11-01 13:53:52 +01:00
ApplicationProperties.hxx fgpanel: improved path handling 2011-10-08 11:28:28 +02:00
CMakeLists.txt #525 related: add compiler search path for every library 2011-12-18 12:40:34 +01:00
FGFontCache.cxx Restructure GUI code, isolate PLIB in source files, to ease future refactoring and alternative GUI layers. 2011-11-19 20:25:51 +00:00
FGFontCache.hxx Restructure GUI code, isolate PLIB in source files, to ease future refactoring and alternative GUI layers. 2011-11-19 20:25:51 +00:00
FGGLApplication.cxx fgpanel: fixed some error handling/setup issues 2011-09-30 22:20:00 +02:00
FGGLApplication.hxx Initial commit of the fgpanel code 2011-04-14 11:11:17 +02:00
FGPanelApplication.cxx Fix win32 fgpanel build 2011-10-08 13:41:32 +02:00
FGPanelApplication.hxx let fgpanel compile under vc90 2011-05-27 20:53:16 +02:00
FGPanelProtocol.cxx std namespace missing everywhere in fgpanel 2011-11-14 08:31:00 +01:00
FGPanelProtocol.hxx Fix (nearly) all the std:: namespace violations in headers, in preparation for fixing SGsmplstat.hxx to *not* do a 'using namespace std'. 2011-10-17 17:41:59 +01:00
FGPNGTextureLoader.cxx fgpanel: fix compile for OSX 2011-06-04 21:27:04 +02:00
FGPNGTextureLoader.hxx Initial commit of the fgpanel code 2011-04-14 11:11:17 +02:00
FGRGBTextureLoader.cxx fgpanel: fix compile for OSX 2011-06-04 21:27:04 +02:00
FGRGBTextureLoader.hxx Initial commit of the fgpanel code 2011-04-14 11:11:17 +02:00
FGTextureLoaderInterface.hxx fgpanel: fix compile for OSX 2011-06-04 21:27:04 +02:00
main.cxx Initial commit of the fgpanel code 2011-04-14 11:11:17 +02:00
panel.cxx fgpanel: don't call nonexisting list 2011-10-27 08:31:24 +02:00
panel.hxx std namespace missing everywhere in fgpanel 2011-11-14 08:31:00 +01:00
panel_io.cxx Fixes for include-file flattening - condition.hxx no longer pulls in props or props_io 2011-07-30 10:47:28 +01:00
panel_io.hxx Initial commit of the fgpanel code 2011-04-14 11:11:17 +02:00
README Initial commit of the fgpanel code 2011-04-14 11:11:17 +02:00

=====================================================================
This is fgpanel - basically the stripped down 2D-Panel code from
FlightGear. It is designed as a standalone lightweight panel 
rendering engine to draw 2d panels on a lowcost computer/graphic card
without 3d acceleration at reasonablel framerates.

=====================================================================
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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

=====================================================================
Usage
start fgpanel with
fgpanel --fg-root=/path/to/fg/data --panel=Aircraft/MyAircraft/Panels/MyPanel.xml
with the command args set to
--fg-root shall point to the directory where your FGDATA lives
  NOTE: you don't need a full copy of FGDATA, just the panel definition files for
  your aircraft, e.g.
  - Aircraft/MyAircraft/Panels/*
  - Aircraft/Instruments/* (if referenced)

-panel shall point to a panel-configuration file, relative to FGDATA

start flightgear with
fgfs --generic=socket,out,10,239.24.10.64,5432,udp,../Aircraft/MyAircraft/Panels/SampleProtocol

=====================================================================
Sample:

Create the sample files within your aicraft directory, preferrable under Panels
MyPanel.xml
sample-2d-panel.xml
SampleProtocol.xml

=====================================================================
Sample panel configuration file (MyPanel.xml)
<PropertyList>

  <!-- true: run full-screen, false; run in window -->
  <game-mode type="bool">false</game-mode>

  <!-- include the panel definitions (2d-panel syntax)-->
  <panel include="sample-2d-panel.xml"/>

  <!-- compose your property-tree here -->
  <sim>
    <panel>
      <flip-x type="bool">false</flip-x>
    </panel>
    <instrument-options>
      <omit-knobs type="bool">true</omit-knobs>
    </instrument-options>
  </sim>

  <!-- network communication settings -->
  <communication>
    <listen>
      <!-- interface to bind to, 
           leave empty for all interfaces -->
      <host>239.24.10.64</host> <!-- multicast address! -->
      <port>5432</port> <!-- tcp port to listen to -->
      <style>udp</style> <!-- udp or tcp (forget about tcp!) -->
    </listen>

    <!-- the generic protocol definition 
         same as used for fgfs --generic=foobar option
    -->
    <protocol include="SampleProtocol.xml"/>
  </communication>
</PropertyList>

=====================================================================
Sampe 2d-panel configuration file sample-2d-panel.xml
To be included from the panel configuration file

<?xml version="1.0"?>
<PropertyList>
    <name>Sample Instrument Panel</name>
    <w>375</w> <!-- screen width: 375mm -->
    <h>305</h> <!-- screen height: 305mm -->
    <instruments>
        <!-- use FlightGear's c172 attitude indicator -->
        <instrument include="../../Instruments/ati-c172s.xml">
            <name>Attitude Gyro</name>
            <x alias="../../../params/col-2"/>
            <y alias="../../../params/row-1"/>
            <w>80</w>
            <h>80</h>
        </instrument>
    </instruments>
</PropertyList>

=====================================================================
Sample protocol configuration file to drive the AI (SampleProtocol.xml)
<?xml version="1.0"?>

<PropertyList>
 <generic>

  <output>
   <line_separator>newline</line_separator>
   <var_separator>,</var_separator>

   <chunk>
    <type>float</type>
    <format>%.2f</format>
    <node>/position/altitude-agl-ft</node>
   </chunk>

   <chunk>
    <type>float</type>
    <format>%.2f</format>
    <node>/instrumentation/attitude-indicator/indicated-roll-deg</node>
   </chunk>

   <chunk>
    <type>float</type>
    <format>%.2f</format>
    <node>/instrumentation/attitude-indicator/indicated-pitch-deg</node>
   </chunk>

   <chunk>
    <type>float</type>
    <format>%.2f</format>
    <node>/instrumentation/attitude-indicator/horizon-offset-deg</node>
   </chunk>

   <chunk>
    <type>float</type>
    <format>%.4e</format>
    <node>/instrumentation/attitude-indicator/spin</node>
   </chunk>
  </output>
 </generic>
</PropertyList>

=====================================================================