com.supermap.realspace
类 ScreenLayer3D

java.lang.Object
  继承者 com.supermap.realspace.ScreenLayer3D

public class ScreenLayer3D
extends java.lang.Object

三维屏幕图层类。

SuperMap iObjects Java 三维地理信息系统提供了屏幕图层,这是一个特殊的图层,不同于三维图层、地形图层、影像图层和跟踪图层,屏幕图层中的对象并不是依据对象的坐标信息将其放到三维场景中的地球上,而是放在屏幕上(三维窗口表面),因此,屏幕图层上的几何对象不随三维场景中球体的旋转、倾斜等操作而变化,而是可以随着三维窗口的改变而变化,如随着三维窗口的放大、缩小而改变相应的位置,可以说屏幕图层上的对象是相对于三维窗口静止的,这样,可以通过屏幕图层,放置诸如 Logo、说明性的文字等需要静止显示在三维窗口中的内容。

一个三维场景有且只有一个屏幕图层,可以向屏幕图层添加任何三维几何对象,可以设置几何对象的显示位置、大小,也可以删除不需要的几何对象。

在三维场景中的屏幕图层添加图片

示例:
以下代码示范了如何向屏幕图层添加对象。
        public void TestScreenLayer() {
                // 返回当前三维场景窗口的三维场景对象
                SceneControl sceneControl = new SceneControl();
                Scene sceneObject = sceneControl.getScene();

                // 返回当前三维场景的屏幕图层
                ScreenLayer3D screenLayer3D = sceneObject.getScreenLayer();

                // 向屏幕图层中添加几何对象
                GeoPicture3D geoPicture3d = new GeoPicture3D("G:\\Data\\logo.png",new Point3D(0.3,0.1,0), 287, 54, 0);
                screenLayer3D.setXUnit(ScreenCoordinateUnit.PIXEL);
                screenLayer3D.setYUnit(ScreenCoordinateUnit.PIXEL);
                screenLayer3D.add(geoPicture3d, "logo");
                sceneObject.refresh();

                // 释放占用的资源
                sceneControl.dispose();
        }

方法摘要
 int add(Geometry geometry, java.lang.String tag)
          向屏幕图层中添加几何对象。
 void addScreenLayer3DAddedListener(ScreenLayer3DAddedListener l)
          添加一个用于接收三维屏幕图层添加事件(ScreenLayer3DAddedEvent)的监听器。
 void addScreenLayer3DClearedListener(ScreenLayer3DClearedListener l)
          添加一个用于接收三维屏幕图层清除事件(ScreenLayer3DClearedEvent)的监听器。
 void addScreenLayer3DGeometryChangedListener(ScreenLayer3DGeometryChangedListener l)
          添加一个用于接收三维屏幕图层几何对象变化事件(ScreenLayer3DGeometryChangedEvent)的监听器。
 void addScreenLayer3DRemovedListener(ScreenLayer3DRemovedListener l)
          添加一个用于接收三维屏幕图层添加事件(ScreenLayer3DRemovedEvent)的监听器。
 void addScreenLayer3DSelectedIndexChangedListener(ScreenLayer3DSelectedIndexChangedListener l)
          添加一个用于接收三维屏幕图层被选择索引变化事件ScreenLayer3DSelectedIndexChangedEvent的监听器。
 void addScreenLayer3DTagChangedListener(ScreenLayer3DTagChangedListener l)
          添加一个用于接收三维屏幕图层几何对象标签变化事件ScreenLayer3DTagChangedEvent的监听器。
 void addScreenLayer3DVisibleChangedListener(ScreenLayer3DVisibleChangedListener l)
          添加一个用于接收三维屏幕图层可视状态改变事件(ScreenLayer3DVisibleChangedEvent)的监听器。
 void clear()
          清空屏幕图层中的所有几何对象。
 Geometry get(int index)
          返回屏幕图层中指定序号的几何对象。
 int getCount()
          返回该屏幕图层中对象的个数。
 java.lang.String getTag(int index)
          返回屏幕图层中指定序号的几何对象的标签。
 ScreenCoordinateUnit getXUnit()
          返回该屏幕图层 X 轴方向的坐标类型。
 ScreenCoordinateUnit getYUnit()
          返回该屏幕图层 Y 轴方向的坐标类型。
 boolean isSelected(int index)
          返回指定索引处的对象是否属于选中状态。
 boolean isVisible()
          返回该屏幕图层是否可视。
 boolean remove(int index)
          从屏幕图层中删除指定序号的几何对象。
 void removeScreenLayer3DAddedListener(ScreenLayer3DAddedListener l)
          移除一个用于接收三维屏幕图层添加事件(ScreenLayer3DAddedEvent)的监听器。
 void removeScreenLayer3DClearedListener(ScreenLayer3DClearedListener l)
          移除一个用于接收三维屏幕图层清除事件(ScreenLayer3DClearedEvent)的监听器。
 void removeScreenLayer3DGeometryChangedListener(ScreenLayer3DGeometryChangedListener l)
          移除一个用于接收三维屏幕图层几何对象变化事件(ScreenLayer3DGeometryChangedEvent)的监听器。
 void removeScreenLayer3DRemovedListener(ScreenLayer3DRemovedListener l)
          移除一个用于接收三维屏幕图层添加事件(ScreenLayer3DRemovedEvent)的监听器。
 void removeScreenLayer3DSelectedIndexChangedListener(ScreenLayer3DSelectedIndexChangedListener l)
          移除一个用于接收三维屏幕图层被选择索引变化事件ScreenLayer3DSelectedIndexChangedEvent的监听器。
 void removeScreenLayer3DTagChangedListener(ScreenLayer3DTagChangedListener l)
          移除一个用于接收三维屏幕图层几何对象标签变化事件ScreenLayer3DTagChangedEvent的监听器。
 void removeScreenLayer3DVisibleChangedListener(ScreenLayer3DVisibleChangedListener l)
          移除一个用于接收三维屏幕图层可视状态改变事件(ScreenLayer3DVisibleChangedEvent)的监听器。
 boolean set(int index, Geometry geometry)
          用指定的几何对象替换屏幕图层中指定序号的几何对象。
 void setSelected(int index, boolean isSelected)
          设置指定索引处的对象是否为选中状态。
 boolean setTag(int index, java.lang.String tag)
          设置屏幕图层中指定序号的几何对象的标签。
 void setVisible(boolean value)
          设置该屏幕图层是否可视。
 void setXUnit(ScreenCoordinateUnit screenCoordinateUnit)
          设置该屏幕图层 X 轴方向的坐标类型。
 void setYUnit(ScreenCoordinateUnit screenCoordinateUnit)
          设置该屏幕图层 Y 轴方向的坐标类型。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

