com.supermap.realspace
类 TrackingLayer3D
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.realspace.TrackingLayer3D
-
public class TrackingLayer3D extends com.supermap.data.InternalHandle三维跟踪图层类。三维跟踪图层的作用与二维跟在图层相似,每个地图窗口都有一个跟踪图层,确切地说,每个地图显示时都有一个跟踪图层。跟踪图层是一个空白的透明图层,总是在地图各图层的最上层,主要用于在一个处理或分析过程中,临时存放一些图形对象,以及一些文本等。只要地图显示,跟踪图层就会存在,你不可以删除跟踪图层,也不可以改变其位置。
三维跟踪图层除了支持二维对象的添加,还支持三维对象的添加。
需要注意的是,对于规则的几何体(例如:球体、立方体),不能直接加到跟踪图层中。需要先转成GeoModel对象,之后才可以添加到跟踪图层中。
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 intadd(Geometry geometry, String tag)该方法用于向三维跟踪图层中添加一个几何对象,并给出标签信息。voidclear()清空三维跟踪图层中的所有几何对象。Geometryget(int index)返回三维跟踪图层中指定索引的几何对象。intgetCount()返回三维跟踪图层中几何对象的个数。StringgetTag(int index)返回三维跟踪图层中指定索引的几何对象的标签WireFrameTypegetWireFrameMode()获取或设置模型的线框显示类型。inthitTest(Point point)返回选中的屏幕像素点所对应的三维几何对象的 ID。intindexOf(String tag)返回第一个与指定标签相同的三维几何对象所处的索引值。booleanisReceiveProjectionImage()获取视频投放是否跟踪当前图层。booleanisSelectable()获取三维跟踪图层是否可选择。booleanisVisible()返回三维跟踪图层是否可见。booleanremove(int index)从三维跟踪图层中删除指定索引的几何对象。booleanset(int index, Geometry geometry)将三维跟踪图层中的指定索引对应的几何对象替换为指定的几何对象,若此索引已有对应的几何对象,则会删除该几何对象,替换为指定的新几何对象。voidsetIsReceiveProjectionImage(boolean isReceiveProjectionImage)设置视频投放是否跟踪当前图层。voidsetSelectable(boolean value)设置三维跟踪图层是否可选择。booleansetTag(int index, String tag)设置三维跟踪图层中指定索引的几何对象的标签。voidsetVisible(boolean value)设置三维跟踪图层是否可见voidsetWireFrameMode(WireFrameType frameMode)获取或设置模型的线框显示类型。
-
-
-
方法详细资料
-
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, 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 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, String tag)设置三维跟踪图层中指定索引的几何对象的标签。- 参数:
index- 要设置标签的几何对象的索引tag- 几何对象的新标签- 返回:
- 设置成功返回true;否则返回false
-
indexOf
public int indexOf(String tag)
返回第一个与指定标签相同的三维几何对象所处的索引值。- 参数:
tag- 需要进行索引检查的标签。- 返回:
- 第一个与指定标签相同的三维几何对象所处的索引值。
-
hitTest
public int hitTest(Point point)
返回选中的屏幕像素点所对应的三维几何对象的 ID。如果跟踪图层中所选中的屏幕像素点没有对应的三维几何对象或没有选中屏幕像素点,返回-1;如果场景中所选中的屏幕像素点对应多个三维几何对象,则返回最上面的三维几何对象的ID。
- 参数:
point- 所选中的屏幕像素点。- 返回:
- 选中的屏幕像素点所对应的三维几何对象的 ID。
-
clear
public void clear()
清空三维跟踪图层中的所有几何对象。
-
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-
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.