| /** |
| * ******************************************************************************* |
| * Copyright (c) 2018 Agence spatiale canadienne / Canadian Space Agency |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Regent L'Archeveque - initial API and implementation |
| * |
| * SPDX-License-Identifier: EPL-1.0 |
| * ******************************************************************************* |
| */ |
| package org.eclipse.apogy.core.environment.earth.orbit.planner; |
| |
| import org.eclipse.apogy.core.environment.earth.orbit.VisibilityPass; |
| |
| import org.eclipse.emf.common.util.EList; |
| import org.eclipse.emf.common.util.EMap; |
| |
| import org.eclipse.emf.ecore.EObject; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * A representation of the model object '<em><b>Observation Analysis Planner Node</b></em>'. |
| * <!-- end-user-doc --> |
| * |
| * <p> |
| * The following features are supported: |
| * </p> |
| * <ul> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getResult <em>Result</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getId <em>Id</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getPass <em>Pass</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getParent <em>Parent</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getChildren <em>Children</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#isRootNode <em>Root Node</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getPlannerRootNode <em>Planner Root Node</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getPlannerResult <em>Planner Result</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getPlanner <em>Planner</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getStatefulCostsMapEntries <em>Stateful Costs Map Entries</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getCost <em>Cost</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getCumulativeCost <em>Cumulative Cost</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getFirstLevelNode <em>First Level Node</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getLevel <em>Level</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getSolutionDuration <em>Solution Duration</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getPassDuration <em>Pass Duration</em>}</li> |
| * <li>{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getTotalPassesDuration <em>Total Passes Duration</em>}</li> |
| * </ul> |
| * |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode() |
| * @model annotation="http://www.eclipse.org/apogy hasCustomClass='true'" |
| * @generated |
| */ |
| public interface ObservationAnalysisPlannerNode extends EObject { |
| /** |
| * Returns the value of the '<em><b>Result</b></em>' container reference. |
| * It is bidirectional and its opposite is '{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerResult#getPlanRootNode <em>Plan Root Node</em>}'. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Result</em>' container reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Result</em>' container reference. |
| * @see #setResult(ObservationAnalysisPlannerResult) |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_Result() |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerResult#getPlanRootNode |
| * @model opposite="planRootNode" transient="false" |
| * @generated |
| */ |
| ObservationAnalysisPlannerResult getResult(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getResult <em>Result</em>}' container reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Result</em>' container reference. |
| * @see #getResult() |
| * @generated |
| */ |
| void setResult(ObservationAnalysisPlannerResult value); |
| |
| /** |
| * Returns the value of the '<em><b>Id</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Id</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Id</em>' attribute. |
| * @see #setId(String) |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_Id() |
| * @model unique="false" |
| * @generated |
| */ |
| String getId(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getId <em>Id</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Id</em>' attribute. |
| * @see #getId() |
| * @generated |
| */ |
| void setId(String value); |
| |
| /** |
| * Returns the value of the '<em><b>Pass</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Pass</em>' reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Pass</em>' reference. |
| * @see #setPass(VisibilityPass) |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_Pass() |
| * @model |
| * @generated |
| */ |
| VisibilityPass getPass(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getPass <em>Pass</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Pass</em>' reference. |
| * @see #getPass() |
| * @generated |
| */ |
| void setPass(VisibilityPass value); |
| |
| /** |
| * Returns the value of the '<em><b>Parent</b></em>' container reference. |
| * It is bidirectional and its opposite is '{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getChildren <em>Children</em>}'. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Parent</em>' container reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Parent</em>' container reference. |
| * @see #setParent(ObservationAnalysisPlannerNode) |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_Parent() |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getChildren |
| * @model opposite="children" transient="false" |
| * annotation="http://www.eclipse.org/emf/2002/GenModel property='None'" |
| * @generated |
| */ |
| ObservationAnalysisPlannerNode getParent(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getParent <em>Parent</em>}' container reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Parent</em>' container reference. |
| * @see #getParent() |
| * @generated |
| */ |
| void setParent(ObservationAnalysisPlannerNode value); |
| |
| /** |
| * Returns the value of the '<em><b>Children</b></em>' containment reference list. |
| * The list contents are of type {@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode}. |
| * It is bidirectional and its opposite is '{@link org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getParent <em>Parent</em>}'. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Children</em>' containment reference list isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Children</em>' containment reference list. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_Children() |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ObservationAnalysisPlannerNode#getParent |
| * @model opposite="parent" containment="true" |
| * annotation="http://www.eclipse.org/emf/2002/GenModel property='None'" |
| * @generated |
| */ |
| EList<ObservationAnalysisPlannerNode> getChildren(); |
| |
| /** |
| * Returns the value of the '<em><b>Root Node</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Root Node</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Root Node</em>' attribute. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_RootNode() |
| * @model unique="false" transient="true" changeable="false" volatile="true" derived="true" |
| * @generated |
| */ |
| boolean isRootNode(); |
| |
| /** |
| * Returns the value of the '<em><b>Planner Root Node</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Planner Root Node</em>' reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Planner Root Node</em>' reference. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_PlannerRootNode() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" derived="true" |
| * @generated |
| */ |
| ObservationAnalysisPlannerNode getPlannerRootNode(); |
| |
| /** |
| * Returns the value of the '<em><b>Planner Result</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Planner Result</em>' reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Planner Result</em>' reference. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_PlannerResult() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" derived="true" |
| * @generated |
| */ |
| ObservationAnalysisPlannerResult getPlannerResult(); |
| |
| /** |
| * Returns the value of the '<em><b>Planner</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Planner</em>' reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Planner</em>' reference. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_Planner() |
| * @model resolveProxies="false" transient="true" changeable="false" volatile="true" derived="true" |
| * @generated |
| */ |
| ObservationAnalysisPlanner getPlanner(); |
| |
| /** |
| * Returns the value of the '<em><b>Stateful Costs Map Entries</b></em>' map. |
| * The key is of type {@link org.eclipse.apogy.core.environment.earth.orbit.planner.AbstractStatefulCostFunction<org.eclipse.apogy.core.environment.earth.orbit.planner.CostFunctionState>}, |
| * and the value is of type {@link org.eclipse.apogy.core.environment.earth.orbit.planner.StatefulCostFunctionMapEntryValue}, |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Map that contains the Stateful cost function results. |
| * <!-- end-model-doc --> |
| * @return the value of the '<em>Stateful Costs Map Entries</em>' map. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_StatefulCostsMapEntries() |
| * @model mapType="org.eclipse.apogy.core.environment.earth.orbit.planner.StatefulCostFunctionMapEntry<org.eclipse.apogy.core.environment.earth.orbit.planner.AbstractStatefulCostFunction<org.eclipse.apogy.core.environment.earth.orbit.planner.CostFunctionState>, org.eclipse.apogy.core.environment.earth.orbit.planner.StatefulCostFunctionMapEntryValue>" |
| * @generated |
| */ |
| EMap<AbstractStatefulCostFunction<CostFunctionState>, StatefulCostFunctionMapEntryValue> getStatefulCostsMapEntries(); |
| |
| /** |
| * Returns the value of the '<em><b>Cost</b></em>' attribute. |
| * The default value is <code>"0"</code>. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Cost of the current node. It corresponds to the sum of all applicable {@link StatelessCostFunctions} & |
| * {@link StatefulCostFunctions}. |
| * <!-- end-model-doc --> |
| * @return the value of the '<em>Cost</em>' attribute. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_Cost() |
| * @model default="0" unique="false" transient="true" changeable="false" volatile="true" derived="true" |
| * @generated |
| */ |
| double getCost(); |
| |
| /** |
| * Returns the value of the '<em><b>Cumulative Cost</b></em>' attribute. |
| * The default value is <code>"0"</code>. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Cumulative cost including the cost of this node up to its first level node. |
| * <!-- end-model-doc --> |
| * @return the value of the '<em>Cumulative Cost</em>' attribute. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_CumulativeCost() |
| * @model default="0" unique="false" transient="true" changeable="false" volatile="true" derived="true" |
| * @generated |
| */ |
| double getCumulativeCost(); |
| |
| /** |
| * Returns the value of the '<em><b>First Level Node</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Returns the level 1 node. The root node (top node without parent) contains the first level nodes. |
| * <!-- end-model-doc --> |
| * @return the value of the '<em>First Level Node</em>' reference. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_FirstLevelNode() |
| * @model transient="true" changeable="false" volatile="true" derived="true" |
| * @generated |
| */ |
| ObservationAnalysisPlannerNode getFirstLevelNode(); |
| |
| /** |
| * Returns the value of the '<em><b>Level</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Returns the node level. |
| * <!-- end-model-doc --> |
| * @return the value of the '<em>Level</em>' attribute. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_Level() |
| * @model unique="false" transient="true" changeable="false" volatile="true" derived="true" |
| * @generated |
| */ |
| int getLevel(); |
| |
| /** |
| * Returns the value of the '<em><b>Solution Duration</b></em>' attribute. |
| * The default value is <code>"0"</code>. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Returns the solution duration processed from the to date of the last visibility pass (this node) and the from date of |
| * the first visibility pass (first level node). |
| * <!-- end-model-doc --> |
| * @return the value of the '<em>Solution Duration</em>' attribute. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_SolutionDuration() |
| * @model default="0" unique="false" transient="true" changeable="false" volatile="true" derived="true" |
| * annotation="http://www.eclipse.org/apogy units='ms'" |
| * @generated |
| */ |
| double getSolutionDuration(); |
| |
| /** |
| * Returns the value of the '<em><b>Pass Duration</b></em>' attribute. |
| * The default value is <code>"0"</code>. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Returns the duration of the pass associated to the current node. |
| * <!-- end-model-doc --> |
| * @return the value of the '<em>Pass Duration</em>' attribute. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_PassDuration() |
| * @model default="0" unique="false" transient="true" changeable="false" volatile="true" derived="true" |
| * annotation="http://www.eclipse.org/apogy units='ms'" |
| * @generated |
| */ |
| double getPassDuration(); |
| |
| /** |
| * Returns the value of the '<em><b>Total Passes Duration</b></em>' attribute. |
| * The default value is <code>"0"</code>. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * <!-- begin-model-doc --> |
| * Returns the sums of the duration of the current pass up to its first first level node pass. |
| * <!-- end-model-doc --> |
| * @return the value of the '<em>Total Passes Duration</em>' attribute. |
| * @see org.eclipse.apogy.core.environment.earth.orbit.planner.ApogyCoreEnvironmentEarthOrbitPlannerPackage#getObservationAnalysisPlannerNode_TotalPassesDuration() |
| * @model default="0" unique="false" transient="true" changeable="false" volatile="true" derived="true" |
| * annotation="http://www.eclipse.org/apogy units='ms'" |
| * @generated |
| */ |
| double getTotalPassesDuration(); |
| |
| |
| } // ObservationAnalysisPlannerNode |