blob: 3a7cc771d11d08b48f9201f690a0481bd6db1103 [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,
* Sebastien Gemme - initial API and implementation
*
* SPDX-License-Identifier: EPL-1.0
*
*******************************************************************************/
package org.eclipse.apogy.core.provider;
import java.text.DecimalFormat;
import javax.vecmath.Matrix4d;
import javax.vecmath.Vector3d;
import org.eclipse.apogy.core.FeatureOfInterest;
import org.eclipse.emf.common.notify.AdapterFactory;
public class FeatureOfInterestCustomItemProvider extends FeatureOfInterestItemProvider {
public FeatureOfInterestCustomItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
private final DecimalFormat decimaFormat = new DecimalFormat("0.000");
@Override
public String getText(Object object) {
FeatureOfInterest featureOfInterest = (FeatureOfInterest) object;
String label = null;
if (featureOfInterest.getName() != null && featureOfInterest.getName().length() > 0) {
label = featureOfInterest.getName();
} else {
label = getString("_UI_FeatureOfInterest_type");
}
Matrix4d m = featureOfInterest.getPose().asMatrix4d();
Vector3d position = new Vector3d();
m.get(position);
// Adds position at the end.
label += " (" + this.decimaFormat.format(position.x) + ", " + this.decimaFormat.format(position.y) + ", "
+ this.decimaFormat.format(position.z) + ")";
return label;
}
}