com.esri.arcgis.controls
Interface ISceneControl

All Superinterfaces:
Serializable
All Known Implementing Classes:
ISceneControlProxy, SceneBean, SceneControl

public interface ISceneControl
extends Serializable

Provides access to members that control the SceneControl.

Description

The ISceneControl interface is a starting point for any tasks related to the SceneControl, such as setting general appearance, adding scene documents, managing the scene, scene graph and camera, and setting the current tool.

Product Availability

Available with ArcGIS Engine.


Method Summary
 void aboutBox()
          Displays a dialog of information about the SceneControl.
 boolean checkSxFile(String fileName)
          Checks if a filename is a scene document.
 boolean esri_isEnabled()
          Indicates whether the SceneControl can respond to user generated events.
 void esri_setEnabled(boolean pbool)
          Indicates whether the SceneControl can respond to user generated events.
 int getAppearance()
          The appearance of the SceneControl.
 int getBackColor()
          Background color of the SceneControl.
 int getBorderStyle()
          The border style of the SceneControl.
 ICamera getCamera()
          The Camera object associated with the SceneControl.
 ITool getCurrentTool()
          Current active tool for the SceneControl.
 Object getCustomProperty()
          A property to associate data with a control.
 String getDocumentFilename()
          The filename of the last scene document loaded into the control.
 int getHWnd()
          Handle to the window associated with the SceneControl.
 int getKeyIntercept()
          A property that specifies interception of key strokes that are normally handled by the container.
 Picture getMouseIcon()
          Custom mouse icon used if MousePointer is 99.
 int getMousePointer()
          The mouse pointer displayed over the SceneControl.
 Object getObject()
          A property that returns the underlying control.
 IScene getScene()
          The Scene object associated with the SceneControl.
 ISceneGraph getSceneGraph()
          The SceneGraph object associated with the SceneControl.
 ISceneViewer getSceneViewer()
          The SceneViewer associated with the SceneControl.
 int getTipDelay()
          The delay before scene tips are shown.
 int getTipStyle()
          The style of scene tips.
 boolean isNavigate()
          Indicates if the SceneControl performs default scene navigation in response to mouse events.
 boolean isOverrideBackColor()
          Indicates whether to override the background color of the scene document.
 boolean isShowSceneTips()
          Indicates if scene tips are shown.
 void loadSxFile(String sxPath)
          Loads a scene document into the SceneControl.
 void setAppearance(int pappearance)
          The appearance of the SceneControl.
 void setBackColor(int pclr)
          Background color of the SceneControl.
 void setBorderStyle(int pstyle)
          The border style of the SceneControl.
 void setCameraByRef(ICamera pVal)
          The Camera object associated with the SceneControl.
 void setCurrentToolByRef(ITool pVal)
          Current active tool for the SceneControl.
 void setCustomProperty(Object pVal)
          A property to associate data with a control.
 void setDocumentFilename(String documentFilename)
          The filename of the last scene document loaded into the control.
 void setKeyIntercept(int pVal)
          A property that specifies interception of key strokes that are normally handled by the container.
 void setMouseIconByRef(Picture ppMouseIcon)
          Custom mouse icon used if MousePointer is 99.
 void setMousePointer(int ppointer)
          The mouse pointer displayed over the SceneControl.
 void setNavigate(boolean pVal)
          Indicates if the SceneControl performs default scene navigation in response to mouse events.
 void setOverrideBackColor(boolean pVal)
          Indicates whether to override the background color of the scene document.
 void setSceneGraphByRef(ISceneGraph pVal)
          The SceneGraph object associated with the SceneControl.
 void setShowSceneTips(boolean show)
          Indicates if scene tips are shown.
 void setTipDelay(int delay)
          The delay before scene tips are shown.
 void setTipStyle(int style)
          The style of scene tips.
 

Method Detail

setBackColor

void setBackColor(int pclr)
                  throws IOException,
                         AutomationException
Background color of the SceneControl.

Product Availability

Available with ArcGIS Engine.

