com.esri.arcgis.controls
Interface ISceneControlDefault

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

public interface ISceneControlDefault
extends Serializable

Provides access to members that control the SceneControl.

Description

The ISceneControlDefault interface is the default dispatch interface that most development environments will automatically expose. For example, placing the SceneControl in a container will typically generate an object called SceneControl1. The properties and methods available directly on this object correspond to this interface, together with container specific properties and methods.

The ISceneControlDefault interface is a 'pure' dispatch interface, so can be extended with new properties and methods at future releases of ArcGIS. The methods and properties are identical to the highest numbered main interface on the SceneControl. For example, ISceneControlDefault is equivalent to ISceneControl, but at future releases this could become ISceneControl2. By using the ISceneControlDefault interface you are guaranteed to always have access to the latest SceneControl.

There is a small performance overhead in making calls through to a pure dispatch interface, but to avoid this you can QI to a specific interface. In some development environments it is not possible to QI directly on the control to other COM interfaces, because the control is contained within a wrapper object. Use the Object property to get the real control before performing the QI.

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 rhs1)
          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 rhs1)
          The appearance of the SceneControl.
 void setBackColor(int rhs1)
          Background color of the SceneControl.
 void setBorderStyle(int rhs1)
          The border style of the SceneControl.
 void setCameraByRef(ICamera rhs1)
          The Camera object associated with the SceneControl.
 void setCurrentToolByRef(ITool rhs1)
          Current active tool for the SceneControl.
 void setCustomProperty(Object rhs1)
          A property to associate data with a control.
 void setDocumentFilename(String rhs1)
          The filename of the last scene document loaded into the control.
 void setKeyIntercept(int rhs1)
          A property that specifies interception of key strokes that are normally handled by the container.
 void setMouseIconByRef(Picture rhs1)
          Custom mouse icon used if MousePointer is 99.
 void setMousePointer(int rhs1)
          The mouse pointer displayed over the SceneControl.
 void setNavigate(boolean rhs1)
          Indicates if the SceneControl performs default scene navigation in response to mouse events.
 void setOverrideBackColor(boolean rhs1)
          Indicates whether to override the background color of the scene document.
 void setSceneGraphByRef(ISceneGraph rhs1)
          The SceneGraph object associated with the SceneControl.
 void setShowSceneTips(boolean rhs1)
          Indicates if scene tips are shown.
 void setTipDelay(int rhs1)
          The delay before scene tips are shown.
 void setTipStyle(int rhs1)
          The style of scene tips.
 

Method Detail

setBackColor

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

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - The rhs1 (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 returnValue (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBorderStyle

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

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - 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 rhs1)
                     throws IOException,
                            AutomationException
Indicates whether the SceneControl can respond to user generated events.

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - The rhs1 (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 returnValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAppearance

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

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - 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 rhs1)
                     throws IOException,
                            AutomationException
The mouse pointer displayed over the SceneControl.

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - 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 rhs1)
                       throws IOException,
                              AutomationException
Custom mouse icon used if MousePointer is 99.

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - 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 returnValue
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 rhs1)
                        throws IOException,
                               AutomationException
The SceneGraph object associated with the SceneControl.

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - 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 rhs1)
                    throws IOException,
                           AutomationException
The Camera object associated with the SceneControl.

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - 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 rhs1)
                         throws IOException,
                                AutomationException
Current active tool for the SceneControl. Set to nothing to clear the tool.

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - 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 returnValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNavigate

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

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - The rhs1 (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 returnValue
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 rhs1)
                       throws IOException,
                              AutomationException
A property to associate data with a control.

Product Availability

Available with ArcGIS Engine.

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

setDocumentFilename

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

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - The rhs1 (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 returnValue
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 rhs1)
                          throws IOException,
                                 AutomationException
Indicates whether to override the background color of the scene document.

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - The rhs1 (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 returnValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowSceneTips

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

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - The rhs1 (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 returnValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTipStyle

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

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - 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 rhs1)
                 throws IOException,
                        AutomationException
The delay before scene tips are shown.

Product Availability

Available with ArcGIS Engine.

Parameters:
rhs1 - The rhs1 (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 returnValue
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 returnValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setKeyIntercept

void setKeyIntercept(int rhs1)
                     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:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.