com.supermap.realspace
类 TrackingLayer3D

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

public class TrackingLayer3D
extends java.lang.Object

三维跟踪图层类。

三维跟踪图层的作用与二维跟在图层相似,每个地图窗口都有一个跟踪图层,确切地说,每个地图显示时都有一个跟踪图层。跟踪图层是一个空白的透明图层,总是在地图各图层的最上层,主要用于在一个处理或分析过程中,临时存放一些图形对象,以及一些文本等。只要地图显示,跟踪图层就会存在,你不可以删除跟踪图层,也不可以改变其位置。

三维跟踪图层除了支持二维对象的添加,还支持三维对象的添加。

需要注意的是,对于规则的几何体(例如:球体、立方体),不能直接加到跟踪图层中。需要先转成GeoModel对象,之后才可以添加到跟踪图层中。


方法摘要
 int add(Geometry geometry, java.lang.String tag)
          该方法用于向三维跟踪图层中添加一个几何对象,并给出标签信息。
 void clear()
          清空三维跟踪图层中的所有几何对象。
 Geometry get(int index)
          返回三维跟踪图层中指定索引的几何对象。
 int getCount()
          返回三维跟踪图层中几何对象的个数。
 java.lang.String getTag(int index)
          返回三维跟踪图层中指定索引的几何对象的标签
 WireFrameType getWireFrameMode()
          获取或设置模型的线框显示类型。
 int hitTest(java.awt.Point point)
          返回选中的屏幕像素点所对应的三维几何对象的 ID。
 int indexOf(java.lang.String tag)
          返回第一个与指定标签相同的三维几何对象所处的索引值。
 boolean isReceiveProjectionImage()
          获取视频投放是否跟踪当前图层。
 boolean isSelectable()
          获取三维跟踪图层是否可选择。
 boolean isVisible()
          返回三维跟踪图层是否可见。
 boolean remove(int index)
          从三维跟踪图层中删除指定索引的几何对象。
 boolean set(int index, Geometry geometry)
          将三维跟踪图层中的指定索引对应的几何对象替换为指定的几何对象,若此索引已有对应的几何对象,则会删除该几何对象,替换为指定的新几何对象。
 void setIsReceiveProjectionImage(boolean isReceiveProjectionImage)
          设置视频投放是否跟踪当前图层。
 void setSelectable(boolean value)
          设置三维跟踪图层是否可选择。
 boolean setTag(int index, java.lang.String tag)
          设置三维跟踪图层中指定索引的几何对象的标签。
 void setVisible(boolean value)
          设置三维跟踪图层是否可见
 void setWireFrameMode(WireFrameType frameMode)
          获取或设置模型的线框显示类型。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

getCount

public int getCount()
返回三维跟踪图层中几何对象的个数。

返回:
三维跟踪图层中几何对象的个数。

isVisible

public boolean isVisible()
返回三维跟踪图层是否可见。

返回:
一个布尔值,表示三维跟踪图层是否可见,true表示可见,false 表示不可见。

setVisible

public void setVisible(boolean value)
设置三维跟踪图层是否可见

参数:
value - 一个布尔值,表示三维跟踪图层是否可见,true表示可见,false 表示不可见。

add

public int add(Geometry geometry,
               java.lang.String tag)
该方法用于向三维跟踪图层中添加一个几何对象,并给出标签信息。

参数:
geometry - 要添加的几何对象。
tag - 要添加的几何对象的标签。
返回:
待添加的几何对象的索引。
示例:
以下代码示例了如何在三维跟踪图层上添加点几何对象
        public void addExample() {

                // 构造点几何对象
                // Create an instance of the GeoPoint.
                GeoPoint point = new GeoPoint(12, 15);

                // 创建三维场景对象
                // Create an instance of the Scene.
                SceneControl sceneControl = new SceneControl();
                Scene scene = sceneControl.getScene();

                // 往三维场景的跟踪图层上添加点对象
                // Add the GeoPoint to the 3D tracking layer.
                scene.getTrackingLayer().add(point, "点");

                // 释放资源
                sceneControl.dispose();

        }

remove

public boolean remove(int index)
从三维跟踪图层中删除指定索引的几何对象。

