tour updates
authorplaa <plaa@180e2498-e6e9-4542-8430-84ac67f01cd8>
Tue, 27 Dec 2011 20:09:25 +0000 (20:09 +0000)
committerplaa <plaa@180e2498-e6e9-4542-8430-84ac67f01cd8>
Tue, 27 Dec 2011 20:09:25 +0000 (20:09 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@251 180e2498-e6e9-4542-8430-84ac67f01cd8

.settings/org.eclipse.core.resources.prefs
.settings/org.eclipse.core.runtime.prefs [new file with mode: 0644]
datafiles/tours/creating_design/creating_design.tour [new file with mode: 0644]
datafiles/tours/introduction/introduction_fr.tour
datafiles/tours/tours.txt
src/net/sf/openrocket/gui/help/tours/SlideShowComponent.java
src/net/sf/openrocket/rocketcomponent/MassObject.java
src/net/sf/openrocket/rocketcomponent/TrapezoidFinSet.java

index 311a86586bd0e2839bd0d8be1233364a757f4fcd..a617a70c8915eea61fd23413e442d95fd546377d 100644 (file)
@@ -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/<project>=UTF-8
diff --git a/.settings/org.eclipse.core.runtime.prefs b/.settings/org.eclipse.core.runtime.prefs
new file mode 100644 (file)
index 0000000..03dd576
--- /dev/null
@@ -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 (file)
index 0000000..d1d97fd
--- /dev/null
@@ -0,0 +1,138 @@
+
+Creating a simple rocket design
+
+<p>This tour shows how to create a simple rocket design from scratch.
+
+
+[none]
+
+<p>When you choose to create a new design, you are presented with a blank
+design and the <em>Rocket configuration</em> dialog is displayed.
+Here you can enter general information on the rocket design, such as
+the design name, designer, comments and revision information.
+
+<p>You can later open this dialog by double-clicking on the root
+component in the component tree.
+
+
+[none]
+
+<p>Next, add a <em>Nose cone</em> to the design by clicking the
+corresponding component addition button.  This opens the nose cone
+configuration dialog.
+
+
+[none]
+
+<p>The configuration dialog contains settings for the nose cone shape,
+dimensions and material.  Set the nose cone length to 10&nbsp;cm,
+base diameter to 2.5&nbsp;cm and material to Polystyrene (plastic).
+
+<p>To use inches, either click the unit to change it, or change the
+default units in <a href="FIXME">Preferences</a>.
+
+
+[none]
+
+<p>The design window displays the nose cone.  Next, add a <em>Body
+tube</em> to the design.
+
+
+[none]
+
+<p>Change the body tube length to 25&nbsp;cm.  The <em>Automatic</em>
+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]
+
+<p>Next, add a <em>Trapezoidal fin set</em> to the rocket.  The body
+tube must be selected in order to add the component.
+
+
+[none]
+
+<p>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.
+
+<p>The default values are okay for the example design.
+
+
+[none]
+
+<p>Next, add an <em>Inner tube</em> as a motor mount.  Select the body
+tube, and then click the component addition button.
+
+
+[none]
+
+<p>The default dimensions are suitable for Estes A-C motors.  To have
+the motor mount overhang a bit, change the position parameter to
+<em>Bottom of parent component</em> plus 0.5&nbsp;cm.
+
+
+[none]
+
+<p>To add <em>Centering rings</em> to keep the mount in place, select
+the body tube and click the centering ring button.
+
+<p>(If you have the inner tube selected when clicking, the centering
+ring will be added inside the inner tube.  Use <b>Edit</b> &rarr;
+<b>Undo</b> to undo the latest action.)
+
+
+[none]
+
+<p>The centering ring automatically selects the appropriate outer and
+inner diameter when the <em>Automatic</em> checkboxes are selected.
+
+<p>Move the centering ring to the front of the engine mount by setting
+the position parameter to <em>Bottom of parent component</em> plus
+-5.0&nbsp;cm.
+
+<p>Next add another centering ring at the aft end with position
+parameter zero.
+
+
+[none]
+
+<p>Next add a <em>Parachute</em> to the body tube.
+
+
+[none]
+
+<p>The <em>canopy diameter</em> and <em>drag coefficient</em>
+determine how much the parachute slows down the rocket during descent.
+The <em>material</em> and <em>shroud lines</em> affect the total
+mass.  The <em>packed length</em>, <em>diameter</em> and
+<em>position</em> affect the packed size and location of the
+parachute.
+
+<p>The <em>Deploys at</em> propery can be used to affect when the
+parachute deploys.  For <em>First ejection charge of this stage</em>
+option will deploy the parachute when the ejection charge is fired, as
+is typical in small model rockets.
+
+
+[none]
+
+<p>Now the functional aspects of the rocket design are complete.
+
+<p>For completeness you can still attach a <em>Mass component</em> to
+the body tube for wadding, and an <em>Engine block</em> to the inner
+tube for holding the motor in place.
+
+
+[none]
+
+<p>Now the rocket design is complete.
+
+<p>You can now continue to
+<a href="defining_motors/defining_motors">defining motors</a> to your
+rocket.
+
+
+
+
index 734ba6c2e3692d44333f126e8d1077a269e305cd..f32543a99d14200cdfff147992995f6b223700b1 100644 (file)
@@ -1,83 +1,83 @@
 Introduction
 
