blob: a49f77f92c7b8c9d6f8dd1abfeafac2e3a265530 [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
//
// SPDX-License-Identifier: EPL-1.0
// *****************************************************************************
@GenModel(prefix="ApogyEarthAtmosphereEnvironment",
childCreationExtenders="true",
extensibleProviderFactory="true",
multipleEditorPages="false",
copyrightText="*******************************************************************************
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
SPDX-License-Identifier: EPL-1.0
*******************************************************************************",
modelName="ApogyEarthAtmosphereEnvironment",
complianceLevel="8.0",
suppressGenModelAnnotations="false",
dynamicTemplates="true",
templateDirectory="platform:/plugin/org.eclipse.apogy.common.emf.codegen/templates")
@GenModel(modelDirectory="/org.eclipse.apogy.core.environment.earth.atmosphere/src-gen")
@GenModel(editDirectory= "/org.eclipse.apogy.core.environment.earth.atmosphere.edit/src-gen")
//@GenModel(testsDirectory="/org.eclipse.apogy.core.environment.earth.atmosphere.tests/src-gen")
package org.eclipse.apogy.core.environment.earth.atmosphere
import org.eclipse.apogy.common.topology.TransformNode
import org.eclipse.apogy.core.environment.WorksiteNode
import org.eclipse.apogy.core.environment.earth.EarthWorksite
import org.eclipse.apogy.core.environment.earth.surface.EarthSky
import org.eclipse.apogy.common.Apogy
/**
* Defines a worksite above the surface, in the atmosphere, below 100km altitude.
*/
@Apogy(hasCustomClass="true")
class EarthAtmosphereWorksite extends EarthWorksite
{
/*
* The EarthSky associated with the worksite,
*/
refers derived transient volatile EarthSky[1] earthSky
}
/*
* SurfaceWorksiteNode specialized for the Earth Surface.
*/
@Apogy(hasCustomClass="true")
class EarthAtmosphereWorksiteNode extends WorksiteNode
{
refers transient TransformNode skyTransformNode
}
@Apogy(isSingleton="true", hasCustomClass="true")
class ApogyEarthAtmosphereFacade
{
/*
* Refers to the active EarthSurfaceWorksite. May be null.
*/
refers transient EarthAtmosphereWorksite activeEarthAtmosphereWorksite
/*
* Create an empty EarthAtmosphereWorksite with the CSA Mars Yard coordinates.
*/
op EarthAtmosphereWorksite createAndInitializeDefaultCSAEarthAtmosphereWorksite()
}