| /******************************************************************************* |
| * 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, |
| * Regent L'Archeveque - initial API and implementation |
| * |
| * SPDX-License-Identifier: EPL-1.0 |
| * |
| *******************************************************************************/ |
| package org.eclipse.apogy.addons.sensors.fov.impl; |
| |
| import org.eclipse.apogy.addons.sensors.fov.AngularSpan; |
| import org.eclipse.apogy.addons.sensors.fov.ApogyAddonsSensorsFOVFactory; |
| import org.eclipse.apogy.addons.sensors.fov.CircularSectorFieldOfView; |
| import org.eclipse.apogy.addons.sensors.fov.ConicalFieldOfView; |
| import org.eclipse.apogy.addons.sensors.fov.DistanceRange; |
| import org.eclipse.apogy.addons.sensors.fov.RectangularFrustrumFieldOfView; |
| |
| public class ApogyAddonsSensorsFOVFacadeCustomImpl extends ApogyAddonsSensorsFOVFacadeImpl { |
| |
| @Override |
| public DistanceRange createDistanceRange(double minimumDistance, double maximumDistance) { |
| DistanceRange distanceRange = ApogyAddonsSensorsFOVFactory.eINSTANCE.createDistanceRange(); |
| distanceRange.setMinimumDistance(minimumDistance); |
| distanceRange.setMaximumDistance(maximumDistance); |
| return distanceRange; |
| } |
| |
| @Override |
| public DistanceRange createDistanceRange(DistanceRange distanceRange) { |
| DistanceRange newDistanceRange = ApogyAddonsSensorsFOVFactory.eINSTANCE.createDistanceRange(); |
| newDistanceRange.setMinimumDistance(distanceRange.getMinimumDistance()); |
| newDistanceRange.setMaximumDistance(distanceRange.getMaximumDistance()); |
| return newDistanceRange; |
| } |
| |
| @Override |
| public AngularSpan createAngularSpan(double minimumAngle, double maximumAngle) { |
| AngularSpan angularSpan = ApogyAddonsSensorsFOVFactory.eINSTANCE.createAngularSpan(); |
| angularSpan.setMinimumAngle(minimumAngle); |
| angularSpan.setMaximumAngle(maximumAngle); |
| return angularSpan; |
| } |
| |
| @Override |
| public AngularSpan createAngularSpan(AngularSpan angularSpan) { |
| AngularSpan newAngularSpan = ApogyAddonsSensorsFOVFactory.eINSTANCE.createAngularSpan(); |
| newAngularSpan.setMinimumAngle(angularSpan.getMinimumAngle()); |
| newAngularSpan.setMaximumAngle(angularSpan.getMaximumAngle()); |
| return newAngularSpan; |
| } |
| |
| @Override |
| public RectangularFrustrumFieldOfView createRectangularFrustrumFieldOfView(double minimumDistance, |
| double maximumDistance, double horizontalFieldOfViewAngle, double verticalFieldOfViewAngle) { |
| RectangularFrustrumFieldOfView rectangularFrustrumFieldOfView = ApogyAddonsSensorsFOVFactory.eINSTANCE |
| .createRectangularFrustrumFieldOfView(); |
| DistanceRange distanceRange = createDistanceRange(minimumDistance, maximumDistance); |
| rectangularFrustrumFieldOfView.setRange(distanceRange); |
| rectangularFrustrumFieldOfView.setHorizontalFieldOfViewAngle(horizontalFieldOfViewAngle); |
| rectangularFrustrumFieldOfView.setVerticalFieldOfViewAngle(verticalFieldOfViewAngle); |
| return rectangularFrustrumFieldOfView; |
| } |
| |
| @Override |
| public RectangularFrustrumFieldOfView createRectangularFrustrumFieldOfView( |
| RectangularFrustrumFieldOfView rectangularFrustrumFieldOfView) { |
| RectangularFrustrumFieldOfView newRectangularFrustrumFieldOfView = ApogyAddonsSensorsFOVFactory.eINSTANCE |
| .createRectangularFrustrumFieldOfView(); |
| |
| if (rectangularFrustrumFieldOfView.getRange() != null) { |
| DistanceRange distanceRange = createDistanceRange(rectangularFrustrumFieldOfView.getRange()); |
| newRectangularFrustrumFieldOfView.setRange(distanceRange); |
| } |
| |
| newRectangularFrustrumFieldOfView.setDescription(rectangularFrustrumFieldOfView.getDescription()); |
| newRectangularFrustrumFieldOfView |
| .setHorizontalFieldOfViewAngle(rectangularFrustrumFieldOfView.getHorizontalFieldOfViewAngle()); |
| newRectangularFrustrumFieldOfView |
| .setVerticalFieldOfViewAngle(rectangularFrustrumFieldOfView.getVerticalFieldOfViewAngle()); |
| return newRectangularFrustrumFieldOfView; |
| } |
| |
| @Override |
| public ConicalFieldOfView createConicalFieldOfView(double minimumDistance, double maximumDistance, |
| double fieldOfViewAngle) { |
| ConicalFieldOfView conicalFieldOfView = ApogyAddonsSensorsFOVFactory.eINSTANCE.createConicalFieldOfView(); |
| DistanceRange distanceRange = createDistanceRange(minimumDistance, maximumDistance); |
| conicalFieldOfView.setRange(distanceRange); |
| conicalFieldOfView.setFieldOfViewAngle(fieldOfViewAngle); |
| return conicalFieldOfView; |
| } |
| |
| @Override |
| public ConicalFieldOfView createConicalFieldOfView(ConicalFieldOfView conicalFieldOfView) { |
| ConicalFieldOfView newConicalFieldOfView = ApogyAddonsSensorsFOVFactory.eINSTANCE.createConicalFieldOfView(); |
| if (conicalFieldOfView.getRange() != null) { |
| DistanceRange distanceRange = createDistanceRange(conicalFieldOfView.getRange()); |
| newConicalFieldOfView.setRange(distanceRange); |
| } |
| newConicalFieldOfView.setFieldOfViewAngle(conicalFieldOfView.getFieldOfViewAngle()); |
| newConicalFieldOfView.setDescription(conicalFieldOfView.getDescription()); |
| return newConicalFieldOfView; |
| } |
| |
| @Override |
| public CircularSectorFieldOfView createCircularSectorFieldOfView(double minimumAngle, double maximumAngle, |
| double minimumDistance, double maximumDistance) { |
| CircularSectorFieldOfView circularSectorFieldOfView = ApogyAddonsSensorsFOVFactory.eINSTANCE |
| .createCircularSectorFieldOfView(); |
| DistanceRange distanceRange = createDistanceRange(minimumDistance, maximumDistance); |
| circularSectorFieldOfView.setRange(distanceRange); |
| AngularSpan angularSpan = createAngularSpan(minimumAngle, maximumAngle); |
| circularSectorFieldOfView.setAngularSpan(angularSpan); |
| return circularSectorFieldOfView; |
| } |
| |
| @Override |
| public CircularSectorFieldOfView createCircularSectorFieldOfView( |
| CircularSectorFieldOfView circularSectorFieldOfView) { |
| CircularSectorFieldOfView newcircularSectorFieldOfView = ApogyAddonsSensorsFOVFactory.eINSTANCE |
| .createCircularSectorFieldOfView(); |
| |
| if (circularSectorFieldOfView.getRange() != null) { |
| DistanceRange distanceRange = createDistanceRange(circularSectorFieldOfView.getRange()); |
| newcircularSectorFieldOfView.setRange(distanceRange); |
| } |
| |
| if (circularSectorFieldOfView.getAngularSpan() != null) { |
| AngularSpan angularSpan = createAngularSpan(circularSectorFieldOfView.getAngularSpan()); |
| newcircularSectorFieldOfView.setAngularSpan(angularSpan); |
| } |
| |
| newcircularSectorFieldOfView.setDescription(circularSectorFieldOfView.getDescription()); |
| |
| return newcircularSectorFieldOfView; |
| } |
| |
| } // ApogyAddonsSensorsFOVFacadeImpl |