isVisible

public boolean isVisible()
返回该屏幕图层是否可视。

返回:
屏幕图层是否可视返回 true;否则返回 false。

setVisible

public void setVisible(boolean value)
设置该屏幕图层是否可视。

参数:
value - 一个布尔值指定该屏幕图层是否可视。

getXUnit

public ScreenCoordinateUnit getXUnit()
返回该屏幕图层 X 轴方向的坐标类型。

通过坐标类型可以控制对象的位置,以及大小是否固定。

返回:
该屏幕图层 X 轴方向的坐标类型。

setXUnit

public void setXUnit(ScreenCoordinateUnit screenCoordinateUnit)
设置该屏幕图层 X 轴方向的坐标类型。

通过坐标类型可以控制对象的位置,以及大小是否固定。

参数:
screenCoordinateUnit - 该屏幕图层 X 轴方向的坐标类型。

getYUnit

public ScreenCoordinateUnit getYUnit()
返回该屏幕图层 Y 轴方向的坐标类型。

通过坐标类型可以控制对象的位置,以及大小是否固定。

返回:
该屏幕图层Y轴方向的坐标类型。

setYUnit

public void setYUnit(ScreenCoordinateUnit screenCoordinateUnit)
设置该屏幕图层 Y 轴方向的坐标类型。

通过坐标类型可以控制对象的位置,以及大小是否固定。

参数:
screenCoordinateUnit - 该屏幕图层 Y 轴方向的坐标类型。

add

public int add(Geometry geometry,
               java.lang.String tag)
向屏幕图层中添加几何对象。

参数:
geometry - 指定的待添加的几何对象。
tag - 指定的待添加的几何对象的标签。
返回:
屏幕图层中几何对象的总数目。

remove

public boolean remove(int index)
从屏幕图层中删除指定序号的几何对象。

参数:
index - 指定的待删除几何对象的序号。
返回:
删除成功返回 true;否则返回 false。

get

public Geometry get(int index)
返回屏幕图层中指定序号的几何对象。

参数:
index - 指定的几何对象的序号。
返回:
屏幕图层中指定序号的几何对象。

set

public boolean set(int index,
                   Geometry geometry)
用指定的几何对象替换屏幕图层中指定序号的几何对象。

参数:
index - 指定的待替换的几何对象的序号。
geometry - 指定的几何对象。
返回:
一个布尔值,表示是否替换成功,若成功,返回 true;否则返回 false。

getTag

public java.lang.String getTag(int index)
返回屏幕图层中指定序号的几何对象的标签。

参数:
index - 指定的几何对象的序号。
返回:
屏幕图层中指定序号的几何对象标签的字符串。

setTag

public boolean setTag(int index,
                      java.lang.String tag)
设置屏幕图层中指定序号的几何对象的标签。

参数:
index - 指定的几何对象的序号。
tag - 指定的几何对象标签的字符串。
返回:
设置成功返回 true;否则返回 false。

clear

public void clear()
清空屏幕图层中的所有几何对象。


getCount

public int getCount()
返回该屏幕图层中对象的个数。

返回:
该屏幕图层中对象的个数。

isSelected

public boolean isSelected(int index)
返回指定索引处的对象是否属于选中状态。要使一个对象属于选中状态需要通过 setSelected() 方法来指定。

参数:
index - 指定的索引
返回:
指定索引处的对象是否为选中状态。

setSelected