-<p>Ce premier tour d'horizon donne un apperçu rapide des écrans et fonctionnalité
+<p>Ce premier tour d'horizon donne un apperçu rapide des écrans et fonctionnalité
 d'OpenRocket.
 
 
-[logo.png]
+[logo_fr.png]
 
 <p><b>OpenRocket</b> 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.
 
-<p>Vous pouvez vous déplacer dans le tour d'horizon en utilisant les boutons <b>Suivant</b> 
-et <b>Précédant</b>, ou en utilisant les flèches <em>gauche</em> et <em>droite
+<p>Vous pouvez vous déplacer dans le tour d'horizon en utilisant les boutons <b>Suivant</b> 
+et <b>Précédant</b>, ou en utilisant les flèches <em>gauche</em> et <em>droite
 </em> sur votre clavier.
 
 
 [none]
 # FIXME: Add screenshot after dialog is complete
 
-<p>Ceci est l'écran de démarrage depuis lequel vous pouvez créer une nouvelle fusée
+<p>Ceci est l'écran de démarrage depuis lequel vous pouvez créer une nouvelle fusée
 ou ouvrir des projets existant.
 
-<p>Pour ce tour d'horizon, ouvrons le projet exemple nommé <em>A simple model
+<p>Pour ce tour d'horizon, ouvrons le projet exemple nommé <em>A simple model
 rocket</em>.
 
 
 [main_window.jpg]
 
-<p>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.
+<p>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]
 
-<p>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.
+<p>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.
 
-<p>Juste à coté les buttons permettent d'ajouter de nouvelles pièces à 
-la fusée.
+<p>Juste à coté les buttons permettent d'ajouter de nouvelles pièces à 
+la fusée.
 
 
 [main_window_bottom.jpg]
 
-<p>La partie basse de la fenêtre contient un diagramme du projet fusé
+<p>La partie basse de la fenêtre contient un diagramme du projet fusé
 en cour.
 
-<p>Les différentes options de visualisation sont décrites en détail dans le tour
+<p>Les différentes options de visualisation sont décrites en détail dans le tour
 d'horizon <a href="FIXME">Options de visualisation</a>. 
 
 
 [flight_simulations.jpg]
 
-<p>Lorsque vous sélectionnez l'onglet <b>Simulations de vol</b>, la partie haute de
-la fenêtre change pour montrer les simulations qui ont été programmées pour
-la fusée.
+<p>Lorsque vous sélectionnez l'onglet <b>Simulations de vol</b>, la partie haute de
+la fenêtre change pour montrer les simulations qui ont été programmées pour
+la fusée.
 
-<p>Vous pouvez définir plusieurs simulations avec des configurations moteurs différentes
+<p>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]
 
-<p>En double cliquant sur une simulation vous ouvrez <em>la fenêtre de dialogue de modification 
-de Simulation </em>.  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.
+<p>En double cliquant sur une simulation vous ouvrez <em>la fenêtre de dialogue de modification 
+de Simulation </em>.  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.
 
-<p>La simulation d'une fusée est décrite en détail dans le tour d'horizon
+<p>La simulation d'une fusée est décrite en détail dans le tour d'horizon
 <a href="FIXME">Simulation d'un vol</a>.
 
 
 [advanced_features.jpg]
 
-<p>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.
+<p>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.
 
-<p>Ensuite vous pouvez voir <a href="FIXME">Créer un projet fusée
-</a>, survoler d'autres tours d'horizons ou commencer à expérimenter le
+<p>Ensuite vous pouvez voir <a href="FIXME">Créer un projet fusée
+</a>, survoler d'autres tours d'horizons ou commencer à expérimenter le
 logiciel.
 
index 200e9d111e309c0fba83d467e14b8fe5cb8ea2e1..dbc8845589116f170e6f2e83f6d5e360cd816534 100644 (file)
@@ -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
index 236f9cc893a92498ff0cea4e1dfb8618d7d26a42..842e4a866fcfc33e290bc1a6bcdcf9add7a55b28 100644 (file)
@@ -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);
        }
        
        
index 70d22ff3b6d0b84bf3430c7cf9f396f11372a0bd..fb4aa7444acdf7e282b9989d0ce526b6acbb280c 100644 (file)
@@ -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 <sampo.niskanen@iki.fi>
  */
 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<Coordinate> getComponentBounds() {
                Collection<Coordinate> c = new ArrayList<Coordinate>();
@@ -134,5 +134,5 @@ public abstract class MassObject extends InternalComponent {
                addBound(c, length, radius);
                return c;
        }
-
+       
 }
index a852b2fa054f9eb7e84aa8c0048f054390380650..fc118881dc042fa97cd1ee635c5021c6d3c37a6c 100644 (file)
@@ -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.
         */