2 Copyright (C) 2001, 2006 United States Government
3 as represented by the Administrator of the
4 National Aeronautics and Space Administration.
7 package gov
.nasa
.worldwind
.layers
;
9 import gov
.nasa
.worldwind
.*;
10 import gov
.nasa
.worldwind
.geom
.*;
16 public class IconLayer
extends AbstractLayer
18 private final java
.util
.Collection
<WWIcon
> icons
= new java
.util
.ArrayList
<WWIcon
>();
19 private java
.util
.Iterator
<WWIcon
> iconIterator
;
20 private IconRenderer iconRenderer
= new IconRenderer();
21 private Pedestal pedestal
;
27 public void setIcons(java
.util
.Iterator
<WWIcon
> iconIterator
)
29 this.iconIterator
= iconIterator
;
32 public void addIcon(WWIcon icon
)
36 String msg
= WorldWind
.retrieveErrMsg("nullValue.Icon");
37 WorldWind
.logger().log(java
.util
.logging
.Level
.FINE
, msg
);
38 throw new IllegalArgumentException(msg
);
44 public void removeIcon(WWIcon icon
)
48 String msg
= WorldWind
.retrieveErrMsg("nullValue.Icon");
49 WorldWind
.logger().log(java
.util
.logging
.Level
.FINE
, msg
);
50 throw new IllegalArgumentException(msg
);
53 this.icons
.remove(icon
);
56 public java
.util
.Collection
<WWIcon
> getIcons()
63 this.iconRenderer
.dispose();
66 public Pedestal
getPedestal()
71 public void setPedestal(Pedestal pedestal
)
73 this.pedestal
= pedestal
;
77 protected void doPick(DrawContext dc
, java
.awt
.Point pickPoint
)
79 if (this.iconIterator
== null)
80 this.iconIterator
= this.icons
.iterator();
82 this.iconRenderer
.setPedestal(this.pedestal
);
83 this.iconRenderer
.pick(dc
, this.iconIterator
, pickPoint
, this);
85 this.iconIterator
= null;
89 protected void doRender(DrawContext dc
)
91 if (this.iconIterator
== null)
92 this.iconIterator
= this.icons
.iterator();
94 this.iconRenderer
.setPedestal(this.pedestal
);
95 this.iconRenderer
.render(dc
, this.iconIterator
);
97 this.iconIterator
= null;
101 public String
toString()
103 return WorldWind
.retrieveErrMsg("layers.IconLayer.Name");