public void setSelected(int index,
                        boolean isSelected)
设置指定索引处的对象是否为选中状态。

参数:
index - 指定的索引。
isSelected - 指定索引处的对象是否为选中状态。

addScreenLayer3DAddedListener

public void addScreenLayer3DAddedListener(ScreenLayer3DAddedListener l)
添加一个用于接收三维屏幕图层添加事件(ScreenLayer3DAddedEvent)的监听器。

参数:
l - 一个用于接收三维屏幕图层添加事件的监听器。

removeScreenLayer3DAddedListener

public void removeScreenLayer3DAddedListener(ScreenLayer3DAddedListener l)
移除一个用于接收三维屏幕图层添加事件(ScreenLayer3DAddedEvent)的监听器。

参数:
l - 一个用于接收三维屏幕图层添加事件的监听器。

addScreenLayer3DRemovedListener

public void addScreenLayer3DRemovedListener(ScreenLayer3DRemovedListener l)
添加一个用于接收三维屏幕图层添加事件(ScreenLayer3DRemovedEvent)的监听器。

参数:
l - 一个用于接收三维屏幕图层添加事件的监听器。

removeScreenLayer3DRemovedListener

public void removeScreenLayer3DRemovedListener(ScreenLayer3DRemovedListener l)
移除一个用于接收三维屏幕图层添加事件(ScreenLayer3DRemovedEvent)的监听器。

参数:
l - 一个用于接收三维屏幕图层添加事件的监听器。

addScreenLayer3DGeometryChangedListener

public void addScreenLayer3DGeometryChangedListener(ScreenLayer3DGeometryChangedListener l)
添加一个用于接收三维屏幕图层几何对象变化事件(ScreenLayer3DGeometryChangedEvent)的监听器。

参数:
l - 一个用于接收三维屏幕图层几何对象变化事件的监听器。

removeScreenLayer3DGeometryChangedListener

public void removeScreenLayer3DGeometryChangedListener(ScreenLayer3DGeometryChangedListener l)
移除一个用于接收三维屏幕图层几何对象变化事件(ScreenLayer3DGeometryChangedEvent)的监听器。

参数:
l - 一个用于接收三维屏幕图层几何对象变化事件的监听器。

addScreenLayer3DTagChangedListener

public void addScreenLayer3DTagChangedListener(ScreenLayer3DTagChangedListener l)
添加一个用于接收三维屏幕图层几何对象标签变化事件ScreenLayer3DTagChangedEvent的监听器。

参数:
l - 一个用于接收三维屏幕图层几何对象标签变化事件的监听器。

removeScreenLayer3DTagChangedListener

public void removeScreenLayer3DTagChangedListener(ScreenLayer3DTagChangedListener l)
移除一个用于接收三维屏幕图层几何对象标签变化事件ScreenLayer3DTagChangedEvent的监听器。

参数:
l - 一个用于接收三维屏幕图层几何对象标签变化事件的监听器。

addScreenLayer3DClearedListener

public void addScreenLayer3DClearedListener(ScreenLayer3DClearedListener l)
添加一个用于接收三维屏幕图层清除事件(ScreenLayer3DClearedEvent)的监听器。

参数:
l - 一个用于接收三维屏幕图层清除事件的监听器。

removeScreenLayer3DClearedListener

public void removeScreenLayer3DClearedListener(ScreenLayer3DClearedListener l)
移除一个用于接收三维屏幕图层清除事件(ScreenLayer3DClearedEvent)的监听器。

参数:
l - 一个用于接收三维屏幕图层清除事件的监听器。

addScreenLayer3DSelectedIndexChangedListener

public void addScreenLayer3DSelectedIndexChangedListener(ScreenLayer3DSelectedIndexChangedListener l)
添加一个用于接收三维屏幕图层被选择索引变化事件ScreenLayer3DSelectedIndexChangedEvent的监听器。

参数:
l - 一个用于接收三维屏幕图层被选择索引变化事件的监听器。

removeScreenLayer3DSelectedIndexChangedListener

public void removeScreenLayer3DSelectedIndexChangedListener(ScreenLayer3DSelectedIndexChangedListener l)
移除一个用于接收三维屏幕图层被选择索引变化事件ScreenLayer3DSelectedIndexChangedEvent的监听器。

参数:
l - 一个用于接收三维屏幕图层被选择索引变化事件的监听器。

addScreenLayer3DVisibleChangedListener

public void addScreenLayer3DVisibleChangedListener(ScreenLayer3DVisibleChangedListener l)
添加一个用于接收三维屏幕图层可视状态改变事件(ScreenLayer3DVisibleChangedEvent)的监听器。

参数:
l - 一个用于接收三维屏幕图层可视状态改变事件的监听器。

removeScreenLayer3DVisibleChangedListener

public void removeScreenLayer3DVisibleChangedListener(ScreenLayer3DVisibleChangedListener l)
移除一个用于接收三维屏幕图层可视状态改变事件(ScreenLayer3DVisibleChangedEvent)的监听器。

参数:
l - 一个用于接收三维屏幕图层可视状态改变事件的监听器。