类 SceneControl
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Canvas
-
- com.supermap.ui.SceneControl
-
- 所有已实现的接口:
- IDisposable, ImageObserver, MenuContainer, Serializable, Accessible
public class SceneControl extends Canvas implements IDisposable
三维场景控件。一个三维场景窗口(SceneControl)对应一个三维场景(Scene),即一个三维场景窗口中只能显示一个三维场景。
三维场景控件是通过对三维模型的可视化表达,即以视觉化的形式将它们表现出来,可以为用户提供一些二维地图数据无法直接提供的信息。三维可视化广泛应用于医学、军事、地质、勘探等领域。在三维GIS中,三维数据可视化可以真实地表现空间数据、逼真地模拟仿真地理信息现实,进而可以直观地展现用户感兴趣的数据。
在三维窗口中,滚动鼠标滚轮,可以进行三维场景的放大或缩小的操作;按住鼠标滚轮进行上下拖动,可以对三维场景的进行倾斜操作,如果按住鼠标滚轮进行左右拖动,可以对三维场景进行旋转,另外,使用shift+光标键(上下光标键和左右光标键)也可以实现三维场景的倾斜和旋转操作。
注意:当用户使用该三维场景控件对象进行编程时,如果将 Workspace 与 SceneControl 建立了关联,那么在进行对象的关闭时,一定需要注意关闭的顺序,如下:
1、关闭scene 对象;
2、关闭SceneControl对象;
3、关闭Workspace对象。
- 另请参阅:
- 序列化表格
-
-
嵌套类概要
嵌套类 限定符和类型 类和说明 static class
SceneControl.Cursors
该类为 SceneControl 类的内部类,主要提供三维场景窗口中的默认光标。-
从类继承的嵌套类/接口 java.awt.Component
Component.BaselineResizeBehavior
-
-
字段概要
-
从类继承的字段 java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
从接口继承的字段 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
构造器概要
构造器 构造器和说明 SceneControl()
默认构造函数,构造一个新的SceneControl
对象。SceneControl(SceneType sceneType)
根据指定的sceneType构造一个新的SceneControl对象。
-
方法概要
-
从类继承的方法 java.awt.Canvas
createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy
-
从类继承的方法 java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, dispatchEvent, doLayout, enable, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
-
-
-
-
构造器详细资料
-
SceneControl
public SceneControl()
默认构造函数,构造一个新的SceneControl
对象。
-
SceneControl
public SceneControl(SceneType sceneType)
根据指定的sceneType构造一个新的SceneControl对象。- 参数:
sceneType
- 指定的场景类型。
-
-
方法详细资料
-
get_mHandle
public long get_mHandle()
-
isKeyboardNavigationEnabled
public boolean isKeyboardNavigationEnabled()
返回是否可以通过键盘进行导航漫游。- 返回:
- 可以通过键盘进行导航漫游返回 true;否则返回 false。
- 默认值:
- 默认值为 true。
-
setKeyboardNavigationEnabled
public void setKeyboardNavigationEnabled(boolean value)
设置是否可以通过键盘进行导航漫游。- 参数:
value
- 一个布尔值指定是否可以通过键盘进行导航漫游。
-
isMouseNavigationEnabled
public boolean isMouseNavigationEnabled()
返回是否可以通过鼠标进行导航漫游。该方法决定了三维场景控件在运行的时候是否通过鼠标来进行导航漫游。当本方法返回值为 true 的时候,用户可以使用鼠标左键进行上下左右的导航显示,使用鼠标右键进行放大和缩小的漫游显示。
- 返回:
- 一个布尔值,可以通过鼠标进行导航漫游返回 true;否则返回 false。
- 默认值:
- 默认值为 false。
-
setMouseNavigationEnabled
public void setMouseNavigationEnabled(boolean value)
设置是否可以通过鼠标进行导航漫游。该方法决定了三维场景控件在运行的时候是否通过鼠标来进行导航漫游。当本方法返回值为 true 的时候,用户可以使用鼠标左键进行上下左右的导航显示,使用鼠标右键进行放大和缩小的漫游显示。
- 参数:
value
- 一个布尔值指定是否可以通过鼠标进行导航漫游。
-
setInteractionMode
public void setInteractionMode(InteractionMode3D value)
设置当前三维场景控件的互操作模式。通过该方法,可以实现在自定义鼠标、键盘的模式下与当前场景控件的交换操作。
- 参数:
value
- 当前三维场景控件的互操作模式。
-
getInteractionMode
public InteractionMode3D getInteractionMode()
返回当前三维场景控件的互操作模式。- 返回:
- 当前三维场景控件的互操作模式。
-
isWaitCursorEnabled
public boolean isWaitCursorEnabled()
返回当前场景窗口的等待光标是否有效。为 true 时,在场景绘制等待时,系统会自动切换成等待光标,为 false 时,则不会自动切换等待光标。- 返回:
- 一个布尔值,当前场景窗口的等待光标有效返回 true,否则返回 false。
-
setWaitCursorEnabled
public void setWaitCursorEnabled(boolean waitCursorEnabled)
设置当前场景窗口的等待光标是否有效。为 true 时,在场景绘制等待时,系统会自动切换成等待光标,为 false 时,则不会自动切换等待光标。- 参数:
waitCursorEnabled
- 当前场景窗口的等待光标是否有效。
-
isCursorCustomized
public boolean isCursorCustomized()
返回当前场景控件的光标变化是否自定义。为 true 时,控件的光标完全由用户来控制,为 false 时,光标的变换由控件自己负责。- 返回:
- 一个布尔值,当前场景控件的光标变化自定义返回 true,否则返回 false。
-
setCursorCustomized
public void setCursorCustomized(boolean cursorCustomized)
设置当前场景控件的光标变化是否自定义。为 true 时,控件的光标完全由用户来控制,为 false 时,光标的变换由控件自己负责。- 参数:
cursorCustomized
- 当前场景控件的光标变化是否自定义。
-
isAlwaysUpdate
public boolean isAlwaysUpdate()
返回三维场景是否在失去焦点时停止更新数据。- 返回:
- 一个布尔值,返回 true 时,表示失去焦点时不停止更新,返回 false时,表示失去焦时停止更新数据。
-
setAlwaysUpdate
public void setAlwaysUpdate(boolean value)
设置获三维场景是否在失去焦点时停止更新数据。- 参数:
value
- 一个布尔值,返回 true 时,表示失去焦点时不停止更新,返回 false时,表示失去焦时停止更新数据。
-
isStatusBarVisible
public boolean isStatusBarVisible()
返回状态条是否可见。- 返回:
- 一个布尔值,状态条可见返回 true;否则返回 false。
- 默认值:
- 默认值为 true。
-
setStatusBarVisible
public void setStatusBarVisible(boolean value)
设置状态条是否可见。- 参数:
value
- 一个布尔值指定状态条是否可见。
-
isFPSVisible
public boolean isFPSVisible()
返回三维场景控件的帧率信息是否可见。其中帧率信息包括平均帧率、最好帧率、最差帧率和三角面数量。- 返回:
- 三维场景控件的帧率信息是否可见。帧率信息可见返回true,不可见返回false。
- 默认值:
- 默认值为 false。
-
setFPSVisible
public void setFPSVisible(boolean value)
设置三维场景控件的帧率信息是否可见。其中帧率信息包括平均帧率、最好帧率、最差帧率和三角面数量。- 参数:
value
- 三维场景控件的帧率信息是否可见。
-
getLayerIDUnit
public int getLayerIDUnit()
获取场景图层选择的指数,默认为8,即场景最大支持256(2^8)个可选择图层。- 返回:
- 场景图层选择的指数。
-
setLayerIDUnit
public void setLayerIDUnit(int value)
设置场景图层选择的指数。即场景最大支持2^n个可选择图层。- 参数:
value
- 2^value。
-
setCameraZoomFactor
public void setCameraZoomFactor(double value)
设置球面相机缩进倍率。支持用户自定义设置操作相机的缩放倍率,默认缩放倍率为1.0,相机缩进范围[0.1,8.0]。- 参数:
value
- 球面相机缩进倍率。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- @since 11.2.0。
-
getCameraZoomFactor
public double getCameraZoomFactor()
返回球面相机缩进倍率。默认缩放倍率为1.0。- 返回:
- 球面相机缩进倍率。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- @since 11.2.0。
-
getAction
public Action3D getAction()
返回三维场景操作状态。有关三维场景的操作状态,请参见Action3D
。- 返回:
- 三维场景操作状态。
- 默认值:
- 默认值为
Action3D.PAN
。
-
setAction
public void setAction(Action3D value)
设置三维场景操作状态。有关三维场景的操作状态,请参见Action3D
。- 参数:
value
- 三维场景操作状态。
-
getTrackMode3D
public TrackMode3D getTrackMode3D()
-
setTrackMode3D
public void setTrackMode3D(TrackMode3D mode3D)
-
getNavigationControl
public NavigationControl getNavigationControl()
返回三维场景导航对象。- 返回:
- 三维场景导航对象。
- 默认值:
- 默认值为
NavigationControl
对象的默认值。
-
getEditableLayers
public Layer3D[] getEditableLayers()
返回三维场景窗口中的所有可编辑图层。- 返回:
- 三维场景窗口中的可编辑图层数组。
-
getActiveEditableLayer
public Layer3D getActiveEditableLayer()
返回当前可编辑的图层。如果当前是多图层编辑模式(即MapControl.isMultiLayerEditEnabled()
的返回值为 true),则当前可编辑图层的默认值为可编辑图层的第一个图层,对对象的绘制和粘贴操作只作用在该图层上,而非所有的可编辑图层上。- 返回:
- 当前可编辑的图层。
-
setActiveEditableLayer
public void setActiveEditableLayer(Layer3D layer3D)
设置当前可编辑的图层。如果当前是多图层编辑模式(即MapControl.isMultiLayerEditEnabled()
的返回值为 true),则当前可编辑图层的默认值为可编辑图层的第一个图层,对对象的绘制和粘贴操作只作用在该图层上,而非所有的可编辑图层上。- 参数:
layer3D
- 设置当前可编辑的图层。
-
getPanDatumPlane
public double getPanDatumPlane()
返回漫游基准面。单位为米。漫游观察三维场景中高空物体时,物体偏移角度会随着其离地面的高度而增大,通过设置基准面,使其以基准面为参考平面进行漫游,可以减小这种偏移,便于观察。
- 返回:
- 漫游基准面。单位为米。
- 默认值:
- 默认值为0,单位为米。
-
setPanDatumPlane
public void setPanDatumPlane(double value)
设置漫游基准面。单位为米。漫游观察三维场景中高空物体时,物体偏移角度会随着其离地面的高度而增大,通过设置基准面,使其以基准面为参考平面进行漫游,可以减小这种偏移,便于观察。
- 参数:
value
- 漫游基准面。单位为米。
-
dispose
public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。- 指定者:
dispose
在接口中IDisposable
-
doKeyDown
public void doKeyDown(KeyEvent e)
当焦点在控件上按下键时执行 KeyDown 操作。- 参数:
e
- 执行操作需要的参数。
-
doKeyUp
public void doKeyUp(KeyEvent e)
-
doMouseDown
public void doMouseDown(MouseEvent e)
当指针在三维场景控件上,用户按下鼠标按钮时,将执行 MouseDown 操作。- 参数:
e
- 执行操作需要的参数。
-
doMouseUp
public void doMouseUp(MouseEvent e)
当指针保持在控件上,用户释放鼠标按钮时,执行 MouseUp 操作。- 参数:
e
- 执行操作需要的参数。
-
doMouseMove
public void doMouseMove(MouseEvent e)
当用户移动鼠标指针经过三维场景控件时,将执行 MouseMove 操作。- 参数:
e
- 执行操作需要的参数。
-
doMouseWheel
public void doMouseWheel(MouseWheelEvent e)
在鼠标滚轮转动时执行 MouseWheel 操作。- 参数:
e
- 执行操作需要的参数。
-
isDynamicSelection
public boolean isDynamicSelection()
获取当鼠标滑动时,场景对象是否动态高亮显示。- 返回:
- 是否动态高亮显示。
-
setDynamicSelection
public void setDynamicSelection(boolean value)
设置当鼠标滑动时,场景对象是否动态高亮显示。- 参数:
value
- 指定是否动态高亮显示。
-
isStatusBarShowAltitude
public boolean isStatusBarShowAltitude()
获取状态条是否显示高度。- 返回:
- 是否显示高度。
-
setStatusBarShowAltitude
public void setStatusBarShowAltitude(boolean value)
设置状态条是否显示高度。- 参数:
value
- 指定是否显示高度。
-
getSnapMode
public SnapMode3D getSnapMode()
获取三维场景中的模型对象支持顶点捕捉。- 返回:
-
setSnapMode
public void setSnapMode(SnapMode3D value)
设置三维场景中的模型对象是否进行顶点捕捉。
-
isAlwaysActive
public boolean isAlwaysActive()
获取场景是否保持激活状态。- 返回:
-
setAlwaysActive
public void setAlwaysActive(boolean alwaysActive)
设置场景是否保持激活状态。- 参数:
alwaysActive
-
-
addTrackingListener
public void addTrackingListener(Tracking3DListener l)
添加一个用于接收三维场景窗口的跟踪图层中鼠标交互绘制事件(Tracking3DEvent
)的监听器。在三维场景窗口的跟踪图层中鼠标交互绘制几何对象时触发该三维场景窗口跟踪事件。
- 参数:
l
- 一个用于接收三维场景窗口的跟踪图层中鼠标交互绘制事件的监听器。
-
removeTrackingListener
public void removeTrackingListener(Tracking3DListener l)
移除一个用于接收三维场景窗口的跟踪图层中鼠标交互绘制事件(Tracking3DEvent
)的监听器。在三维场景窗口的跟踪图层中鼠标交互绘制几何对象时触发该三维场景窗口跟踪事件。
- 参数:
l
- 一个用于接收三维场景窗口的跟踪图层中鼠标交互绘制事件的监听器。
-
addTrackedListener
public void addTrackedListener(Tracked3DListener l)
添加一个用于接收三维场景窗口的跟踪图层中鼠标交互绘制结束事件(Tracked3DEvent
)的监听器。在三维场景窗口的跟踪图层中鼠标交互绘制几何对象结束时触发该三维场景窗口跟踪事件。
- 参数:
l
- 一个用于接收三维场景窗口的跟踪图层中鼠标交互绘制结束事件的监听器。
-
removeTrackedListener
public void removeTrackedListener(Tracked3DListener l)
移除一个用于接收三维场景窗口的跟踪图层中鼠标交互绘制结束事件(Tracked3DEvent
)的监听器。在三维场景窗口的跟踪图层中鼠标交互绘制几何对象结束时触发该三维场景窗口跟踪事件。
- 参数:
l
- 一个用于接收三维场景窗口的跟踪图层中鼠标交互绘制结束事件的监听器。
-
addActionChangedListener
public void addActionChangedListener(Action3DChangedListener l)
-
removeActionChangedListener
public void removeActionChangedListener(Action3DChangedListener l)
-
addObjectSelectedListener
public void addObjectSelectedListener(ObjectSelectedListener l)
添加一个用于接收对象被选中事件(ObjectSelectedEvent
)的监听器。- 参数:
l
- 一个用于接收对象被选中事件的监听器。
-
removeObjectSelectedListener
public void removeObjectSelectedListener(ObjectSelectedListener l)
移除一个用于接收对象被选中事件(ObjectSelectedEvent
)的监听器。- 参数:
l
- 一个用于接收对象被选中事件的监听器。
-
addLoadSceneListener
public void addLoadSceneListener(SceneLoadedListener l)
-
removeLoadSceneListener
public void removeLoadSceneListener(SceneLoadedListener l)
-
addObjectSelectChangedListener
public void addObjectSelectChangedListener(ObjectSelectChangedListener l)
-
removeObjectSelectChangedListener
public void removeObjectSelectChangedListener(ObjectSelectChangedListener l)
-
addmodelingObjectSelectdListener
public void addmodelingObjectSelectdListener(ObjectSelectedListener l)
添加一个用于接收对象被选中事件(ObjectSelectedEvent
)的监听器。- 参数:
l
- 一个用于接收对象被选中事件的监听器。
-
removemodelingObjectSelectdListener
public void removemodelingObjectSelectdListener(ObjectSelectedListener l)
移除一个用于接收对象被选中事件(ObjectSelectedEvent
)的监听器。- 参数:
l
- 一个用于接收对象被选中事件的监听器。
-
addmodelingObjectSelectChangedListener
public void addmodelingObjectSelectChangedListener(ObjectSelectedListener l)
添加一个用于接收对象被选中事件(ObjectSelectedEvent
)的监听器。- 参数:
l
- 一个用于接收对象被选中事件的监听器。
-
removemodelingObjectSelectChangedListener
public void removemodelingObjectSelectChangedListener(ObjectSelectedListener l)
移除一个用于接收对象被选中事件(ObjectSelectedEvent
)的监听器。- 参数:
l
- 一个用于接收对象被选中事件的监听器。
-
addObjectModifiedListener
public void addObjectModifiedListener(ObjectModifiedListener l)
-
removeObjectModifiedListener
public void removeObjectModifiedListener(ObjectModifiedListener l)
-
addObjectSetVertexAddListener
public void addObjectSetVertexAddListener(ObjectSetVertexAddListener l)
-
removeObjectSetVertexAddListener
public void removeObjectSetVertexAddListener(ObjectSetVertexAddListener l)
-
addObjectAddedListener
public void addObjectAddedListener(ObjectAddedListener l)
-
removeObjectAddedListener
public void removeObjectAddedListener(ObjectAddedListener l)
-
addObjectDeletingListener
public void addObjectDeletingListener(ObjectDeletingListener l)
-
addObjectDeletedListener
public void addObjectDeletedListener(ObjectDeletedListener l)
-
removeObjectDeletingListener
public void removeObjectDeletingListener(ObjectDeletingListener l)
-
removeObjectDeletedListener
public void removeObjectDeletedListener(ObjectDeletedListener l)
-
addObjectModifyingListener
public void addObjectModifyingListener(ObjectModifyingListener l)
-
removeObjectModifyingListener
public void removeObjectModifyingListener(ObjectModifyingListener l)
-
mouseWheelMoved
public void mouseWheelMoved(MouseWheelEvent e)
-
keyPressed
public void keyPressed(KeyEvent e)
-
keyReleased
public void keyReleased(KeyEvent e)
-
mouseDragged
public void mouseDragged(MouseEvent e)
-
mousePressed
public void mousePressed(MouseEvent e)
-
mouseReleased
public void mouseReleased(MouseEvent e)
-
SetActionGraphicObject3D
@Deprecated public void SetActionGraphicObject3D(ActionGraphicObject action3D)
已过时。
-
setActionGraphicObject3D
public void setActionGraphicObject3D(ActionGraphicObject action3D)
-
getActionGraphicObject3D
public ActionGraphicObject getActionGraphicObject3D()
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.