blob: 728bc042c2b8ef0a51fa0358bcd354af050ffd1d [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.ui.AbstractWorldWindLayer;
import org.eclipse.swt.graphics.RGBA;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Spacecraft Location World Wind Layer</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* *
* Specialization of AbstractSpacecraftLocationWorldWindLayer that uses a reference to an Orbit model. The referenced orbit model must be contained somewhere.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.SpacecraftLocationWorldWindLayer#getSpacecraft <em>Spacecraft</em>}</li>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.SpacecraftLocationWorldWindLayer#isShowGroundProjection <em>Show Ground Projection</em>}</li>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.SpacecraftLocationWorldWindLayer#getGroundProjectionRadius <em>Ground Projection Radius</em>}</li>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.SpacecraftLocationWorldWindLayer#isShowLatLon <em>Show Lat Lon</em>}</li>
* <li>{@link org.eclipse.apogy.core.environment.earth.orbit.ui.SpacecraftLocationWorldWindLayer#getColor <em>Color</em>}</li>
* </ul>
*
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getSpacecraftLocationWorldWindLayer()
* @model annotation="http://www.eclipse.org/apogy hasCustomClass='true' hasCustomItemProvider='true'"
* @generated
*/
public interface SpacecraftLocationWorldWindLayer 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.
* <!-- 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#getSpacecraftLocationWorldWindLayer_Spacecraft()
* @model annotation="http://www.eclipse.org/emf/2002/GenModel propertyCategory='ORBIT_MODEL'"
* @generated
*/
EarthSpacecraft getSpacecraft();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.SpacecraftLocationWorldWindLayer#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>Show Ground Projection</b></em>' attribute.
* The default value is <code>"true"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Whether or not to display the position projected on the ground.
* <!-- end-model-doc -->
* @return the value of the '<em>Show Ground Projection</em>' attribute.
* @see #setShowGroundProjection(boolean)
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getSpacecraftLocationWorldWindLayer_ShowGroundProjection()
* @model default="true" unique="false"
* annotation="http://www.eclipse.org/emf/2002/GenModel notify='true' property='Editable'"
* @generated
*/
boolean isShowGroundProjection();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.SpacecraftLocationWorldWindLayer#isShowGroundProjection <em>Show Ground Projection</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Show Ground Projection</em>' attribute.
* @see #isShowGroundProjection()
* @generated
*/
void setShowGroundProjection(boolean value);
/**
* Returns the value of the '<em><b>Ground Projection Radius</b></em>' attribute.
* The default value is <code>"50"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The radius of the ground projection.
* <!-- end-model-doc -->
* @return the value of the '<em>Ground Projection Radius</em>' attribute.
* @see #setGroundProjectionRadius(double)
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getSpacecraftLocationWorldWindLayer_GroundProjectionRadius()
* @model default="50" unique="false"
* annotation="http://www.eclipse.org/emf/2002/GenModel propertyCategory='VISUALS'"
* annotation="http://www.eclipse.org/apogy units='km'"
* @generated
*/
double getGroundProjectionRadius();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.SpacecraftLocationWorldWindLayer#getGroundProjectionRadius <em>Ground Projection Radius</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Ground Projection Radius</em>' attribute.
* @see #getGroundProjectionRadius()
* @generated
*/
void setGroundProjectionRadius(double value);
/**
* Returns the value of the '<em><b>Show Lat Lon</b></em>' attribute.
* The default value is <code>"true"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Whether or not to the longitude and latitude of the spacecraft.
* <!-- end-model-doc -->
* @return the value of the '<em>Show Lat Lon</em>' attribute.
* @see #setShowLatLon(boolean)
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getSpacecraftLocationWorldWindLayer_ShowLatLon()
* @model default="true" unique="false"
* annotation="http://www.eclipse.org/emf/2002/GenModel notify='true' property='Editable'"
* @generated
*/
boolean isShowLatLon();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.SpacecraftLocationWorldWindLayer#isShowLatLon <em>Show Lat Lon</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Show Lat Lon</em>' attribute.
* @see #isShowLatLon()
* @generated
*/
void setShowLatLon(boolean value);
/**
* Returns the value of the '<em><b>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 location and text.
* <!-- end-model-doc -->
* @return the value of the '<em>Color</em>' attribute.
* @see #setColor(RGBA)
* @see org.eclipse.apogy.core.environment.earth.orbit.ui.ApogyCoreEnvironmentEarthOrbitUIPackage#getSpacecraftLocationWorldWindLayer_Color()
* @model default="0,255,0,255" unique="false" dataType="org.eclipse.apogy.common.emf.ui.RGBA"
* @generated
*/
RGBA getColor();
/**
* Sets the value of the '{@link org.eclipse.apogy.core.environment.earth.orbit.ui.SpacecraftLocationWorldWindLayer#getColor <em>Color</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Color</em>' attribute.
* @see #getColor()
* @generated
*/
void setColor(RGBA value);
} // SpacecraftLocationWorldWindLayer