Difference between revisions of "Component databases"

From OpenRocket wiki
Jump to navigation Jump to search
Line 3: Line 3:
 
This page is for planning the implementation of component databases in OpenRocket and splitting the implementation into smaller tasks.
 
This page is for planning the implementation of component databases in OpenRocket and splitting the implementation into smaller tasks.
  
== Use Cases ==
+
Currently in OpenRocket, details about rocket components must be entered by hand every time a rocket is designed. For example, when a body tube is added both the inner diameter, outer diameter, and material need to be specified.  However, many of the rocket components generally used are standard commercial items whose design specifications are already know.  It would be useful to allow OpenRocket users to, for example, select a body tube by manufacturer and type, and only have to specify the variable dimensions: ie, select an Estes BT-60 tube (which will set the tube dimensions and material), then specify a length of 50 cm.
 +
 
 +
== Functionality To Be Built ==
  
  

Revision as of 10:36, 28 August 2011

Introduction

This page is for planning the implementation of component databases in OpenRocket and splitting the implementation into smaller tasks.

Currently in OpenRocket, details about rocket components must be entered by hand every time a rocket is designed. For example, when a body tube is added both the inner diameter, outer diameter, and material need to be specified. However, many of the rocket components generally used are standard commercial items whose design specifications are already know. It would be useful to allow OpenRocket users to, for example, select a body tube by manufacturer and type, and only have to specify the variable dimensions: ie, select an Estes BT-60 tube (which will set the tube dimensions and material), then specify a length of 50 cm.

Functionality To Be Built

Software Design

Tasks

  • Implement framework for using standard components
    • RocketComponentPreset class?
    • loadPreset(PresetComponent) method in RocketComponent?
    • Remember what is used as a preset component
    • When changing critical variables preset component is cleared (e.g. diameter of body tube), but not when changing others (e.g. length of body tube)
  • Implement database for storing standard components
    • Maintain user-selectable presets list (user can choose which components are in an easy-to-access presets list)
  • Implement methods for reading XML format
  • Implement methods for reading CSV format
  • Implement GUI for component selection
    • Preset dropdown
    • Button for opening selection dialog
    • Dialog allows selecting which components are displayed in the preset list
  • Implement GUI for creating components(?)
    • Useful for manufacturers
  • How to store the preset info in ORK file? Should the entire preset info be included, or just a digest that is used in case the preset is already loaded and available?