// **********************************************************************
//
// <copyright>
//
// BBN Technologies
// 10 Moulton Street
// Cambridge, MA 02138
// (617) 873-8000
//
// Copyright (C) BBNT Solutions LLC. All rights reserved.
//
// </copyright>
// **********************************************************************
//
// $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/dataAccess/shape/EsriIconPoint.java,v $
// $RCSfile: EsriIconPoint.java,v $
// $Revision: 1.3 $
// $Date: 2009/01/21 01:24:41 $
// $Author: dietrick $
//
// **********************************************************************
package com.bbn.openmap.dataAccess.shape;
import java.awt.Image;
import javax.swing.ImageIcon;
import com.bbn.openmap.omGraphics.DrawingAttributes;
import com.bbn.openmap.omGraphics.OMGraphicConstants;
import com.bbn.openmap.omGraphics.OMScalingIcon;
/**
* An extension to OMPoint that typecasts a specific Esri graphic type. Used to
* ensure that all OMGraphics added to a EsriGraphicList is of the same type.
*
* @author Doug Van Auken
*/
public class EsriIconPoint extends OMScalingIcon implements Cloneable,
EsriGraphic, OMGraphicConstants {
protected int type = SHAPE_TYPE_POINT;
public EsriIconPoint(double lat, double lon, ImageIcon imageIcon) {
super(lat, lon, imageIcon);
}
public EsriIconPoint(double lat, double lon, Image image) {
super(lat, lon, image);
}
/**
* The lat/lon extent of the EsriGraphic, assumed to contain miny, minx,
* maxy maxx in order of the array.
*/
public void setExtents(double[] extents) {
// we know what it is.
}
/**
* The lat/lon extent of the EsriGraphic, returned as miny, minx, maxy maxx
* in order of the array.
*/
public double[] getExtents() {
double[] ex = new double[4];
ex[0] = getLat();
ex[1] = getLon();
ex[2] = getLat();
ex[3] = getLon();
return ex;
}
public void setType(int t) {
type = t;
}
public int getType() {
return type;
}
public static EsriIconPoint convert(OMScalingIcon omscalingicon) {
if (omscalingicon.getRenderType() == RENDERTYPE_LATLON) {
EsriIconPoint eip = new EsriIconPoint(omscalingicon.getLat(), omscalingicon.getLon(), omscalingicon.getImage());
eip.setBaseScale(omscalingicon.getBaseScale());
eip.setMaxScale(omscalingicon.getMaxScale());
eip.setMinScale(omscalingicon.getMinScale());
eip.setAttributes(omscalingicon.getAttributes());
DrawingAttributes attributes = new DrawingAttributes();
attributes.setFrom(omscalingicon);
attributes.setTo(eip);
return eip;
} else {
return null;
}
}
public EsriGraphic shallowCopy() {
return shallowCopyPoint();
}
public EsriIconPoint shallowCopyPoint() {
return (EsriIconPoint) super.clone();
}
}