| // ***************************************************************************** |
| // 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 |
| // Sebastien Gemme |
| // |
| // SPDX-License-Identifier: EPL-1.0 |
| // ***************************************************************************** |
| @GenModel(prefix="ApogyAddonsROSUI", |
| modelName="ApogyAddonsROSUI", |
| operationReflection="true", |
| 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 |
| Regent L'Archeveque, |
| Sebastien Gemme |
| |
| SPDX-License-Identifier: EPL-1.0 |
| *******************************************************************************", |
| suppressGenModelAnnotations="false", |
| dynamicTemplates="true", |
| templateDirectory="platform:/plugin/org.eclipse.apogy.common.emf.codegen/templates") |
| @GenModel(modelDirectory="/org.eclipse.apogy.addons.ros.ui/src-gen") |
| @GenModel(editDirectory="/org.eclipse.apogy.addons.ros.ui.edit/src-gen") |
| |
| package org.eclipse.apogy.addons.ros.ui |
| |
| import org.eclipse.apogy.addons.Simple3DTool |
| import org.eclipse.apogy.addons.ros.ROSInterface |
| import org.eclipse.apogy.addons.ros.ROSNode |
| import org.eclipse.apogy.common.Apogy |
| |
| /** |
| * Tool used to display a ROS Transform into the 3D environment. |
| */ |
| @Apogy(hasCustomClass="true", hasCustomItemProvider="true") |
| class TFDisplay3DTool extends Simple3DTool, ROSInterface |
| { |
| /** |
| * The ROS node used to monitor the TF. |
| */ |
| contains ROSNode toolRosNode |
| |
| /** |
| * Displays whether or not the tool if connected to its topic. |
| */ |
| @GenModel(notify="true", children="false", property="Readonly") |
| boolean connected = "false" |
| |
| /** |
| * The name of the topic the provides the transform. |
| */ |
| String topicName = "" |
| |
| /** |
| * Starts tool and connected to the topic. |
| */ |
| op boolean start() |
| |
| /** |
| * Stops the tool and disconnects from the topic. |
| */ |
| op boolean stop() |
| } |