From b552a84c8b96e2fcdc87fdf190ba2f7f38ada4f4 Mon Sep 17 00:00:00 2001 From: plaa Date: Tue, 27 Dec 2011 20:09:25 +0000 Subject: [PATCH] tour updates git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@251 180e2498-e6e9-4542-8430-84ac67f01cd8 --- .settings/org.eclipse.core.resources.prefs | 3 +- .settings/org.eclipse.core.runtime.prefs | 3 + .../creating_design/creating_design.tour | 138 ++++++++++++++++++ .../tours/introduction/introduction_fr.tour | 58 ++++---- datafiles/tours/tours.txt | 2 +- .../gui/help/tours/SlideShowComponent.java | 1 + .../rocketcomponent/MassObject.java | 62 ++++---- .../rocketcomponent/TrapezoidFinSet.java | 6 +- 8 files changed, 208 insertions(+), 65 deletions(-) create mode 100644 .settings/org.eclipse.core.runtime.prefs create mode 100644 datafiles/tours/creating_design/creating_design.tour diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 311a8658..a617a70c 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,4 +1,5 @@ -#Sun Jun 13 15:09:13 EEST 2010 +#Tue Dec 27 21:59:43 EET 2011 eclipse.preferences.version=1 encoding//doc/design/simulation-sequence.uml=UTF-8 encoding//doc/design/simulation-sequence.umlseq=UTF-8 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.core.runtime.prefs b/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 00000000..03dd5766 --- /dev/null +++ b/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,3 @@ +#Tue Dec 27 21:59:43 EET 2011 +eclipse.preferences.version=1 +line.separator=\n diff --git a/datafiles/tours/creating_design/creating_design.tour b/datafiles/tours/creating_design/creating_design.tour new file mode 100644 index 00000000..d1d97fd4 --- /dev/null +++ b/datafiles/tours/creating_design/creating_design.tour @@ -0,0 +1,138 @@ + +Creating a simple rocket design + +

This tour shows how to create a simple rocket design from scratch. + + +[none] + +

When you choose to create a new design, you are presented with a blank +design and the Rocket configuration dialog is displayed. +Here you can enter general information on the rocket design, such as +the design name, designer, comments and revision information. + +

You can later open this dialog by double-clicking on the root +component in the component tree. + + +[none] + +

Next, add a Nose cone to the design by clicking the +corresponding component addition button. This opens the nose cone +configuration dialog. + + +[none] + +

The configuration dialog contains settings for the nose cone shape, +dimensions and material. Set the nose cone length to 10 cm, +base diameter to 2.5 cm and material to Polystyrene (plastic). + +

To use inches, either click the unit to change it, or change the +default units in Preferences. + + +[none] + +

The design window displays the nose cone. Next, add a Body +tube to the design. + + +[none] + +

Change the body tube length to 25 cm. The Automatic +option for the outer diameter is ticked by default, in which case the +diameter is automatically the same as that of the nose cone. + + +[none] + +

Next, add a Trapezoidal fin set to the rocket. The body +tube must be selected in order to add the component. + + +[none] + +

The trapezoidal fin set has numerous dimension parameters. The +most important are the root and tip chord (length next to the body +tube and tip), height and sweep. + +

The default values are okay for the example design. + + +[none] + +

Next, add an Inner tube as a motor mount. Select the body +tube, and then click the component addition button. + + +[none] + +

The default dimensions are suitable for Estes A-C motors. To have +the motor mount overhang a bit, change the position parameter to +Bottom of parent component plus 0.5 cm. + + +[none] + +

To add Centering rings to keep the mount in place, select +the body tube and click the centering ring button. + +

(If you have the inner tube selected when clicking, the centering +ring will be added inside the inner tube. Use Edit → +Undo to undo the latest action.) + + +[none] + +

The centering ring automatically selects the appropriate outer and +inner diameter when the Automatic checkboxes are selected. + +

Move the centering ring to the front of the engine mount by setting +the position parameter to Bottom of parent component plus +-5.0 cm. + +

Next add another centering ring at the aft end with position +parameter zero. + + +[none] + +

Next add a Parachute to the body tube. + + +[none] + +

The canopy diameter and drag coefficient +determine how much the parachute slows down the rocket during descent. +The material and shroud lines affect the total +mass. The packed length, diameter and +position affect the packed size and location of the +parachute. + +

The Deploys at propery can be used to affect when the +parachute deploys. For First ejection charge of this stage +option will deploy the parachute when the ejection charge is fired, as +is typical in small model rockets. + + +[none] + +

Now the functional aspects of the rocket design are complete. + +

For completeness you can still attach a Mass component to +the body tube for wadding, and an Engine block to the inner +tube for holding the motor in place. + + +[none] + +

Now the rocket design is complete. + +

You can now continue to +defining motors to your +rocket. + + + + diff --git a/datafiles/tours/introduction/introduction_fr.tour b/datafiles/tours/introduction/introduction_fr.tour index 734ba6c2..f32543a9 100644 --- a/datafiles/tours/introduction/introduction_fr.tour +++ b/datafiles/tours/introduction/introduction_fr.tour @@ -1,83 +1,83 @@ Introduction -

