| // ***************************************************************************** |
| // 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 |
| // ***************************************************************************** |
| @GenModel(prefix="ApogyExamplesLanderApogy", |
| 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 |
| Regent L'Archeveque |
| |
| SPDX-License-Identifier: EPL-1.0 |
| *******************************************************************************", |
| modelName="ApogyExamplesLanderApogy", |
| suppressGenModelAnnotations="false", |
| dynamicTemplates="true", |
| templateDirectory="platform:/plugin/org.eclipse.apogy.common.emf.codegen/templates") |
| @GenModel(modelDirectory="/org.eclipse.apogy.examples.lander.apogy/src-gen") |
| @GenModel(editDirectory="/org.eclipse.apogy.examples.lander.apogy.edit/src-gen") |
| |
| package org.eclipse.apogy.examples.lander.apogy |
| |
| import org.eclipse.apogy.core.ApogySystemApiAdapter |
| import org.eclipse.apogy.core.ApogyInitializationData |
| import org.eclipse.apogy.examples.lander.LanderLegExtension |
| import org.eclipse.apogy.common.Apogy |
| |
| /** |
| * This class is the specialized Apogy API adapter, used for connecting |
| * the existing lander example, located at |
| * {@link org.eclipse.apogy.examples.lander.Lander}, |
| * to Apogy; one can override the well-known callback functions to make |
| * Apogy perform a variety of useful functions, including initialization, |
| * disposal and other features. |
| */ |
| @Apogy(hasCustomClass="true") |
| class LanderApogySystemApiAdapter extends ApogySystemApiAdapter |
| { |
| /** |
| * For specific implementation details, |
| * please see |
| * {@link org.eclipse.apogy.examples.lander.apogy.impl.LanderApogySystemApiAdapterImpl} |
| */ |
| } |
| |
| /** |
| * This class specifies the initialization data that Apogy |
| * should be interested in when (re)initializing the PTU dish |
| * antenna with the API Adapter (which in this case is |
| * {@link org.eclipse.apogy.examples.antenna.PTUDishAntennaApogySystemApiAdapter}) |
| */ |
| @Apogy(hasCustomItemProvider="true") |
| class LanderData extends ApogyInitializationData |
| { |
| /** |
| * This is whether or not the lander has been initialized. |
| */ |
| @GenModel(children="false", |
| notify="true", |
| property="Editable", |
| propertyCategory="Status") |
| boolean initialized = "false" |
| |
| /** |
| * This is whether or not the lander has been disposed. |
| */ |
| @GenModel(children="false", |
| notify="true", |
| property="Editable", |
| propertyCategory="Status") |
| boolean disposed = "false" |
| |
| /** |
| * This is whether or not flying is permitted for the |
| * lander. |
| */ |
| @GenModel(children="false", |
| notify="true", |
| property="Editable", |
| propertyCategory="Flight") |
| boolean flyingEnabled = "false" |
| |
| /** |
| * This is the extension position for the lander's |
| * leg A. |
| */ |
| @GenModel(children="false", |
| notify="true", |
| property="Editable", |
| propertyCategory="Legs") |
| LanderLegExtension legAExtension |
| |
| /** |
| * This is the extension position for the lander's |
| * leg B. |
| */ |
| @GenModel(children="false", |
| notify="true", |
| property="Editable", |
| propertyCategory="Legs") |
| LanderLegExtension legBExtension |
| |
| /** |
| * This is the extension position for the lander's |
| * leg C. |
| */ |
| @GenModel(children="false", |
| notify="true", |
| property="Editable", |
| propertyCategory="Legs") |
| LanderLegExtension legCExtension |
| |
| /** |
| * This is the thrust level (in N) of the lander |
| */ |
| @Apogy(units="N") |
| @GenModel(children="false", |
| notify="true", |
| property="Editable", |
| propertyCategory="Flight") |
| double currThrustLevel = "0.0" |
| |
| /** |
| * This is the minimum thrust level (in N) of the lander |
| */ |
| @Apogy(units="N") |
| @GenModel(children="false", |
| notify="true", |
| property="Editable", |
| propertyCategory="Flight") |
| double minThrustLevel = "0.0" |
| |
| /** |
| * This is the maximum thrust level (in N) of the lander |
| */ |
| @Apogy(units="N") |
| @GenModel(children="false", |
| notify="true", |
| property="Editable", |
| propertyCategory="Flight") |
| double maxThrustLevel = "0.0" |
| |
| /** |
| * This is the angular velocity (in radians / second) |
| * of the lander in the X direction. |
| */ |
| @Apogy(units="rad/s") |
| @GenModel(children="false", |
| notify="true", |
| property="Editable", |
| propertyCategory="Velocities") |
| double xAngularVelocity = "0.0" |
| |
| /** |
| * This is the angular velocity (in radians / second) |
| * of the lander in the Y direction. |
| */ |
| @Apogy(units="rad/s") |
| @GenModel(children="false", |
| notify="true", |
| property="Editable", |
| propertyCategory="Velocities") |
| double yAngularVelocity = "0.0" |
| } |