public class TrackingLayer3D
extends com.supermap.data.InternalHandle
三维跟踪图层的作用与二维跟在图层相似,每个地图窗口都有一个跟踪图层,确切地说,每个地图显示时都有一个跟踪图层。跟踪图层是一个空白的透明图层,总是在地图各图层的最上层,主要用于在一个处理或分析过程中,临时存放一些图形对象,以及一些文本等。只要地图显示,跟踪图层就会存在,你不可以删除跟踪图层,也不可以改变其位置。
三维跟踪图层除了支持二维对象的添加,还支持三维对象的添加。
需要注意的是,对于规则的几何体(例如:球体、立方体),不能直接加到跟踪图层中。需要先转成GeoModel对象,之后才可以添加到跟踪图层中。
限定符和类型 | 方法和说明 |
---|---|
int |
add(Geometry geometry,
String tag)
该方法用于向三维跟踪图层中添加一个几何对象,并给出标签信息。
|
void |
clear()
清空三维跟踪图层中的所有几何对象。
|
Geometry |
get(int index)
返回三维跟踪图层中指定索引的几何对象。
|
int |
getCount()
返回三维跟踪图层中几何对象的个数。
|
String |
getTag(int index)
返回三维跟踪图层中指定索引的几何对象的标签
|
WireFrameType |
getWireFrameMode()
获取或设置模型的线框显示类型。
|
int |
hitTest(Point point)
返回选中的屏幕像素点所对应的三维几何对象的 ID。
|
int |
indexOf(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,
String tag)
设置三维跟踪图层中指定索引的几何对象的标签。
|
void |
setVisible(boolean value)
设置三维跟踪图层是否可见
|
void |
setWireFrameMode(WireFrameType frameMode)
获取或设置模型的线框显示类型。
|
public int getCount()
public boolean isVisible()
public void setVisible(boolean value)
value
- 一个布尔值,表示三维跟踪图层是否可见,true表示可见,false 表示不可见。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(); }
public boolean remove(int index)
index
- 要删除的几何对象的索引。public Geometry get(int index)
index
- 要返回的几何对象的索引public boolean set(int index, Geometry geometry)
geometry
- 指定的新几何对象。index
- 待替换几何对象的索引。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(); }
public boolean setTag(int index, String tag)
index
- 要设置标签的几何对象的索引tag
- 几何对象的新标签public int indexOf(String tag)
tag
- 需要进行索引检查的标签。public int hitTest(Point point)
如果跟踪图层中所选中的屏幕像素点没有对应的三维几何对象或没有选中屏幕像素点,返回-1;如果场景中所选中的屏幕像素点对应多个三维几何对象,则返回最上面的三维几何对象的ID。
point
- 所选中的屏幕像素点。public void clear()
public boolean isSelectable()
public void setSelectable(boolean value)
value
- 指定是否可选择。public WireFrameType getWireFrameMode()
public void setWireFrameMode(WireFrameType frameMode)
frameMode
- 线框展示模式public boolean isReceiveProjectionImage()
public void setIsReceiveProjectionImage(boolean isReceiveProjectionImage)
isReceiveProjectionImage
- Copyright © 2021–2024 SuperMap. All rights reserved.