bug fixes
This commit is contained in:
parent
bdbf3ee9dd
commit
6a4ee4702b
@ -1,3 +1,11 @@
|
||||
2010-03-05 Sampo Niskanen
|
||||
|
||||
* [BUG] Fixed exception for fins with small root chord
|
||||
|
||||
2010-02-26 Sampo Niskanen
|
||||
|
||||
* Simulation panel max.acceleration now from flight stage only
|
||||
|
||||
2010-02-17 Sampo Niskanen
|
||||
|
||||
* Released version 0.9.6
|
||||
|
4
TODO
4
TODO
@ -7,7 +7,7 @@ Must-have:
|
||||
|
||||
- Go through thrust curves and select best ones
|
||||
- Updated splash screen
|
||||
|
||||
- BUG: Invalid fin points possible when removing points
|
||||
|
||||
Maybe:
|
||||
|
||||
@ -167,3 +167,5 @@ In 0.9.6:
|
||||
exponential growth until time step is reached (t1 = 1.5*t0)
|
||||
- Limit time step during while on launch rod
|
||||
- Re-investigate 15% reduction of three-fin CNa
|
||||
In 0.9.7:
|
||||
- BUG: Simulation table max. acceleration takes into account parachute deceleration
|
||||
|
91
doc/simulation-2.0.uml
Normal file
91
doc/simulation-2.0.uml
Normal file
@ -0,0 +1,91 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<uml:Package xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xmi:id="_J062EPIyEd6814i1KDlzfw" name="net.sf.openrocket.simulation">
|
||||
<elementImport xmi:id="_J8VFoPIyEd6814i1KDlzfw">
|
||||
<importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
|
||||
</elementImport>
|
||||
<elementImport xmi:id="_J8VFofIyEd6814i1KDlzfw">
|
||||
<importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
|
||||
</elementImport>
|
||||
<elementImport xmi:id="_J8VssPIyEd6814i1KDlzfw">
|
||||
<importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
|
||||
</elementImport>
|
||||
<elementImport xmi:id="_J8VssfIyEd6814i1KDlzfw">
|
||||
<importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
|
||||
</elementImport>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_Tba2QPIyEd6814i1KDlzfw" name="BasicSimulationEngine" clientDependency="_-iWDsPIzEd6814i1KDlzfw">
|
||||
<interfaceRealization xmi:id="_-iWDsPIzEd6814i1KDlzfw" supplier="_cpXMgPIyEd6814i1KDlzfw" client="_Tba2QPIyEd6814i1KDlzfw" contract="_cpXMgPIyEd6814i1KDlzfw"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_cpXMgPIyEd6814i1KDlzfw" name="SimulationEngine">
|
||||
<ownedOperation xmi:id="_f7S3UPIyEd6814i1KDlzfw" name="simulate">
|
||||
<ownedParameter xmi:id="_lcXTMPIyEd6814i1KDlzfw" direction="return"/>
|
||||
<ownedParameter xmi:id="_lcX6QPIyEd6814i1KDlzfw" name="SimulationConditions"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_E_lM4PI0Ed6814i1KDlzfw" name="SimulationCalculator">
|
||||
<ownedOperation xmi:id="_Zi4R0PI0Ed6814i1KDlzfw" name="step">
|
||||
<ownedParameter xmi:id="_ag6nYPI0Ed6814i1KDlzfw" direction="return"/>
|
||||
<ownedParameter xmi:id="_ag6nYfI0Ed6814i1KDlzfw" name="SimulationStatus"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_4Xf1kPI0Ed6814i1KDlzfw" name="initialize">
|
||||
<ownedParameter xmi:id="_5bYUcPI0Ed6814i1KDlzfw" direction="return"/>
|
||||
<ownedParameter xmi:id="_5bY7gPI0Ed6814i1KDlzfw" name="SimulationStatus"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_5w4qYPI0Ed6814i1KDlzfw" name="store">
|
||||
<ownedParameter xmi:id="_6n_4kPI0Ed6814i1KDlzfw" direction="return"/>
|
||||
<ownedParameter xmi:id="_6oAfoPI0Ed6814i1KDlzfw" name="SimulationStatus"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_GxqOgPI0Ed6814i1KDlzfw" name="CartesianCalculator" clientDependency="_SwleoPI0Ed6814i1KDlzfw">
|
||||
<interfaceRealization xmi:id="_SwleoPI0Ed6814i1KDlzfw" supplier="_E_lM4PI0Ed6814i1KDlzfw" client="_GxqOgPI0Ed6814i1KDlzfw" contract="_E_lM4PI0Ed6814i1KDlzfw"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_JF1QkPI0Ed6814i1KDlzfw" name="CartesianLaunchCalculator">
|
||||
<generalization xmi:id="_PK6YcPI0Ed6814i1KDlzfw" general="_GxqOgPI0Ed6814i1KDlzfw"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_LMYtYPI0Ed6814i1KDlzfw" name="CartesianFlightCalculator">
|
||||
<generalization xmi:id="_PzSAAPI0Ed6814i1KDlzfw" general="_GxqOgPI0Ed6814i1KDlzfw"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_MplrMPI0Ed6814i1KDlzfw" name="CartesianLandingCalculator">
|
||||
<generalization xmi:id="_QQTTMPI0Ed6814i1KDlzfw" general="_GxqOgPI0Ed6814i1KDlzfw"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_TpljMPI0Ed6814i1KDlzfw" name="SphericalCalculator" clientDependency="_Vi51QPI0Ed6814i1KDlzfw">
|
||||
<interfaceRealization xmi:id="_Vi51QPI0Ed6814i1KDlzfw" supplier="_E_lM4PI0Ed6814i1KDlzfw" client="_TpljMPI0Ed6814i1KDlzfw" contract="_E_lM4PI0Ed6814i1KDlzfw"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_dO-wIPI0Ed6814i1KDlzfw" name="AbstractSimulationStatus (?)" clientDependency="_WkCPYPJmEd6814i1KDlzfw" isAbstract="true">
|
||||
<interfaceRealization xmi:id="_WkCPYPJmEd6814i1KDlzfw" supplier="_CNJOwPJmEd6814i1KDlzfw" client="_dO-wIPI0Ed6814i1KDlzfw" contract="_CNJOwPJmEd6814i1KDlzfw"/>
|
||||
<ownedOperation xmi:id="_fWLGIPI0Ed6814i1KDlzfw" name="getPosition">
|
||||
<ownedParameter xmi:id="_hKvbEPI0Ed6814i1KDlzfw" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_hhJI4PI0Ed6814i1KDlzfw" name="getAltitude">
|
||||
<ownedParameter xmi:id="_iJ4j4PI0Ed6814i1KDlzfw" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_inlMgPI0Ed6814i1KDlzfw" name="getOrientation">
|
||||
<ownedParameter xmi:id="_jSE7API0Ed6814i1KDlzfw" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_1aRPcPI0Ed6814i1KDlzfw" name="getConfiguration">
|
||||
<ownedParameter xmi:id="_2T4YAPI0Ed6814i1KDlzfw" direction="return"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_oIIrAPI0Ed6814i1KDlzfw" name="CartesianSimulationStatus">
|
||||
<generalization xmi:id="_qQ68cPI0Ed6814i1KDlzfw" general="_dO-wIPI0Ed6814i1KDlzfw"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Class" xmi:id="_GqNGMPI1Ed6814i1KDlzfw" name="SphericalSimulationStatus">
|
||||
<generalization xmi:id="_JAnj8PI1Ed6814i1KDlzfw" general="_dO-wIPI0Ed6814i1KDlzfw"/>
|
||||
</packagedElement>
|
||||
<packagedElement xmi:type="uml:Interface" xmi:id="_CNJOwPJmEd6814i1KDlzfw" name="SimulationStatus">
|
||||
<ownedOperation xmi:id="_EEdVsPJmEd6814i1KDlzfw" name="getAltitude">
|
||||
<ownedParameter xmi:id="_FBjQEPJmEd6814i1KDlzfw" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_FUn9EPJmEd6814i1KDlzfw" name="getPosition">
|
||||
<ownedParameter xmi:id="_F9Z0UPJmEd6814i1KDlzfw" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_GxzFsPJmEd6814i1KDlzfw" name="getVelocity">
|
||||
<ownedParameter xmi:id="_HuFu0PJmEd6814i1KDlzfw" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_IGCUwPJmEd6814i1KDlzfw" name="getSpeed">
|
||||
<ownedParameter xmi:id="_IfWzsPJmEd6814i1KDlzfw" direction="return"/>
|
||||
</ownedOperation>
|
||||
<ownedOperation xmi:id="_JT0WgPJmEd6814i1KDlzfw" name="getConfiguration">
|
||||
<ownedParameter xmi:id="_J4oTwPJmEd6814i1KDlzfw" direction="return"/>
|
||||
</ownedOperation>
|
||||
</packagedElement>
|
||||
</uml:Package>
|
479
doc/simulation-2.0.umlclass
Normal file
479
doc/simulation-2.0.umlclass
Normal file
@ -0,0 +1,479 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.1/notation" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xmi:id="_J8WTwPIyEd6814i1KDlzfw" type="UMLClass" name="simulation-2.0.umlclass" measurementUnit="Pixel">
|
||||
<children xmi:type="notation:Node" xmi:id="_PJd44PIyEd6814i1KDlzfw" type="2014">
|
||||
<children xmi:type="notation:Node" xmi:id="_PJfHAPIyEd6814i1KDlzfw" type="5020"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_PJfHAfIyEd6814i1KDlzfw" type="7032">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_PJfHAvIyEd6814i1KDlzfw" collapsed="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_PJfHA_IyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_PJfuEPIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_PJfuEfIyEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_PJd44fIyEd6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:Package" href="simulation-2.0.uml#_J062EPIyEd6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_PJef8PIyEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_Tns-wPIyEd6814i1KDlzfw" type="2001">
|
||||
<children xmi:type="notation:Node" xmi:id="_Tnx3QPIyEd6814i1KDlzfw" type="5003">
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_TrWvsPIyEd6814i1KDlzfw" bold="true"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_TnzFYPIyEd6814i1KDlzfw" type="5019"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_Tn2vwPIyEd6814i1KDlzfw" type="7001">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_Tn2vwfIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_Tn2vwvIyEd6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_Tn2vw_IyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_Tn2vxPIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_Tn2vxfIyEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_ToC9APIyEd6814i1KDlzfw" type="7002">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_ToC9AfIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_ToC9AvIyEd6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_ToC9A_IyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_ToC9BPIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_ToC9BfIyEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_ToFZQPIyEd6814i1KDlzfw" type="7003">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_ToFZQfIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_ToFZQvIyEd6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_ToFZQ_IyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_ToFZRPIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_ToFZRfIyEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_Tns-wfIyEd6814i1KDlzfw" fontName="Sans"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_Tns-wvIyEd6814i1KDlzfw"/>
|
||||
<element xmi:type="uml:Class" href="simulation-2.0.uml#_Tba2QPIyEd6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tns-w_IyEd6814i1KDlzfw" x="24" y="264"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_cqKdwPIyEd6814i1KDlzfw" type="2013">
|
||||
<children xmi:type="notation:Node" xmi:id="_cqM6APIyEd6814i1KDlzfw" type="5018"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_cqTAoPIyEd6814i1KDlzfw" type="7029">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_cqTAofIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_cqTAovIyEd6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_cqTAo_IyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_cqTnsPIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_cqTnsfIyEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_cqWrAPIyEd6814i1KDlzfw" type="7030">
|
||||
<children xmi:type="notation:Node" xmi:id="_f8HWsPIyEd6814i1KDlzfw" type="3029">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_f7S3UPIyEd6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_f8HWsfIyEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_cqWrAfIyEd6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_cqXSEPIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_cqXSEfIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_cqXSEvIyEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_cqgcAPIyEd6814i1KDlzfw" type="7031">
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_cqgcAfIyEd6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_cqgcAvIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_cqgcA_IyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_cqgcBPIyEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_cqKdwfIyEd6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:Interface" href="simulation-2.0.uml#_cpXMgPIyEd6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_cqKdwvIyEd6814i1KDlzfw" x="12" y="96"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_FAHYYPI0Ed6814i1KDlzfw" type="2013">
|
||||
<children xmi:type="notation:Node" xmi:id="_FAJNkPI0Ed6814i1KDlzfw" type="5018"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_FALCwPI0Ed6814i1KDlzfw" type="7029">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_FALCwfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_FALCwvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_FALCw_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_FALCxPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_FALCxfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_FAMQ4PI0Ed6814i1KDlzfw" type="7030">
|
||||
<children xmi:type="notation:Node" xmi:id="_ZjnRoPI0Ed6814i1KDlzfw" type="3029">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_Zi4R0PI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_ZjnRofI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_4X6sUPI0Ed6814i1KDlzfw" type="3029">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_4Xf1kPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_4X6sUfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_5xThIPI0Ed6814i1KDlzfw" type="3029">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_5w4qYPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_5xThIfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_FAMQ4fI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_FAMQ4vI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_FAMQ4_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_FAMQ5PI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_FANfAPI0Ed6814i1KDlzfw" type="7031">
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_FANfAfI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_FANfAvI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_FANfA_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_FANfBPI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_FAHYYfI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:Interface" href="simulation-2.0.uml#_E_lM4PI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_FAHYYvI0Ed6814i1KDlzfw" x="420" y="103"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_GyzeAPI0Ed6814i1KDlzfw" type="2001">
|
||||
<children xmi:type="notation:Node" xmi:id="_Gy0sIPI0Ed6814i1KDlzfw" type="5003">
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_GzGY8PI0Ed6814i1KDlzfw" bold="true"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_Gy1TMPI0Ed6814i1KDlzfw" type="5019"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_Gy16QPI0Ed6814i1KDlzfw" type="7001">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_Gy16QfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_Gy16QvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_Gy16Q_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_Gy16RPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_Gy16RfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_Gy2hUPI0Ed6814i1KDlzfw" type="7002">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_Gy2hUfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_Gy2hUvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_Gy2hU_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_Gy2hVPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_Gy2hVfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_Gy3vcPI0Ed6814i1KDlzfw" type="7003">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_Gy3vcfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_Gy3vcvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_Gy3vc_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_Gy3vdPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_Gy3vdfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_GyzeAfI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_GyzeAvI0Ed6814i1KDlzfw"/>
|
||||
<element xmi:type="uml:Class" href="simulation-2.0.uml#_GxqOgPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_GyzeA_I0Ed6814i1KDlzfw" x="367" y="344"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_JGxEsPI0Ed6814i1KDlzfw" type="2001">
|
||||
<children xmi:type="notation:Node" xmi:id="_JGyS0PI0Ed6814i1KDlzfw" type="5003">
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_JHBjYPI0Ed6814i1KDlzfw" bold="true"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_JGy54PI0Ed6814i1KDlzfw" type="5019"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_JGy54fI0Ed6814i1KDlzfw" type="7001">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_JGy54vI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_JGy54_I0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_JGy55PI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_JGy55fI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_JGy55vI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_JG0IAPI0Ed6814i1KDlzfw" type="7002">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_JG0IAfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_JG0IAvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_JG0IA_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_JG0IBPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_JG0IBfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_JG0vEPI0Ed6814i1KDlzfw" type="7003">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_JG0vEfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_JG0vEvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_JG0vE_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_JG0vFPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_JG0vFfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_JGxEsfI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_JGxEsvI0Ed6814i1KDlzfw"/>
|
||||
<element xmi:type="uml:Class" href="simulation-2.0.uml#_JF1QkPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_JGxEs_I0Ed6814i1KDlzfw" x="201" y="498"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_LNeSgPI0Ed6814i1KDlzfw" type="2001">
|
||||
<children xmi:type="notation:Node" xmi:id="_LNfgoPI0Ed6814i1KDlzfw" type="5003">
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_LNm1YPI0Ed6814i1KDlzfw" bold="true"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_LNfgofI0Ed6814i1KDlzfw" type="5019"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_LNgHsPI0Ed6814i1KDlzfw" type="7001">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_LNgHsfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_LNgHsvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_LNgHs_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_LNgHtPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_LNgHtfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_LNguwPI0Ed6814i1KDlzfw" type="7002">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_LNguwfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_LNguwvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_LNguw_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_LNguxPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_LNguxfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_LNhV0PI0Ed6814i1KDlzfw" type="7003">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_LNhV0fI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_LNh84PI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_LNh84fI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_LNh84vI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_LNh84_I0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_LNeSgfI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_LNeSgvI0Ed6814i1KDlzfw"/>
|
||||
<element xmi:type="uml:Class" href="simulation-2.0.uml#_LMYtYPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_LNeSg_I0Ed6814i1KDlzfw" x="359" y="597"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_Mqo0EPI0Ed6814i1KDlzfw" type="2001">
|
||||
<children xmi:type="notation:Node" xmi:id="_MqqCMPI0Ed6814i1KDlzfw" type="5003">
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_Mqx-API0Ed6814i1KDlzfw" bold="true"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_MqqpQPI0Ed6814i1KDlzfw" type="5019"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_MqqpQfI0Ed6814i1KDlzfw" type="7001">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_MqqpQvI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_MqqpQ_I0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_MqqpRPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_MqqpRfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_MqqpRvI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_MqrQUPI0Ed6814i1KDlzfw" type="7002">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_MqrQUfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_MqrQUvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_MqrQU_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_Mqr3YPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_Mqr3YfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_MqsecPI0Ed6814i1KDlzfw" type="7003">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_MqsecfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_MqsecvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_Mqsec_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_MqsedPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_MqsedfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_Mqo0EfI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_Mqo0EvI0Ed6814i1KDlzfw"/>
|
||||
<element xmi:type="uml:Class" href="simulation-2.0.uml#_MplrMPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mqo0E_I0Ed6814i1KDlzfw" x="511" y="486"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_TqEEUPI0Ed6814i1KDlzfw" type="2001">
|
||||
<children xmi:type="notation:Node" xmi:id="_TqF5gPI0Ed6814i1KDlzfw" type="5003">
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_TqNOQPI0Ed6814i1KDlzfw" bold="true"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_TqF5gfI0Ed6814i1KDlzfw" type="5019"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_TqGgkPI0Ed6814i1KDlzfw" type="7001">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_TqGgkfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_TqGgkvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_TqGgk_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_TqGglPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_TqGglfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_TqHHoPI0Ed6814i1KDlzfw" type="7002">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_TqHHofI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_TqHHovI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_TqHHo_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_TqHHpPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_TqHHpfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_TqHusPI0Ed6814i1KDlzfw" type="7003">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_TqIVwPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_TqIVwfI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_TqIVwvI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_TqIVw_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_TqIVxPI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_TqErYPI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_TqErYfI0Ed6814i1KDlzfw"/>
|
||||
<element xmi:type="uml:Class" href="simulation-2.0.uml#_TpljMPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TqErYvI0Ed6814i1KDlzfw" x="600" y="348" height="37"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_dPmbMPI0Ed6814i1KDlzfw" type="2001">
|
||||
<children xmi:type="notation:Node" xmi:id="_dPnpUPI0Ed6814i1KDlzfw" type="5003">
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_dPvlIPI0Ed6814i1KDlzfw" bold="true" italic="true"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_dPoQYPI0Ed6814i1KDlzfw" type="5019"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_dPoQYfI0Ed6814i1KDlzfw" type="7001">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_dPoQYvI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_dPoQY_I0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_dPoQZPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_dPoQZfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_dPoQZvI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_dPo3cPI0Ed6814i1KDlzfw" type="7002">
|
||||
<children xmi:type="notation:Node" xmi:id="_fW2bkPI0Ed6814i1KDlzfw" type="3002">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_fWLGIPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_fW2bkfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_hh9BMPI0Ed6814i1KDlzfw" type="3002">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_hhJI4PI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_hh9BMfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_ioBRYPI0Ed6814i1KDlzfw" type="3002">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_inlMgPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_ioBRYfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_1asGMPI0Ed6814i1KDlzfw" type="3002">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_1aRPcPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_1asGMfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_dPo3cfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_dPo3cvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_dPpegPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_dPpegfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_dPpegvI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_dPqFkPI0Ed6814i1KDlzfw" type="7003">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_dPqFkfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_dPqFkvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_dPqFk_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_dPqFlPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_dPqFlfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_dPmbMfI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_dPmbMvI0Ed6814i1KDlzfw"/>
|
||||
<element xmi:type="uml:Class" href="simulation-2.0.uml#_dO-wIPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_dPmbM_I0Ed6814i1KDlzfw" x="900" y="324"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_oI5gAPI0Ed6814i1KDlzfw" type="2001">
|
||||
<children xmi:type="notation:Node" xmi:id="_oI6uIPI0Ed6814i1KDlzfw" type="5003">
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_oJCp8PI0Ed6814i1KDlzfw" bold="true"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_oI7VMPI0Ed6814i1KDlzfw" type="5019"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_oI78QPI0Ed6814i1KDlzfw" type="7001">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_oI78QfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_oI78QvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_oI78Q_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_oI78RPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_oI78RfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_oI8jUPI0Ed6814i1KDlzfw" type="7002">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_oI8jUfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_oI8jUvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_oI8jU_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_oI8jVPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_oI8jVfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_oI9KYPI0Ed6814i1KDlzfw" type="7003">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_oI9KYfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_oI9KYvI0Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_oI9KY_I0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_oI9KZPI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_oI9KZfI0Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_oI5gAfI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_oI5gAvI0Ed6814i1KDlzfw"/>
|
||||
<element xmi:type="uml:Class" href="simulation-2.0.uml#_oIIrAPI0Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_oI5gA_I0Ed6814i1KDlzfw" x="840" y="504"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_Gq8GAPI1Ed6814i1KDlzfw" type="2001">
|
||||
<children xmi:type="notation:Node" xmi:id="_Gq9UIPI1Ed6814i1KDlzfw" type="5003">
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_GrF3API1Ed6814i1KDlzfw" bold="true"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_Gq97MPI1Ed6814i1KDlzfw" type="5019"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_Gq97MfI1Ed6814i1KDlzfw" type="7001">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_Gq97MvI1Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_Gq97M_I1Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_Gq97NPI1Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_Gq97NfI1Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_Gq97NvI1Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_Gq-iQPI1Ed6814i1KDlzfw" type="7002">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_Gq-iQfI1Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_Gq-iQvI1Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_Gq_JUPI1Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_Gq_JUfI1Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_Gq_JUvI1Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_Gq_wYPI1Ed6814i1KDlzfw" type="7003">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_Gq_wYfI1Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_Gq_wYvI1Ed6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_Gq_wY_I1Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_Gq_wZPI1Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_Gq_wZfI1Ed6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_Gq8GAfI1Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_Gq8GAvI1Ed6814i1KDlzfw"/>
|
||||
<element xmi:type="uml:Class" href="simulation-2.0.uml#_GqNGMPI1Ed6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Gq8GA_I1Ed6814i1KDlzfw" x="1068" y="504"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_CNqMIPJmEd6814i1KDlzfw" type="2013">
|
||||
<children xmi:type="notation:Node" xmi:id="_CNqzMPJmEd6814i1KDlzfw" type="5018"/>
|
||||
<children xmi:type="notation:Node" xmi:id="_CNraQPJmEd6814i1KDlzfw" type="7029">
|
||||
<styles xmi:type="notation:DrawerStyle" xmi:id="_CNraQfJmEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_CNraQvJmEd6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_CNraQ_JmEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_CNraRPJmEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_CNraRfJmEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_CNsoYPJmEd6814i1KDlzfw" type="7030">
|
||||
<children xmi:type="notation:Node" xmi:id="_EE720PJmEd6814i1KDlzfw" type="3029">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_EEdVsPJmEd6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_EE720fJmEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_FVAXkPJmEd6814i1KDlzfw" type="3029">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_FUn9EPJmEd6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_FVAXkfJmEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_GyMHQPJmEd6814i1KDlzfw" type="3029">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_GxzFsPJmEd6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_GyMHQfJmEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_IGb9YPJmEd6814i1KDlzfw" type="3029">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_IGCUwPJmEd6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_IGb9YfJmEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_JUPNQPJmEd6814i1KDlzfw" type="3029">
|
||||
<element xmi:type="uml:Operation" href="simulation-2.0.uml#_JT0WgPJmEd6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Location" xmi:id="_JUPNQfJmEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_CNsoYfJmEd6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_CNsoYvJmEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_CNsoY_JmEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_CNsoZPJmEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<children xmi:type="notation:Node" xmi:id="_CNtPcPJmEd6814i1KDlzfw" type="7031">
|
||||
<styles xmi:type="notation:TitleStyle" xmi:id="_CNtPcfJmEd6814i1KDlzfw" showTitle="true"/>
|
||||
<styles xmi:type="notation:SortingStyle" xmi:id="_CNtPcvJmEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_CNtPc_JmEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:CanonicalStyle" xmi:id="_CNtPdPJmEd6814i1KDlzfw"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:ShapeStyle" xmi:id="_CNqMIfJmEd6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:Interface" href="simulation-2.0.uml#_CNJOwPJmEd6814i1KDlzfw"/>
|
||||
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CNqMIvJmEd6814i1KDlzfw" x="936" y="60"/>
|
||||
</children>
|
||||
<styles xmi:type="notation:DiagramStyle" xmi:id="_J8WTwfIyEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FilteringStyle" xmi:id="_J8WTwvIyEd6814i1KDlzfw"/>
|
||||
<element xmi:type="uml:Package" href="simulation-2.0.uml#_J062EPIyEd6814i1KDlzfw"/>
|
||||
<edges xmi:type="notation:Edge" xmi:id="_-ifNoPIzEd6814i1KDlzfw" type="4008" source="_Tns-wPIyEd6814i1KDlzfw" target="_cqKdwPIyEd6814i1KDlzfw">
|
||||
<styles xmi:type="notation:ConnectorStyle" xmi:id="_-ifNofIzEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_-ifNovIzEd6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:InterfaceRealization" href="simulation-2.0.uml#_-iWDsPIzEd6814i1KDlzfw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-ifNo_IzEd6814i1KDlzfw" points="[5, -45, -11, 193]$[42, -185, 26, 53]"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Edge" xmi:id="_PK-p4PI0Ed6814i1KDlzfw" type="4001" source="_JGxEsPI0Ed6814i1KDlzfw" target="_GyzeAPI0Ed6814i1KDlzfw">
|
||||
<styles xmi:type="notation:ConnectorStyle" xmi:id="_PK-p4fI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_PK-p4vI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:Generalization" href="simulation-2.0.uml#_PK6YcPI0Ed6814i1KDlzfw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PK-p4_I0Ed6814i1KDlzfw" points="[43, -45, -98, 109]$[227, -155, 86, -1]"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Edge" xmi:id="_PzUcQPI0Ed6814i1KDlzfw" type="4001" source="_LNeSgPI0Ed6814i1KDlzfw" target="_GyzeAPI0Ed6814i1KDlzfw">
|
||||
<styles xmi:type="notation:ConnectorStyle" xmi:id="_PzUcQfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_PzUcQvI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:Generalization" href="simulation-2.0.uml#_PzSAAPI0Ed6814i1KDlzfw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PzUcQ_I0Ed6814i1KDlzfw" points="[-1, -45, 11, 208]$[74, -250, 86, 3]"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Edge" xmi:id="_QQVIYPI0Ed6814i1KDlzfw" type="4001" source="_Mqo0EPI0Ed6814i1KDlzfw" target="_GyzeAPI0Ed6814i1KDlzfw">
|
||||
<styles xmi:type="notation:ConnectorStyle" xmi:id="_QQVIYfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_QQVIYvI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:Generalization" href="simulation-2.0.uml#_QQTTMPI0Ed6814i1KDlzfw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QQVIY_I0Ed6814i1KDlzfw" points="[-55, -45, 117, 97]$[-94, -96, 78, 46]"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Edge" xmi:id="_Sw0IIPI0Ed6814i1KDlzfw" type="4008" source="_GyzeAPI0Ed6814i1KDlzfw" target="_FAHYYPI0Ed6814i1KDlzfw">
|
||||
<styles xmi:type="notation:ConnectorStyle" xmi:id="_Sw0IIfI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_Sw0IIvI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:InterfaceRealization" href="simulation-2.0.uml#_SwleoPI0Ed6814i1KDlzfw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sw0II_I0Ed6814i1KDlzfw" points="[9, -45, -37, 196]$[70, -286, 24, -45]"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Edge" xmi:id="_VjKT8PI0Ed6814i1KDlzfw" type="4008" source="_TqEEUPI0Ed6814i1KDlzfw" target="_FAHYYPI0Ed6814i1KDlzfw">
|
||||
<styles xmi:type="notation:ConnectorStyle" xmi:id="_VjKT8fI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_VjKT8vI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:InterfaceRealization" href="simulation-2.0.uml#_Vi51QPI0Ed6814i1KDlzfw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VjKT8_I0Ed6814i1KDlzfw" points="[-54, -45, 191, 161]$[-210, -184, 35, 22]"/>
|
||||
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VjhgUPI0Ed6814i1KDlzfw" id="(0.7358491,0.7582418)"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Edge" xmi:id="_qQ-m0PI0Ed6814i1KDlzfw" type="4001" source="_oI5gAPI0Ed6814i1KDlzfw" target="_dPmbMPI0Ed6814i1KDlzfw">
|
||||
<styles xmi:type="notation:ConnectorStyle" xmi:id="_qQ-m0fI0Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_qQ-m0vI0Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:Generalization" href="simulation-2.0.uml#_qQ68cPI0Ed6814i1KDlzfw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qQ-m0_I0Ed6814i1KDlzfw" points="[-15, -45, 39, 153]$[-127, -249, -73, -51]"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Edge" xmi:id="_JArOUPI1Ed6814i1KDlzfw" type="4001" source="_Gq8GAPI1Ed6814i1KDlzfw" target="_dPmbMPI0Ed6814i1KDlzfw">
|
||||
<styles xmi:type="notation:ConnectorStyle" xmi:id="_JArOUfI1Ed6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_JArOUvI1Ed6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:Generalization" href="simulation-2.0.uml#_JAnj8PI1Ed6814i1KDlzfw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JArOU_I1Ed6814i1KDlzfw" points="[-67, -45, 173, 129]$[-313, -171, -73, 3]"/>
|
||||
</edges>
|
||||
<edges xmi:type="notation:Edge" xmi:id="_WkRf8PJmEd6814i1KDlzfw" type="4008" source="_dPmbMPI0Ed6814i1KDlzfw" target="_CNqMIPJmEd6814i1KDlzfw">
|
||||
<styles xmi:type="notation:ConnectorStyle" xmi:id="_WkRf8fJmEd6814i1KDlzfw"/>
|
||||
<styles xmi:type="notation:FontStyle" xmi:id="_WkRf8vJmEd6814i1KDlzfw" fontName="Sans"/>
|
||||
<element xmi:type="uml:InterfaceRealization" href="simulation-2.0.uml#_WkCPYPJmEd6814i1KDlzfw"/>
|
||||
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WkRf8_JmEd6814i1KDlzfw" points="[-15, -75, 42, 229]$[-58, -221, -1, 83]"/>
|
||||
</edges>
|
||||
</notation:Diagram>
|
BIN
html/favicon.ico
Normal file
BIN
html/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.9 KiB |
BIN
pix-src/icon/icon-web.ico
Normal file
BIN
pix-src/icon/icon-web.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.9 KiB |
@ -763,21 +763,32 @@ public class FinSetCalc extends RocketComponentCalc {
|
||||
double lead = component.toRelative(Coordinate.NUL, parent)[0].x;
|
||||
double trail = component.toRelative(new Coordinate(component.getLength()),
|
||||
parent)[0].x;
|
||||
|
||||
/*
|
||||
* The counting fails if the fin root chord is very small, in that case assume
|
||||
* no other fin interference than this fin set.
|
||||
*/
|
||||
if (trail-lead < 0.007) {
|
||||
interferenceFinCount = component.getFinCount();
|
||||
} else {
|
||||
interferenceFinCount = 0;
|
||||
for (RocketComponent c: parent.getChildren()) {
|
||||
if (c instanceof FinSet) {
|
||||
double finLead = c.toRelative(Coordinate.NUL, parent)[0].x;
|
||||
double finTrail = c.toRelative(new Coordinate(c.getLength()), parent)[0].x;
|
||||
|
||||
interferenceFinCount = 0;
|
||||
for (RocketComponent c: parent.getChildren()) {
|
||||
if (c instanceof FinSet) {
|
||||
double finLead = c.toRelative(Coordinate.NUL, parent)[0].x;
|
||||
double finTrail = c.toRelative(new Coordinate(c.getLength()), parent)[0].x;
|
||||
if ((finLead < trail - 0.005) && (finTrail > lead + 0.005)) {
|
||||
interferenceFinCount += ((FinSet)c).getFinCount();
|
||||
// Compute overlap of the fins
|
||||
|
||||
if ((finLead < trail - 0.005) && (finTrail > lead + 0.005)) {
|
||||
interferenceFinCount += ((FinSet)c).getFinCount();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (interferenceFinCount < component.getFinCount()) {
|
||||
throw new BugException("Counted " + interferenceFinCount + " parallel fins, " +
|
||||
"when component itself has " + component.getFinCount());
|
||||
"when component itself has " + component.getFinCount() +
|
||||
", fin points=" + Arrays.toString(component.getFinPoints()));
|
||||
}
|
||||
}
|
||||
return interferenceFinCount;
|
||||
|
@ -149,12 +149,18 @@ public class ExceptionHandler implements Thread.UncaughtExceptionHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
// Create the message
|
||||
String msg = e.getClass().getSimpleName() + ": " + e.getMessage();
|
||||
if (msg.length() > 90) {
|
||||
msg = msg.substring(0, 80) + "...";
|
||||
}
|
||||
|
||||
// Unknown Error
|
||||
if (!(e instanceof Exception)) {
|
||||
JOptionPane.showMessageDialog(null,
|
||||
new Object[] {
|
||||
"An unknown Java error occurred:",
|
||||
e.getMessage(),
|
||||
msg,
|
||||
"<html>You should immediately close unnecessary design windows,<br>" +
|
||||
"save any unsaved designs and restart OpenRocket!"
|
||||
}, "Unknown Java error", JOptionPane.ERROR_MESSAGE);
|
||||
@ -162,13 +168,7 @@ public class ExceptionHandler implements Thread.UncaughtExceptionHandler {
|
||||
}
|
||||
|
||||
|
||||
// Normal exception, show question dialog
|
||||
String msg = e.getClass().getSimpleName() + ": " + e.getMessage();
|
||||
if (msg.length() > 90) {
|
||||
msg = msg.substring(0, 80) + "...";
|
||||
}
|
||||
|
||||
|
||||
// Normal exception, show question dialog
|
||||
int selection = JOptionPane.showOptionDialog(null, new Object[] {
|
||||
"OpenRocket encountered an uncaught exception. This typically signifies " +
|
||||
"a bug in the software.",
|
||||
|
@ -750,34 +750,7 @@ public class SimulationEditDialog extends JDialog {
|
||||
return noDataPanel();
|
||||
}
|
||||
|
||||
|
||||
if (true)
|
||||
return new SimulationPlotPanel(simulation);
|
||||
|
||||
JPanel panel = new JPanel(new MigLayout("fill"));
|
||||
|
||||
|
||||
|
||||
|
||||
JButton button = new JButton("test");
|
||||
|
||||
button.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
PlotConfiguration config = new PlotConfiguration();
|
||||
config.addPlotDataType(FlightDataBranch.TYPE_ALTITUDE);
|
||||
config.addPlotDataType(FlightDataBranch.TYPE_VELOCITY_Z);
|
||||
config.addPlotDataType(FlightDataBranch.TYPE_ACCELERATION_Z);
|
||||
config.addPlotDataType(FlightDataBranch.TYPE_ACCELERATION_TOTAL);
|
||||
|
||||
config.setDomainAxisType(FlightDataBranch.TYPE_TIME);
|
||||
|
||||
performPlot(config);
|
||||
}
|
||||
});
|
||||
panel.add(button);
|
||||
|
||||
return panel;
|
||||
return new SimulationPlotPanel(simulation);
|
||||
}
|
||||
|
||||
|
||||
|
@ -323,6 +323,8 @@ public class SimulationPanel extends JPanel {
|
||||
if (data==null)
|
||||
return null;
|
||||
|
||||
|
||||
// TODO: CRITICAL: Show getMaxAcceleration if branches not available!
|
||||
return UnitGroup.UNITS_ACCELERATION.getDefaultUnit().toStringUnit(
|
||||
data.getMaxAcceleration());
|
||||
}
|
||||
|
@ -1,7 +1,9 @@
|
||||
package net.sf.openrocket.rocketcomponent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import net.sf.openrocket.util.BugException;
|
||||
import net.sf.openrocket.util.Coordinate;
|
||||
|
||||
|
||||
@ -19,12 +21,8 @@ public class FreeformFinSet extends FinSet {
|
||||
}
|
||||
|
||||
|
||||
public FreeformFinSet(Coordinate[] finpoints) {
|
||||
points.clear();
|
||||
for (Coordinate c: finpoints) {
|
||||
points.add(c);
|
||||
}
|
||||
this.length = points.get(points.size()-1).x - points.get(0).x;
|
||||
public FreeformFinSet(Coordinate[] finpoints) throws IllegalFinPointException {
|
||||
setPoints(finpoints);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -73,7 +71,13 @@ public class FreeformFinSet extends FinSet {
|
||||
|
||||
// Create the freeform fin set
|
||||
Coordinate[] finpoints = finset.getFinPoints();
|
||||
freeform = new FreeformFinSet(finpoints);
|
||||
try {
|
||||
freeform = new FreeformFinSet(finpoints);
|
||||
} catch (IllegalFinPointException e) {
|
||||
throw new BugException("Illegal fin points when converting existing fin to " +
|
||||
"freeform fin, fin=" + finset + " points="+Arrays.toString(finpoints),
|
||||
e);
|
||||
}
|
||||
|
||||
// Copy component attributes
|
||||
freeform.copyFrom(finset);
|
||||
@ -134,6 +138,7 @@ public class FreeformFinSet extends FinSet {
|
||||
if (index == 0 || index == points.size()-1) {
|
||||
throw new IllegalFinPointException("cannot remove first or last point");
|
||||
}
|
||||
// TODO: CRITICAL: Can result in invalid fin points
|
||||
points.remove(index);
|
||||
fireComponentChangeEvent(ComponentChangeEvent.BOTH_CHANGE);
|
||||
}
|
||||
@ -144,7 +149,7 @@ public class FreeformFinSet extends FinSet {
|
||||
}
|
||||
|
||||
public void setPoints(Coordinate[] p) throws IllegalFinPointException {
|
||||
if (p[0].x != 0 || p[0].y != 0 || p[p.length-1].y != 0) {
|
||||
if (p[0].x != 0 || p[0].y != 0 || p[p.length-1].x < 0 || p[p.length-1].y != 0) {
|
||||
throw new IllegalFinPointException("Start or end point illegal.");
|
||||
}
|
||||
for (int i=0; i < p.length-1; i++) {
|
||||
|
@ -5,6 +5,7 @@ import java.util.List;
|
||||
|
||||
import net.sf.openrocket.aerodynamics.WarningSet;
|
||||
import net.sf.openrocket.util.MathUtil;
|
||||
import net.sf.openrocket.util.Pair;
|
||||
|
||||
|
||||
public class FlightData {
|
||||
@ -128,6 +129,9 @@ public class FlightData {
|
||||
return maxVelocity;
|
||||
}
|
||||
|
||||
/**
|
||||
* NOTE: This value will also contain any possible acceleration peak when opening a parachute!
|
||||
*/
|
||||
public double getMaxAcceleration() {
|
||||
return maxAcceleration;
|
||||
}
|
||||
@ -161,7 +165,6 @@ public class FlightData {
|
||||
FlightDataBranch branch = branches.get(0);
|
||||
maxAltitude = branch.getMaximum(FlightDataBranch.TYPE_ALTITUDE);
|
||||
maxVelocity = branch.getMaximum(FlightDataBranch.TYPE_VELOCITY_TOTAL);
|
||||
maxAcceleration = branch.getMaximum(FlightDataBranch.TYPE_ACCELERATION_TOTAL);
|
||||
maxMachNumber = branch.getMaximum(FlightDataBranch.TYPE_MACH_NUMBER);
|
||||
|
||||
flightTime = branch.getLast(FlightDataBranch.TYPE_TIME);
|
||||
@ -177,6 +180,7 @@ public class FlightData {
|
||||
|
||||
if (time == null || altitude == null) {
|
||||
timeToApogee = Double.NaN;
|
||||
maxAcceleration = Double.NaN;
|
||||
return;
|
||||
}
|
||||
int index = 0;
|
||||
@ -192,6 +196,13 @@ public class FlightData {
|
||||
timeToApogee = time.get(index);
|
||||
else
|
||||
timeToApogee = Double.NaN;
|
||||
|
||||
// Max. acceleration (must be after apogee time)
|
||||
if (branch.get(FlightDataBranch.TYPE_ACCELERATION_TOTAL) != null) {
|
||||
maxAcceleration = calculateMaxAcceleration();
|
||||
} else {
|
||||
maxAcceleration = Double.NaN;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -203,4 +214,41 @@ public class FlightData {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Find the maximum acceleration before apogee.
|
||||
*/
|
||||
private double calculateMaxAcceleration() {
|
||||
|
||||
// End check at first recovery device deployment
|
||||
double endTime = Double.MAX_VALUE;
|
||||
FlightDataBranch branch = this.getBranch(0);
|
||||
for (Pair<Double, FlightEvent> event: branch.getEvents()) {
|
||||
if (event.getV().getType() == FlightEvent.Type.RECOVERY_DEVICE_DEPLOYMENT) {
|
||||
if (event.getV().getTime() < endTime) {
|
||||
endTime = event.getV().getTime();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<Double> time = branch.get(FlightDataBranch.TYPE_TIME);
|
||||
List<Double> acceleration = branch.get(FlightDataBranch.TYPE_ACCELERATION_TOTAL);
|
||||
|
||||
if (time == null || acceleration == null) {
|
||||
return Double.NaN;
|
||||
}
|
||||
|
||||
double max = 0;
|
||||
|
||||
for (int i=0; i<time.size(); i++) {
|
||||
if (time.get(i) >= endTime) {
|
||||
break;
|
||||
}
|
||||
double a = acceleration.get(i);
|
||||
if (a > max)
|
||||
max = a;
|
||||
}
|
||||
|
||||
return max;
|
||||
}
|
||||
}
|
||||
|
@ -426,4 +426,8 @@ public class FlightDataBranch {
|
||||
public boolean isMutable() {
|
||||
return mutable;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ public class ComponentCompareTest {
|
||||
|
||||
|
||||
@Test
|
||||
public void testComponentSimilarity() {
|
||||
public void testComponentSimilarity() throws IllegalFinPointException {
|
||||
FinSet trap = new TrapezoidFinSet(
|
||||
5, // fins
|
||||
5.0, // root
|
||||
|
Loading…
x
Reference in New Issue
Block a user