public class ScreenLayer3D
extends com.supermap.data.InternalHandle
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(); }
public int getCount()
public boolean isVisible()
public void setVisible(boolean isVisible)
isVisible
- 一个布尔值指定该屏幕图层是否可视。public int add(Geometry geometry, String tag)
geometry
- 指定的待添加的几何对象。tag
- 指定的待添加的几何对象的标签。public boolean remove(int index)
index
- 指定的待删除几何对象的序号。public Geometry get(int index)
index
- 指定的几何对象的序号。public boolean set(int index, Geometry geometry)
index
- 指定的待替换的几何对象的序号。geometry
- 指定的几何对象。public String getTag(int index)
index
- 指定的几何对象的序号。public boolean setTag(int index, String tag)
index
- 指定的几何对象的序号。tag
- 指定的几何对象标签的字符串。public void clear()
public ScreenCoordinateUnit getXUnit()
通过坐标类型可以控制对象的位置,以及大小是否固定。
public ScreenCoordinateUnit getYUnit()
通过坐标类型可以控制对象的位置,以及大小是否固定。
public void setXUnit(ScreenCoordinateUnit unit)
通过坐标类型可以控制对象的位置,以及大小是否固定。
unit
- 该屏幕图层 X 轴方向的坐标类型。public void setYUnit(ScreenCoordinateUnit unit)
通过坐标类型可以控制对象的位置,以及大小是否固定。
unit
- 该屏幕图层 Y 轴方向的坐标类型。public boolean isSelected(int index)
setSelected()
方法来指定。index
- 指定的索引public void setSelected(int index, boolean isSelected)
index
- 指定的索引。isSelected
- 指定索引处的对象是否为选中状态。public void addScreenLayer3DAddedListener(ScreenLayer3DAddedListener l)
ScreenLayer3DAddedEvent
)的监听器。l
- 一个用于接收三维屏幕图层添加事件的监听器。public void removeScreenLayer3DAddedListener(ScreenLayer3DAddedListener l)
ScreenLayer3DAddedEvent
)的监听器。l
- 一个用于接收三维屏幕图层添加事件的监听器。public void addScreenLayer3DRemovedListener(ScreenLayer3DRemovedListener l)
ScreenLayer3DRemovedEvent
)的监听器。l
- 一个用于接收三维屏幕图层添加事件的监听器。public void removeScreenLayer3DRemovedListener(ScreenLayer3DRemovedListener l)
ScreenLayer3DRemovedEvent
)的监听器。l
- 一个用于接收三维屏幕图层添加事件的监听器。public void addScreenLayer3DClearedListener(ScreenLayer3DClearedListener l)
ScreenLayer3DClearedEvent
)的监听器。l
- 一个用于接收三维屏幕图层清除事件的监听器。public void removeScreenLayer3DClearedListener(ScreenLayer3DClearedListener l)
ScreenLayer3DClearedEvent
)的监听器。l
- 一个用于接收三维屏幕图层清除事件的监听器。public void addScreenLayer3DGeometryChangedListener(ScreenLayer3DGeometryChangedListener l)
ScreenLayer3DGeometryChangedEvent
)的监听器。l
- 一个用于接收三维屏幕图层几何对象变化事件的监听器。public void removeScreenLayer3DGeometryChangedListener(ScreenLayer3DGeometryChangedListener l)
ScreenLayer3DGeometryChangedEvent
)的监听器。l
- 一个用于接收三维屏幕图层几何对象变化事件的监听器。public void addScreenLayer3DTagChangedListener(ScreenLayer3DTagChangedListener l)
ScreenLayer3DTagChangedEvent
的监听器。l
- 一个用于接收三维屏幕图层几何对象标签变化事件的监听器。public void removeScreenLayer3DTagChangedListener(ScreenLayer3DTagChangedListener l)
ScreenLayer3DTagChangedEvent
的监听器。l
- 一个用于接收三维屏幕图层几何对象标签变化事件的监听器。public void addScreenLayer3DSelectedIndexChangedListener(ScreenLayer3DSelectedIndexChangedListener l)
ScreenLayer3DSelectedIndexChangedEvent
的监听器。l
- 一个用于接收三维屏幕图层被选择索引变化事件的监听器。public void removeScreenLayer3DSelectedIndexChangedListener(ScreenLayer3DSelectedIndexChangedListener l)
ScreenLayer3DSelectedIndexChangedEvent
的监听器。l
- 一个用于接收三维屏幕图层被选择索引变化事件的监听器。public void addScreenLayer3DVisibleChangedListeners(ScreenLayer3DVisibleChangedListener l)
public void removeScreenLayer3DVisibleChangedListeners(ScreenLayer3DVisibleChangedListener l)
public void setObjsVisibleInViewport(int[] objsVisible, boolean visible, short viewPortIndex)
public boolean getObjsVisibleInViewport(int objIndex, short viewPortIndex)
Copyright © 2021–2024 SuperMap. All rights reserved.