Parameters:
pclr - The pclr (A COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBackColor

int getBackColor()
                 throws IOException,
                        AutomationException
Background color of the SceneControl.

Description

Returns or sets the Background Color of the SceneControl. Internally the OLE_Color is stored as a long integer where the value may be calculated for any RGB combination as follows:

OLE_Color = (Red) + (Green * 256) + (Blue * 256 * 256)

Where Red, Green and Blue are Long Integers within the range 0 - 255.

To ensure the BackColor property overrides any background color set in a scene document, set the OverrideBackColor to true.

Product Availability

Available with ArcGIS Engine.

Returns:
The pclr (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBorderStyle

void setBorderStyle(int pstyle)
                    throws IOException,
                           AutomationException
The border style of the SceneControl.

Product Availability

Available with ArcGIS Engine.

Parameters:
pstyle - A com.esri.arcgis.controls.esriControlsBorderStyle constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBorderStyle

int getBorderStyle()
                   throws IOException,
                          AutomationException
The border style of the SceneControl.

Description

Returns or sets the border style of a SceneControl. By default a border is drawn.

Product Availability

Available with ArcGIS Engine.

Returns:
A com.esri.arcgis.controls.esriControlsBorderStyle constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_setEnabled

void esri_setEnabled(boolean pbool)
                     throws IOException,
                            AutomationException
Indicates whether the SceneControl can respond to user generated events.

Product Availability

Available with ArcGIS Engine.

Parameters:
pbool - The pbool (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_isEnabled

boolean esri_isEnabled()
                       throws IOException,
                              AutomationException
Indicates whether the SceneControl can respond to user generated events.

Product Availability

Available with ArcGIS Engine.

Returns:
The pbool
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAppearance

void setAppearance(int pappearance)
                   throws IOException,
                          AutomationException
The appearance of the SceneControl.

Product Availability

Available with ArcGIS Engine.

Parameters:
pappearance - A com.esri.arcgis.controls.esriControlsAppearance constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAppearance

int getAppearance()
                  throws IOException,
                         AutomationException
The appearance of the SceneControl.

Description

Returns or sets the paint style of a SceneControl to either Flat or 3D. By default the appearance is flat.

Product Availability

Available with ArcGIS Engine.

Returns:
A com.esri.arcgis.controls.esriControlsAppearance constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMousePointer

void setMousePointer(int ppointer)
                     throws IOException,
                            AutomationException
The mouse pointer displayed over the SceneControl.

Product Availability

Available with ArcGIS Engine.

Parameters:
ppointer - A com.esri.arcgis.controls.esriControlsMousePointer constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMousePointer

int getMousePointer()
                    throws IOException,
                           AutomationException
The mouse pointer displayed over the SceneControl.

Description

Use this property when you want to indicate changes in functionality as the mouse pointer passes over the SceneControl. The esriPointerArrowHourglass setting (11) is useful for indicating that the user should wait for a process or operation to finish.

Product Availability

Available with ArcGIS Engine.

Returns:
A com.esri.arcgis.controls.esriControlsMousePointer constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMouseIconByRef

void setMouseIconByRef(Picture ppMouseIcon)
                       throws IOException,
                              AutomationException
Custom mouse icon used if MousePointer is 99.

Product Availability

Available with ArcGIS Engine.

Parameters:
ppMouseIcon - A reference to a com.esri.arcgis.support.ms.stdole.Picture (A com.esri.arcgis.support.ms.stdole.Picture COM typedef) (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMouseIcon

Picture getMouseIcon()
                     throws IOException,
                            AutomationException
Custom mouse icon used if MousePointer is 99.

Description

The MouseIcon property provides a custom icon that is used when the MousePointer property is set to esriPointerArrowHourglass (99).

Remarks

In most development evironments the control's property pages can be used to load either a cursor (.cur) or icon (.ico) file. A cursor contains a custom 'hotspot' location and can be any size. The 'hotspot' location for an icon file defaults to the center of the icon. This property cannot be used to load animated cursor (.ani) files.

To programatically create an object implementing IPictureDisp there is the win32 function OleLoadPicture or helper methods depending on the development environment.

Product Availability

Available with ArcGIS Engine.

Returns:
A reference to a com.esri.arcgis.support.ms.stdole.Picture (A com.esri.arcgis.support.ms.stdole.Picture COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHWnd

int getHWnd()
            throws IOException,
                   AutomationException
Handle to the window associated with the SceneControl.

Description

The operating environment identifies each window, form and control in an application by assigning it a handle, or hWnd. Many ArcObjects methods and Windows API calls require the hWnd as an argument.

Product Availability

Available with ArcGIS Engine.

Returns:
The hWnd
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

aboutBox

void aboutBox()
              throws IOException,
                     AutomationException
Displays a dialog of information about the SceneControl.

Description

The AboutBox method causes a modal dialog box to display on top of the SceneControl, containing information about the version and creation date of the SceneControl as well as listing relevant legal and copyright information from ESRI.

Product Availability

Available with ArcGIS Engine.

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

loadSxFile

void loadSxFile(String sxPath)
                throws IOException,
                       AutomationException
Loads a scene document into the SceneControl.

Description

Loads a scene document (*.sxd) into the SceneControl. Use the CheckSxFile method to determine if the specified scene document is a valid scene document.

Product Availability

Available with ArcGIS Engine.

Parameters:
sxPath - The sxPath (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getScene

IScene getScene()
                throws IOException,
                       AutomationException
The Scene object associated with the SceneControl.

Description

This is a shortcut to the ISceneGraph::Scene property.

Product Availability

Available with ArcGIS Engine.

Returns:
A reference to a com.esri.arcgis.analyst3d.IScene
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSceneGraph

ISceneGraph getSceneGraph()
                          throws IOException,
                                 AutomationException
The SceneGraph object associated with the SceneControl.

Description

This is a shortcut to the ISceneViewer::SceneGraph property.

Product Availability

Available with ArcGIS Engine.

Returns:
A reference to a com.esri.arcgis.analyst3d.ISceneGraph
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSceneGraphByRef

void setSceneGraphByRef(ISceneGraph pVal)
                        throws IOException,
                               AutomationException
The SceneGraph object associated with the SceneControl.

Product Availability

Available with ArcGIS Engine.

Parameters:
pVal - A reference to a com.esri.arcgis.analyst3d.ISceneGraph (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSceneViewer

ISceneViewer getSceneViewer()
                            throws IOException,
                                   AutomationException
The SceneViewer associated with the SceneControl.

Description

This is the SceneViewer contained within the SceneControl.

Product Availability

Available with ArcGIS Engine.

Returns:
A reference to a com.esri.arcgis.analyst3d.ISceneViewer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCamera

ICamera getCamera()
                  throws IOException,
                         AutomationException
The Camera object associated with the SceneControl.

Description

This is a shortcut to the ISceneViewer::Camera property.

Product Availability

Available with ArcGIS Engine.

Returns:
A reference to a com.esri.arcgis.analyst3d.ICamera
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCameraByRef

void setCameraByRef(ICamera pVal)
                    throws IOException,
                           AutomationException
The Camera object associated with the SceneControl.

Product Availability

Available with ArcGIS Engine.

Parameters:
pVal - A reference to a com.esri.arcgis.analyst3d.ICamera (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCurrentTool

ITool getCurrentTool()
                     throws IOException,
                            AutomationException
Current active tool for the SceneControl. Set to nothing to clear the tool.

Description

The CurrentTool is the tool used to interact will the SceneControl's display. Always check if a tool is enabled before setting it to the CurrentTool property, otherwise a user will be able to use a tool that is actually disabled.

Remarks

When the CurrentTool is set the following events occur:

  1. The ITool::Deactivate event is triggered on the 'old' CurrentTool if one was set. If this event returns false a trappable error ocurrs. If this event returns true the 'old' CurrentTool is removed and replaced.
  2. The ICommand::OnClick event is triggered on the 'new' CurrentTool and its cursor is picked up.

Within an ITool implementation it is recommended that the ITool::Deactivate event returns true. This allows a 'new' CurrentTool to be set, and allows the release of the CurrentTool when an application is shutting down.

Product Availability

Available with ArcGIS Engine.

Returns:
A reference to a com.esri.arcgis.systemUI.ITool
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCurrentToolByRef

void setCurrentToolByRef(ITool pVal)
                         throws IOException,
                                AutomationException
Current active tool for the SceneControl. Set to nothing to clear the tool.

Product Availability

Available with ArcGIS Engine.

Parameters:
pVal - A reference to a com.esri.arcgis.systemUI.ITool (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isNavigate

boolean isNavigate()
                   throws IOException,
                          AutomationException
Indicates if the SceneControl performs default scene navigation in response to mouse events.

Description

The Navigate property determines whether the default SceneControl navigation functionality is enabled at run time. By default the Navigate property is set to false. When the Navigate property is set to true, the end user can use the left mouse button to navigate backwards and forwards and to the left and right of the display, and the right mouse button to zoom in and out on the display.

Remarks

When the Navigate property is set to true, the OnMouseDown, OnMouseMove, OnMouseUp events are being intercepted. As such, care must be taken by developers to avoid the display becoming confused when:

Product Availability

Available with ArcGIS Engine.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNavigate

void setNavigate(boolean pVal)
                 throws IOException,
                        AutomationException
Indicates if the SceneControl performs default scene navigation in response to mouse events.

Product Availability

Available with ArcGIS Engine.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

checkSxFile

boolean checkSxFile(String fileName)
                    throws IOException,
                           AutomationException
Checks if a filename is a scene document.

Description

Determines whether the specified Scene Document (*.sxd) is a valid scene document and can be loaded into the SceneControl. The method verifies the file exists and verifies the file internals conform to an expected storage format. The method does not read and validate the entire contents of the file; use the LoadSxFile to do this.

Product Availability

Available with ArcGIS Engine.

Parameters:
fileName - The fileName (in)
Returns:
The result
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCustomProperty

Object getCustomProperty()
                         throws IOException,
                                AutomationException
A property to associate data with a control.

Description

Use the CustomProperty to associate any useful data with the SceneControl. This is similar to a 'Tag' property, and can be use to store strings, numbers and objects.

Product Availability

Available with ArcGIS Engine.

Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCustomProperty

void setCustomProperty(Object pVal)
                       throws IOException,
                              AutomationException
A property to associate data with a control.

Product Availability

Available with ArcGIS Engine.

Parameters:
pVal - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDocumentFilename

void setDocumentFilename(String documentFilename)
                         throws IOException,
                                AutomationException
The filename of the last scene document loaded into the control.

Product Availability

Available with ArcGIS Engine.

Parameters:
documentFilename - The documentFilename (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDocumentFilename

String getDocumentFilename()
                           throws IOException,
                                  AutomationException
The filename of the last scene document loaded into the control.

Description

Returns the DocumentFilename of the last document loaded into the SceneControl with the LoadSxFile method. An empty string will be returned if no document is loaded.

Product Availability

Available with ArcGIS Engine.

Returns:
The documentFilename
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getObject

Object getObject()
                 throws IOException,
                        AutomationException
A property that returns the underlying control. This can be used when the control is inside a wrapper object that has been added by a development environment.

Description

In some development environments it is not possible to query interface directly on the control to other COM interfaces, beacuse the control is contained within a wrapper object. To get the real control use the Object property.

Product Availability

Available with ArcGIS Engine.

Returns:
A reference to another Automation Object (IDispatch)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOverrideBackColor

void setOverrideBackColor(boolean pVal)
                          throws IOException,
                                 AutomationException
Indicates whether to override the background color of the scene document.

Product Availability

Available with ArcGIS Engine.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isOverrideBackColor

boolean isOverrideBackColor()
                            throws IOException,
                                   AutomationException
Indicates whether to override the background color of the scene document.

Description

The OverrideBackColor property determines whether the background color of any document loaded into the SceneControl is overriden and replaced with the SceneControl's BackColor. By default this property is false.

Product Availability

Available with ArcGIS Engine.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowSceneTips

void setShowSceneTips(boolean show)
                      throws IOException,
                             AutomationException
Indicates if scene tips are shown.

Product Availability

Available with ArcGIS Engine.

Parameters:
show - The show (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowSceneTips

boolean isShowSceneTips()
                        throws IOException,
                               AutomationException
Indicates if scene tips are shown.

Description

Determines whether scene tips are displayed (if they exist) as the mouse moves over layer features. By default the ShowSceneTips property is set to false.

Product Availability

Available with ArcGIS Engine.

Returns:
The show
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTipStyle

void setTipStyle(int style)
                 throws IOException,
                        AutomationException
The style of scene tips.

Product Availability

Available with ArcGIS Engine.

Parameters:
style - A com.esri.arcgis.systemUI.esriTipStyle constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTipStyle

int getTipStyle()
                throws IOException,
                       AutomationException
The style of scene tips.

Description

Returns or sets the TipStyle used by the scene tips when ShowSceneTips is set to true to either solid or transparent. By default the TipStyle is solid.

Product Availability

Available with ArcGIS Engine.

Returns:
A com.esri.arcgis.systemUI.esriTipStyle constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTipDelay

void setTipDelay(int delay)
                 throws IOException,
                        AutomationException
The delay before scene tips are shown.

Product Availability

Available with ArcGIS Engine.

Parameters:
delay - The delay (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTipDelay

int getTipDelay()
                throws IOException,
                       AutomationException
The delay before scene tips are shown.

Description

Returns or sets the time delay in milliseconds before scene tips are displayed. By default TipDelay is 500 milliseconds.

Product Availability

Available with ArcGIS Engine.

Returns:
The delay
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getKeyIntercept

int getKeyIntercept()
                    throws IOException,
                           AutomationException
A property that specifies interception of key strokes that are normally handled by the container. When intercepted the OnKeyDown and OnKeyUp events will be called. This value can be a combined bit mask of esriKeyIntercept enum values.

Description

Returns or sets keys on the keyboard that will be intercepted by the SceneControl, triggering the OnKeyDown and OnKeyUp events when pressed. These keys are often hidden from the SceneControl by the development environment container. By default the KeyIntercept is set to esriKeyInterceptNone.

Many development environment containers use the up, down, left and right arrow keys to change control focus on a form. These keys can also be useful for navigating around the display. To intercept the arrow keys and the Tab key combine the enum values using a logical OR operation (esriKeyInterceptArrowKeys OR esriKeyInterceptTabKey, which is 1 OR 4 = 5).

Product Availability

Available with ArcGIS Engine.

Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setKeyIntercept

void setKeyIntercept(int pVal)
                     throws IOException,
                            AutomationException
A property that specifies interception of key strokes that are normally handled by the container. When intercepted the OnKeyDown and OnKeyUp events will be called. This value can be a combined bit mask of esriKeyIntercept enum values.

Product Availability

Available with ArcGIS Engine.

Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.