参数:
index - 要删除的几何对象的索引。
返回:
删除成功返回true;否则返回false。

get

public Geometry get(int index)
返回三维跟踪图层中指定索引的几何对象。

参数:
index - 要返回的几何对象的索引
返回:
指定索引的几何对象

set

public boolean set(int index,
                   Geometry geometry)
将三维跟踪图层中的指定索引对应的几何对象替换为指定的几何对象,若此索引已有对应的几何对象,则会删除该几何对象,替换为指定的新几何对象。

参数:
geometry - 指定的新几何对象。
index - 待替换几何对象的索引。
返回:
替换成功返回true;否则返回false。

getTag

public java.lang.String getTag(int index)
返回三维跟踪图层中指定索引的几何对象的标签

参数:
index - 将要返回标签的几何对象的索引
返回:
将要返回标签的几何对象的索引
示例:
以下代码示范了如何添加点和线到跟踪图层
        public void getTrackingLayer3DGeometryTag() {
                // 创建三维场景对象
                SceneControl sceneControl = new SceneControl();
                Scene scene = sceneControl.getScene();

                // 返回三维跟踪图层对象
                TrackingLayer3D trackingLayer3D = sceneControl.getScene()
                                .getTrackingLayer();
                trackingLayer3D.setVisible(true);

                // 构造点几何对象,并添加点到三维跟踪图层
                GeoPoint geoPoint = new GeoPoint(500, 500);
                int index1 = trackingLayer3D.add(geoPoint, "点");

                // 构造线几何对象,并添加线到三维跟踪图层
                Point2D[] points = { new Point2D(1000, 100), new Point2D(10000, 600) };
                GeoLine geoLine = new GeoLine(new Point2Ds(points));
                int index2 = trackingLayer3D.add(geoLine, "线");

                // 返回此三维跟踪图层中指定索引的几何对象
                Geometry geometry1 = trackingLayer3D.get(0);

                // 输出添加对象的Tag
                for (int i = 0; i < trackingLayer3D.getCount(); i++) {
                        System.out.println("Geometry" + new Integer(i + 1).toString()
                                        + trackingLayer3D.getTag(i));
                }

                // 释放资源
                sceneControl.dispose();

        }

setTag

public boolean setTag(int index,
                      java.lang.String tag)
设置三维跟踪图层中指定索引的几何对象的标签。

参数:
index - 要设置标签的几何对象的索引
tag - 几何对象的新标签
返回:
设置成功返回true;否则返回false

clear

public void clear()
清空三维跟踪图层中的所有几何对象。


indexOf

public int indexOf(java.lang.String tag)
返回第一个与指定标签相同的三维几何对象所处的索引值。

参数:
tag - 需要进行索引检查的标签。
返回:
第一个与指定标签相同的三维几何对象所处的索引值。

hitTest

public int hitTest(java.awt.Point point)
返回选中的屏幕像素点所对应的三维几何对象的 ID。

如果跟踪图层中所选中的屏幕像素点没有对应的三维几何对象或没有选中屏幕像素点,返回-1;如果场景中所选中的屏幕像素点对应多个三维几何对象,则返回最上面的三维几何对象的ID。

参数:
point - 所选中的屏幕像素点。
返回:
选中的屏幕像素点所对应的三维几何对象的 ID。

isSelectable

public boolean isSelectable()
获取三维跟踪图层是否可选择。

返回:
是否可选择。

setSelectable

public void setSelectable(boolean value)
设置三维跟踪图层是否可选择。

参数:
value - 指定是否可选择。

getWireFrameMode

public WireFrameType getWireFrameMode()
获取或设置模型的线框显示类型。

返回:
线框展示模式

setWireFrameMode

public void setWireFrameMode(WireFrameType frameMode)
获取或设置模型的线框显示类型。

参数:
frameMode - 线框展示模式

isReceiveProjectionImage

public boolean isReceiveProjectionImage()
获取视频投放是否跟踪当前图层。

返回:

setIsReceiveProjectionImage

public void setIsReceiveProjectionImage(boolean isReceiveProjectionImage)
设置视频投放是否跟踪当前图层。

参数:
isReceiveProjectionImage -