Ce premier tour d'horizon donne un apperçu rapide des écrans et fonctionnalités +

Ce premier tour d'horizon donne un apperçu rapide des écrans et fonctionnalités d'OpenRocket. -[logo.png] +[logo_fr.png]

OpenRocket est une application pour concevoir, -simuler et optimiser des fusées modèle réduit. Ce premier tour d'horizon -montre une vue globale des écrans et fonctionnalités d'OpenRocket. +simuler et optimiser des fusées modèle réduit. Ce premier tour d'horizon +montre une vue globale des écrans et fonctionnalités d'OpenRocket. -

Vous pouvez vous déplacer dans le tour d'horizon en utilisant les boutons Suivant -et Précédant, ou en utilisant les flèches gauche et droite +

Vous pouvez vous déplacer dans le tour d'horizon en utilisant les boutons Suivant +et Précédant, ou en utilisant les flèches gauche et droite sur votre clavier. [none] # FIXME: Add screenshot after dialog is complete -

Ceci est l'écran de démarrage depuis lequel vous pouvez créer une nouvelle fusée +

Ceci est l'écran de démarrage depuis lequel vous pouvez créer une nouvelle fusée ou ouvrir des projets existant. -

Pour ce tour d'horizon, ouvrons le projet exemple nommé A simple model +

Pour ce tour d'horizon, ouvrons le projet exemple nommé A simple model rocket. [main_window.jpg] -

Ceci est l'écran principal d'OpenRocket. Il est divisé horizontalement en -deux parties: la partie projet fusée / simulation de vol -et la partie conception fusée. +

Ceci est l'écran principal d'OpenRocket. Il est divisé horizontalement en +deux parties: la partie projet fusée / simulation de vol +et la partie conception fusée. [main_window_top.jpg] -

En haut à gauche il y a l'arborescence de pièces du projet fusée. -Il montre quelles pièces sont attachées à quelles pièces. +

En haut à gauche il y a l'arborescence de pièces du projet fusée. +Il montre quelles pièces sont attachées à quelles pièces. -

Juste à coté les buttons permettent d'ajouter de nouvelles pièces à -la fusée. +

Juste à coté les buttons permettent d'ajouter de nouvelles pièces à +la fusée. [main_window_bottom.jpg] -

La partie basse de la fenêtre contient un diagramme du projet fusée +

La partie basse de la fenêtre contient un diagramme du projet fusée en cour. -

Les différentes options de visualisation sont décrites en détail dans le tour +

Les différentes options de visualisation sont décrites en détail dans le tour d'horizon Options de visualisation. [flight_simulations.jpg] -

Lorsque vous sélectionnez l'onglet Simulations de vol, la partie haute de -la fenêtre change pour montrer les simulations qui ont été programmées pour -la fusée. +

Lorsque vous sélectionnez l'onglet Simulations de vol, la partie haute de +la fenêtre change pour montrer les simulations qui ont été programmées pour +la fusée. -

Vous pouvez définir plusieurs simulations avec des configurations moteurs différentes +

Vous pouvez définir plusieurs simulations avec des configurations moteurs différentes et en modifiant les conditions de lancement, comme le vent et l'inclinaison de la rampe de lancement. [simulation_edit.png] -

En double cliquant sur une simulation vous ouvrez la fenêtre de dialogue de modification -de Simulation . Sur les deux premiers onglets vous pouvez définir les options de simulation, -dans les deux derniers onglets vous pouvez tracer ou exporter les résultats. +

En double cliquant sur une simulation vous ouvrez la fenêtre de dialogue de modification +de Simulation . Sur les deux premiers onglets vous pouvez définir les options de simulation, +dans les deux derniers onglets vous pouvez tracer ou exporter les résultats. -

La simulation d'une fusée est décrite en détail dans le tour d'horizon +

La simulation d'une fusée est décrite en détail dans le tour d'horizon Simulation d'un vol. [advanced_features.jpg] -

D'autres fonctionnalités avancées incluant l'analyse des pièces et une -optimisation automatique du projet sont traités dans d'autres tours d'horizon. +

D'autres fonctionnalités avancées incluant l'analyse des pièces et une +optimisation automatique du projet sont traités dans d'autres tours d'horizon. -

Ensuite vous pouvez voir Créer un projet fusée -, survoler d'autres tours d'horizons ou commencer à expérimenter le +

