blob: f48c7624324210d5c3e86e8910991cc8f3cc8c21 [file] [log] [blame]
/**
* *******************************************************************************
* 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:
* Pierre Allard - initial API and implementation
* Regent L'Archeveque
*
* SPDX-License-Identifier: EPL-1.0
* *******************************************************************************
*/
package org.eclipse.apogy.core.environment.earth.orbit.ui;
import org.eclipse.apogy.common.emf.Named;
import org.eclipse.apogy.core.environment.earth.orbit.EarthSpacecraft;
import org.eclipse.apogy.core.environment.earth.orbit.EarthSpacecraftOrbitHistory;
import org.eclipse.apogy.core.environment.earth.orbit.Eclipse;
import org.eclipse.apogy.core.environment.earth.ui.AbstractWorldWindLayer;
import org.eclipse.emf.common.util.EList;
import org.eclipse.swt.graphics.RGBA;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Eclipses World Wind Layer</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* *
* A layer used to display all Eclipses of a Spacecraft's orbit.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#getSpacecraft <em>Spacecraft</em>}</li>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#getEclipses <em>Eclipses</em>}</li>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#getSpacecraftOrbitHistory <em>Spacecraft Orbit History</em>}</li>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#getPenumbraColor <em>Penumbra Color</em>}</li>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#getUmbraColor <em>Umbra Color</em>}</li>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#isShowOrbit <em>Show Orbit</em>}</li>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#isShowGroundTrace <em>Show Ground Trace</em>}</li>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#getMaximumNumberOfRenderedSegments <em>Maximum Number Of Rendered Segments</em>}</li>
* </ul>
*
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getEclipsesWorldWindLayer()
* @model annotation="http://www.eclipse.org/apogy hasCustomClass='true' hasCustomItemProvider='true'"
* @generated
*/
public interface EclipsesWorldWindLayer extends AbstractWorldWindLayer, Named {
/**
* Returns the value of the '<em><b>Spacecraft</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The Spacecraft for which to display the Eclipses
* <!-- end-model-doc -->
* @return the value of the '<em>Spacecraft</em>' reference.
* @see #setSpacecraft(EarthSpacecraft)
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getEclipsesWorldWindLayer_Spacecraft()
* @model annotation="http://www.eclipse.org/emf/2002/GenModel notify='true'"
* @generated
*/
EarthSpacecraft getSpacecraft();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#getSpacecraft <em>Spacecraft</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Spacecraft</em>' reference.
* @see #getSpacecraft()
* @generated
*/
void setSpacecraft(EarthSpacecraft value);
/**
* Returns the value of the '<em><b>Eclipses</b></em>' reference list.
* The list contents are of type {@link org.eclipse.apogy.core.environment.earth.orbit.Eclipse}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* The list of Eclipse from which the ones applicable to the specified Spacecraft will be displayed.
* <!-- end-model-doc -->
* @return the value of the '<em>Eclipses</em>' reference list.
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getEclipsesWorldWindLayer_Eclipses()
* @model annotation="http://www.eclipse.org/emf/2002/GenModel notify='true'"
* @generated
*/
EList<Eclipse> getEclipses();
/**
* Returns the value of the '<em><b>Spacecraft Orbit History</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* The spacecraft state history from which the spacecraft position during eclipses will be taken.
* <!-- end-model-doc -->
* @return the value of the '<em>Spacecraft Orbit History</em>' reference.
* @see #setSpacecraftOrbitHistory(EarthSpacecraftOrbitHistory)
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getEclipsesWorldWindLayer_SpacecraftOrbitHistory()
* @model
* @generated
*/
EarthSpacecraftOrbitHistory getSpacecraftOrbitHistory();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#getSpacecraftOrbitHistory <em>Spacecraft Orbit History</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Spacecraft Orbit History</em>' reference.
* @see #getSpacecraftOrbitHistory()
* @generated
*/
void setSpacecraftOrbitHistory(EarthSpacecraftOrbitHistory value);
/**
* Returns the value of the '<em><b>Penumbra Color</b></em>' attribute.
* The default value is <code>"0,255,0,255"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* Color used to render the penumbra part of the Eclipse.
* <!-- end-model-doc -->
* @return the value of the '<em>Penumbra Color</em>' attribute.
* @see #setPenumbraColor(RGBA)
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getEclipsesWorldWindLayer_PenumbraColor()
* @model default="0,255,0,255" unique="false" dataType="org.eclipse.apogy.common.emf.ui.RGBA"
* @generated
*/
RGBA getPenumbraColor();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#getPenumbraColor <em>Penumbra Color</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Penumbra Color</em>' attribute.
* @see #getPenumbraColor()
* @generated
*/
void setPenumbraColor(RGBA value);
/**
* Returns the value of the '<em><b>Umbra Color</b></em>' attribute.
* The default value is <code>"0,255,0,255"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* Color used to render the penumbra part of the Eclipse.
* <!-- end-model-doc -->
* @return the value of the '<em>Umbra Color</em>' attribute.
* @see #setUmbraColor(RGBA)
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getEclipsesWorldWindLayer_UmbraColor()
* @model default="0,255,0,255" unique="false" dataType="org.eclipse.apogy.common.emf.ui.RGBA"
* @generated
*/
RGBA getUmbraColor();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#getUmbraColor <em>Umbra Color</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Umbra Color</em>' attribute.
* @see #getUmbraColor()
* @generated
*/
void setUmbraColor(RGBA value);
/**
* Returns the value of the '<em><b>Show Orbit</b></em>' attribute.
* The default value is <code>"true"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* Whether or not to show the orbit.
* <!-- end-model-doc -->
* @return the value of the '<em>Show Orbit</em>' attribute.
* @see #setShowOrbit(boolean)
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getEclipsesWorldWindLayer_ShowOrbit()
* @model default="true" unique="false"
* @generated
*/
boolean isShowOrbit();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#isShowOrbit <em>Show Orbit</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Show Orbit</em>' attribute.
* @see #isShowOrbit()
* @generated
*/
void setShowOrbit(boolean value);
/**
* Returns the value of the '<em><b>Show Ground Trace</b></em>' attribute.
* The default value is <code>"false"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* Whether or not to show the ground trace of the orbit.
* <!-- end-model-doc -->
* @return the value of the '<em>Show Ground Trace</em>' attribute.
* @see #setShowGroundTrace(boolean)
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getEclipsesWorldWindLayer_ShowGroundTrace()
* @model default="false" unique="false"
* @generated
*/
boolean isShowGroundTrace();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#isShowGroundTrace <em>Show Ground Trace</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Show Ground Trace</em>' attribute.
* @see #isShowGroundTrace()
* @generated
*/
void setShowGroundTrace(boolean value);
/**
* Returns the value of the '<em><b>Maximum Number Of Rendered Segments</b></em>' attribute.
* The default value is <code>"500"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* The maximum number of rendered segment used to render the trajectory.
* A value equal or smaller than 0 means no limits.
* <!-- end-model-doc -->
* @return the value of the '<em>Maximum Number Of Rendered Segments</em>' attribute.
* @see #setMaximumNumberOfRenderedSegments(int)
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getEclipsesWorldWindLayer_MaximumNumberOfRenderedSegments()
* @model default="500" unique="false"
* annotation="http://www.eclipse.org/emf/2002/GenModel notify='true' property='Editable'"
* @generated
*/
int getMaximumNumberOfRenderedSegments();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.EclipsesWorldWindLayer#getMaximumNumberOfRenderedSegments <em>Maximum Number Of Rendered Segments</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Maximum Number Of Rendered Segments</em>' attribute.
* @see #getMaximumNumberOfRenderedSegments()
* @generated
*/
void setMaximumNumberOfRenderedSegments(int value);
} // EclipsesWorldWindLayer