blob: a037026b9b97021c44d0c1cea6501095b5996f62 [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,
* 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