1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

RedesignIdeas

From crrcsim

Jump to: navigation, search

Contents

Ideas for a CRRCsim redesign

Sub-pages for specific aspects of CRRCsim

General stuff

Supported platforms

  • GNU/Linux
  • MacOSX
  • Windows


Dependencies

which libraries should be used?

  • Windowing framework
    • SDL (currently used in CRRCsim for this task)
    • PLIB
    • GLUT
    • ...


  • Open GL / Scenegraph library
    • PLIB (currently used in CRRCsim for this task)
    • OpenSceneGraph
    • ...


  • Audio library (input and output)
    • OpenAL
    • SDL (output only!) (currently used in CRRCsim for audio output)
    • PortAudio (currently used in CRRCsim for audio input)
    • ...


  • Joystick library
    • SDL (currently used in CRRCsim for this task)
    • PLIB
    • GLUT (limited support, only 3 axes)


Main Objects

  • Main
  • config (xml)
  • view(s)
  • scheduler
  • scene(s)
  • input(s)
  • audio
  • 3d_object(s)
  • mode(s)


Main loop

  • load plugins
  • call handle for each Main objects
  • handle time

Scene handler

Define a generic scene interface based on

  • 3D representation
    • plugin opengl code (to integrate current capcod and Davis field)
    • plugin for plib
    • plugin for openscene
    • plugin for other scene tools...
    • dynamicity
      • water effetcs
      • wind in trees
      • ...
  • lights
  • environmental conditions
    • general athmospheric conditions
    • wind

JR: A generic scene interface exists in the abstract base class "Scenery". This can be extended to suit our needs.

See RedesignScenery for more ideas regarding the scenery redesign.

View handler

Define a generic interface for user view(s)

  • viewpoint
  • display (size, resolution, etc...)
  • remote view (network game)
  • menus
    • plib
    • ...

Input handler

Define a template for user inputs.

  • manual input
    • mixer
    • expo/dual rates
    • device
      • joystick
      • USB transmitter
      • mouse
      • keyboard
  • autopilot
  • remote input (network game)

JR: The generic interface for input handlers is defined by "T_TX_Interface". It also works for remote input, see interface_mnav.

Audio handler

Define a generic audio interface Possible implementation:

  • openAL
  • portAudio
  • ....

JR: The "CRRCAudioServer" was designed for this task. It hides the current SDL-based implementation from CRRCsim.

3d_object

An object can be static (a chair for instance), or dynamic ( a plane). Define a generic object interface Possible implementation:

  • 3D representation
    • SDL
    • hardcoded
    • ...
  • dynamicity
    • movement computation (=null for a static object) based on aerodynamic model
      • crrcsim aerodyn model
      • FMS aerodyn model
      • others ....
  • sound
  • input (an input variation should affect the 3D model to move an aileron for instance), and the dynamicity (movement).

JR: When using a scenegraph library, this library will usually dictate the organization of 3D objects and provide data types for this task. Usually you'll load everything into a scenegraph and attach some kind of callback function to each dynamic model. When the scene graph is traversed for rendering, the callbacks will be activated to update the model state before rendering. In CRRCsim this is right now only done for the animated control surfaces, but it could also be done for more model properties.

I guess choosing a different scenegraph library will fundamentally impact the design of CRRCsim, and I don't know if it's possible to hide the power of a scenegraph behind a generic interface.

OB: If this is the case, you are right, crrcsim will have to be build around the scenegraph and this is no what we want. If crrcsim handle the rendering of objects, what could be the benefit to use a scenegraph ? Draw the scene ? If technically there is a way to just draw the scene, this could be one possbility.

Mode(s)

Define how to use the sim

  • normal
  • game F3F
  • tracking
  • test
  • ...

Aircraft Configuration File GUI designer tool

SRS FORMAT (http://wiki.answers.com/Q/How_do_you_write_srs)

1) Introduction 1.1) Purpose

The purpose of this SRS is to specify the features and functionality of the CRRCSIM air file creator

1.2) Scope

User interface, description of GUI , description of calculations needed

1.3)Abbreviations

N/A

1.4) References N/A

1.5) Technologies Programming Language : Just Basic (win32)

2) Overall Description

The CRRCSIM R/C airplane flight simulator uses a configuration XML file to specify the flight parameters of each model. The parameters are written in an XML file and the entries must be edited manually. The editing of parameters is both tedious and error prone. It is also not immediately obvious what the parameters represent.

The CRRCSIM air file creator present a GUI to the user with brief explanations of each parameter. The values entered by the user are used to create the values needed for the configuration file. This is done through calculation of the flight model parameters from the input parameters.

2.01) Product Perspective

This is an utility to create the flight configuration file

2.02) Software Interface

Windows GUI interface 2.03) Hardware Interface Personal computer using Windows or WINE on Linux

2.04) Communication Interface N/A

2.05) Product Function This is an utility to create the flight configuration file

2.06) User Characteristics The typical user will the configuration program to create a configuration file that will accurately represent the behavior of the model aircraft that they are interested in testing.

2.07) Constraints Use entered. parameters are taken as accurate. Where calculations are used approximate values or estimates may be made. No validation of user input is made

2.08) Use-Case Model Survey

2.09) Architecture diagram N/A

2.10) Database design N/A

2.11) Assumptions and Dependencies User has access to requires input parameters in terms of measurements and weights and weigh distribution. Parameters can be estimated by comparing existing models

3) Specific Requirements

3.1) Use-Case Reports

The user refers to the links next to each parameter to obtain an explanation of the parameter refers to the diagram of am generic model airplane to obtain the areas which need to be measured enters data into form by measuring the R/C model that needs to be modelled. clicks OK views the completed configuration file in text window saves file to disk using the Save button to save to local folder copies the config file to the corresponding model folder starts the CRRCSIM program and flies the model

3.2) Supplementary Requirements N/A

Personal tools