Ensuite vous pouvez voir Créer un projet fusée +, survoler d'autres tours d'horizons ou commencer à expérimenter le logiciel. diff --git a/datafiles/tours/tours.txt b/datafiles/tours/tours.txt index 200e9d11..dbc88455 100644 --- a/datafiles/tours/tours.txt +++ b/datafiles/tours/tours.txt @@ -2,7 +2,7 @@ # This file lists all the available tours. introduction/introduction.tour - +creating_design/creating_design.tour test1/test.tour test2/test2.tour diff --git a/src/net/sf/openrocket/gui/help/tours/SlideShowComponent.java b/src/net/sf/openrocket/gui/help/tours/SlideShowComponent.java index 236f9cc8..842e4a86 100644 --- a/src/net/sf/openrocket/gui/help/tours/SlideShowComponent.java +++ b/src/net/sf/openrocket/gui/help/tours/SlideShowComponent.java @@ -49,6 +49,7 @@ public class SlideShowComponent extends JSplitPane { public void setSlide(Slide slide) { this.imageDisplay.setImage(slide.getImage()); this.textPane.setText(slide.getText()); + this.textPane.setCaretPosition(0); } diff --git a/src/net/sf/openrocket/rocketcomponent/MassObject.java b/src/net/sf/openrocket/rocketcomponent/MassObject.java index 70d22ff3..fb4aa744 100644 --- a/src/net/sf/openrocket/rocketcomponent/MassObject.java +++ b/src/net/sf/openrocket/rocketcomponent/MassObject.java @@ -1,12 +1,12 @@ package net.sf.openrocket.rocketcomponent; -import net.sf.openrocket.util.Coordinate; -import net.sf.openrocket.util.MathUtil; +import static net.sf.openrocket.util.MathUtil.pow2; import java.util.ArrayList; import java.util.Collection; -import static net.sf.openrocket.util.MathUtil.pow2; +import net.sf.openrocket.util.Coordinate; +import net.sf.openrocket.util.MathUtil; /** @@ -19,31 +19,31 @@ import static net.sf.openrocket.util.MathUtil.pow2; * @author Sampo Niskanen */ public abstract class MassObject extends InternalComponent { - + private double radius; - + private double radialPosition; private double radialDirection; - + private double shiftY = 0; private double shiftZ = 0; - - + + public MassObject() { - this(0.03, 0.015); + this(0.025, 0.0125); } - + public MassObject(double length, double radius) { super(); - + this.length = length; this.radius = radius; - + this.setRelativePosition(Position.TOP); this.setPositionValue(0.0); } - - + + public void setLength(double length) { length = Math.max(length, 0); if (MathUtil.equals(this.length, length)) { @@ -52,13 +52,13 @@ public abstract class MassObject extends InternalComponent { this.length = length; fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); } - - + + public final double getRadius() { return radius; } - - + + public final void setRadius(double radius) { radius = Math.max(radius, 0); if (MathUtil.equals(this.radius, radius)) { @@ -67,13 +67,13 @@ public abstract class MassObject extends InternalComponent { this.radius = radius; fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); } - - - + + + public final double getRadialPosition() { return radialPosition; } - + public final void setRadialPosition(double radialPosition) { radialPosition = Math.max(radialPosition, 0); if (MathUtil.equals(this.radialPosition, radialPosition)) { @@ -84,11 +84,11 @@ public abstract class MassObject extends InternalComponent { shiftZ = radialPosition * Math.sin(radialDirection); fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); } - + public final double getRadialDirection() { return radialDirection; } - + public final void setRadialDirection(double radialDirection) { radialDirection = MathUtil.reduce180(radialDirection); if (MathUtil.equals(this.radialDirection, radialDirection)) { @@ -99,8 +99,8 @@ public abstract class MassObject extends InternalComponent { shiftZ = radialPosition * Math.sin(radialDirection); fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); } - - + + /** * Shift the coordinates according to the radial position and direction. */ @@ -111,22 +111,22 @@ public abstract class MassObject extends InternalComponent { } return array; } - + @Override public final Coordinate getComponentCG() { return new Coordinate(length / 2, shiftY, shiftZ, getComponentMass()); } - + @Override public final double getLongitudinalUnitInertia() { return (3 * pow2(radius) + pow2(length)) / 12; } - + @Override public final double getRotationalUnitInertia() { return pow2(radius) / 2; } - + @Override public final Collection getComponentBounds() { Collection c = new ArrayList(); @@ -134,5 +134,5 @@ public abstract class MassObject extends InternalComponent { addBound(c, length, radius); return c; } - + } diff --git a/src/net/sf/openrocket/rocketcomponent/TrapezoidFinSet.java b/src/net/sf/openrocket/rocketcomponent/TrapezoidFinSet.java index a852b2fa..fc118881 100644 --- a/src/net/sf/openrocket/rocketcomponent/TrapezoidFinSet.java +++ b/src/net/sf/openrocket/rocketcomponent/TrapezoidFinSet.java @@ -31,7 +31,7 @@ public class TrapezoidFinSet extends FinSet { * length * == rootChord */ - + // rootChord == length private double tipChord = 0; private double height = 0; @@ -39,7 +39,7 @@ public class TrapezoidFinSet extends FinSet { public TrapezoidFinSet() { - this(3, 0.05, 0.05, 0.025, 0.05); + this(3, 0.05, 0.05, 0.025, 0.03); } // TODO: HIGH: height=0 -> CP = NaN @@ -149,7 +149,7 @@ public class TrapezoidFinSet extends FinSet { } - + /** * Returns the geometry of a trapezoidal fin. */ -- 2.30.2