com.esri.arcgis.analyst3d
Class Camera

java.lang.Object
  extended bycom.esri.arcgis.analyst3d.Camera
All Implemented Interfaces:
ICamera, ICamera2, ICamera3, IStereoCamera, java.io.Serializable

public class Camera
extends java.lang.Object
implements ICamera, ICamera2, ICamera3, IStereoCamera

The ESRI camera component.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
Camera()
          Constructs a Camera using ArcGIS Engine.
Camera(java.lang.Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
 
Method Summary
 boolean canSeeMBB(IEnvelope pExtent)
          Indicates if the camera can see any portion of the given extent.
 boolean canSeeSphere(IPoint pCenter, double radius)
          Indicates if the camera can see any portion of the given sphere.
 boolean equals(java.lang.Object o)
          Compare this object with another
 ICamera getAsICamera()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ICamera2 getAsICamera2()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ICamera3 getAsICamera3()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IStereoCamera getAsIStereoCamera()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 double getAzimuth()
          The polar azimuth of the observer relative to the target.
static java.lang.String getClsid()
           
 int getDisplayType()
          Display mode.
 double getEyeSeparation()
          Eye separation.
 int getEyeType()
          Eye view.
 IRay getIdentifyRay(int dx, int dy)
          Returns the ray that corresponds to given screen coordinates.
 IVector3D getIdentifyVector(IPoint pCursor)
          Returns the vector that corresponds to the given screen location.
 double getInclination()
          The polar inclination of the observer relative to the target.
 int getLRviewFirst()
          Left / Right view first.
 IPoint getObserver()
          The observer's position.
 IEnvelope getOrthoViewingExtent()
          The extent visible by the camera in orthographic view.
 double getParallax()
          Parallax.
 int getProjectionType()
          The type of projection.
 double getRollAngle()
          The roll angle in degrees.
 double getScale()
          The orthographic projection scale.
 int getStereoViewType()
          The type of stereo view.
 IPoint getTarget()
          The target's position.
 IVector3D getUpDirection()
          The camera's up-vector.
 double getViewFieldAngle()
          The view-field angle in degrees.
 double getViewingDistance()
          The viewing distance between the observer and the target.
 int hashCode()
          the hashcode for this object
 void hTurnAround(double dAzimuth)
          Turns the camera horizontally around observer by the given azimuth angle.
 boolean isMultiPhaseRendering()
          The state of multi-phase rendering.
 boolean isStereoSupported()
          Indicates if stereo is supported.
 boolean isUsable()
          Indicates if the camera has valid parameters.
 void levelObsToTarget()
          Levels the observer to the target.
 void levelTargetToObs()
          Levels the target to the observer.
 void move(int direction, double factor)
          Moves the camera in the specified direction.
 void pan(IPoint startPoint, IPoint endPoint)
          Moves both the observer and the target so that the object picked as the starting point on screen assumes the ending-point position.
 void polarUpdate(double distanceFactor, double dAzimuth, double dInclination, boolean bLimitInclination)
          Updates the observer's location by given polar increments.
 void propertiesChanged()
          Sets camera's dirty flag.
 void queryDistanceToMBB(IEnvelope pExtent, double[] distance)
          Returns the distance to the given extent.
 void queryDistanceToSphere(IPoint pCenter, double radius, double[] distance)
          Returns the distance to the given sphere.
 void queryDistanceToSphereCenter(IPoint pCenter, double radius, double[] distance)
          Returns the distance to the given sphere's center.
 void queryIdentifyVector(int dx, int dy, IVector3D pIdentifyVect)
          Returns the vector that corresponds to given screen coordinates.
 void queryOrthoViewingPlatform(IEnvelope pInExtent, IEnvelope pOutExtent, double[] pScale)
          Returns orthographic projection viewing parameters corresponding to the given extent.
 void queryViewingPlatformMBB(IEnvelope pExtent, double[] pNearPlane, double[] pFarPlane, double[] pAngle, double[] pAspect)
          Returns the viewing parameters corresponding to the given extent.
 void queryViewingPlatformSphere(IPoint pCenter, double radius, double[] pNearPlane, double[] pFarPlane, double[] pAngle, double[] pAspect)
          Returns the viewing parameters corresponding to the given spherical extent.
 void recalcUp()
          Updates the up-vector.
 void replayFrame(ISceneGraph pSceneGraph)
          Renders a frame.
 void rotate(double angle)
          Rotates the observer horizontally around the target by a given angle in degrees.
 void setAzimuth(double azimuth)
          The polar azimuth of the observer relative to the target.
 void setDefaultsMBB(IEnvelope pExtent)
          Positions camera so that the entire given extent can be seen.
 void setDefaultsSphere(IPoint pCenter, double radius)
          Positions camera so that the entire given spherical extent can be seen.
 void setDisplayType(int pType)
          Display mode.
 void setEyeSeparation(double eyeSeparation)
          Eye separation.
 void setEyeType(int pType)
          Eye view.
 void setInclination(double inclination)
          The polar inclination of the observer relative to the target.
 void setLRviewFirst(int pView)
          Left / Right view first.
 void setMultiPhaseRendering(boolean pbMultiPhase)
          The state of multi-phase rendering.
 void setObserver(IPoint observer)
          The observer's position.
 void setOrthoViewingExtent(IEnvelope rhs1)
          The extent visible by the camera in orthographic view.
 void setParallax(double pParallax)
          Parallax.
 void setProjectionType(int projectionType)
          The type of projection.
 void setRollAngle(double rollAngle)
          The roll angle in degrees.
 void setStereoViewType(int pType)
          The type of stereo view.
 void setTarget(IPoint target)
          The target's position.
 void setUpDirection(IVector3D upVector)
          The camera's up-vector.
 void setVerticalExaggeration(double rhs1)
          Adapts the camera to the scene's vertical exaggeration.
 void setViewFieldAngle(double viewFieldAngle)
          The view-field angle in degrees.
 void setViewingDistance(double distance)
          The viewing distance between the observer and the target.
 void zoom(double ratio)
          Zooms in or out by moving the observer according to the required ratio between the new and previous viewing distances.
 void zoomToRect(IEnvelope pExtent)
          Zooms to the given screen extent.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Camera

public Camera()
       throws java.io.IOException,
              java.net.UnknownHostException
Constructs a Camera using ArcGIS Engine.

Throws:
java.io.IOException - if there are interop problems
java.net.UnknownHostException - if there are interop problems

Camera

public Camera(java.lang.Object obj)
       throws java.io.IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.

Construct a Camera using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to Camera.
Camera theCamera = (Camera) obj;

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
java.io.IOException - if there are interop problems
Method Detail

getClsid

public static java.lang.String getClsid()

getAsICamera

public ICamera getAsICamera()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsICamera2

public ICamera2 getAsICamera2()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsICamera3

public ICamera3 getAsICamera3()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIStereoCamera

public IStereoCamera getAsIStereoCamera()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


equals

public boolean equals(java.lang.Object o)
Compare this object with another


hashCode

public int hashCode()
the hashcode for this object


getObserver

public IPoint getObserver()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: ICamera
The observer's position.

Supported Platforms

Windows, Solaris, Linux

Remarks

The observer represents the origin, or point of view, of the camera. It uses coordinates that are in the same unit of measure as the scene itself.

Specified by:
getObserver in interface ICamera
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setObserver

public void setObserver(IPoint observer)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: ICamera
The observer's position.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setObserver in interface ICamera
Parameters:
observer - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getTarget

public IPoint getTarget()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: ICamera
The target's position.

Supported Platforms

Windows, Solaris, Linux

Remarks

The target is what the observer is looking at, or in other words, what the camera is pointed towards. It uses coordinates that are in the same unit of measure as the scene itself.

Specified by:
getTarget in interface ICamera
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTarget

public void setTarget(IPoint target)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: ICamera
The target's position.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTarget in interface ICamera
Parameters:
target - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getUpDirection

public IVector3D getUpDirection()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: ICamera
The camera's up-vector.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getUpDirection in interface ICamera
Returns:
A reference to a com.esri.arcgis.geometry.IVector3D
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setUpDirection

public void setUpDirection(IVector3D upVector)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: ICamera
The camera's up-vector.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setUpDirection in interface ICamera
Parameters:
upVector - A reference to a com.esri.arcgis.geometry.IVector3D (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getViewingDistance

public double getViewingDistance()
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: ICamera
The viewing distance between the observer and the target. When changing, the observer moves.

Supported Platforms

Windows, Solaris, Linux

Remarks

The ViewingDistance is in the current scene units as defined by the horizontal coordinate system of the scene's spatial reference.

Setting the ViewingDistance will modify the observer's position along the line of sight relative to the target.

Specified by:
getViewingDistance in interface ICamera
Returns:
The distance
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setViewingDistance

public void setViewingDistance(double distance)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: ICamera
The viewing distance between the observer and the target. When changing, the observer moves.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setViewingDistance in interface ICamera
Parameters:
distance - The distance (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getViewFieldAngle

public double getViewFieldAngle()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: ICamera
The view-field angle in degrees.

Supported Platforms

Windows, Solaris, Linux

Remarks

Increasing the ViewFieldAngle creates the appearance of zooming out even though the observer position is unchanged. Wide angles enable the observer to see a large portion of the scene when positioned inside the data area. A wide angle also presents a distorted view, similar to that of a fish-eye lens.

Decreasing the ViewFieldAngle creates the appearance of zooming in even though the observer position is unchanged.

The default ViewFieldAngle is 55 degrees.

Specified by:
getViewFieldAngle in interface ICamera
Returns:
The viewFieldAngle
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setViewFieldAngle

public void setViewFieldAngle(double viewFieldAngle)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: ICamera
The view-field angle in degrees.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setViewFieldAngle in interface ICamera
Parameters:
viewFieldAngle - The viewFieldAngle (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRollAngle

public double getRollAngle()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: ICamera
The roll angle in degrees.

Supported Platforms

Windows, Solaris, Linux

Remarks

The RollAngle represents the angle, in degrees, of the camera about the line of sight between the observer and target. Angles will be reported in the range >=0 and <360. Angles can be given outside of this range but will be 'wrapped' to the equivalent value in the 0 to 360 range. For example -1 is the equivalent of 359 and 361 is the equivalent of 1.

A RollAngle of 0.0, the default, is straight up relative to the Z axis in the scene. Increasing the RollAngle will tilt the camera clockwise about the line of sight.

Specified by:
getRollAngle in interface ICamera
Returns:
The rollAngle
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRollAngle

public void setRollAngle(double rollAngle)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: ICamera
The roll angle in degrees.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setRollAngle in interface ICamera
Parameters:
rollAngle - The rollAngle (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getProjectionType

public int getProjectionType()
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: ICamera
The type of projection.

Supported Platforms

Windows, Solaris, Linux

Remarks

The projection can be set to either esriPerspectiveProjection or esriOrthoProjection. A perspective projection provides a sense of three dimensionality. An orthographic projection maintains constant scale throughout and is used to provide a 2D, planimetric, view.

Specified by:
getProjectionType in interface ICamera
Returns:
A com.esri.arcgis.analyst3d.esri3DProjectionType constant
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setProjectionType

public void setProjectionType(int projectionType)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: ICamera
The type of projection.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setProjectionType in interface ICamera
Parameters:
projectionType - A com.esri.arcgis.analyst3d.esri3DProjectionType constant (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isUsable

public boolean isUsable()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: ICamera
Indicates if the camera has valid parameters.

Specified by:
isUsable in interface ICamera
Returns:
The isValid
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInclination

public double getInclination()
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: ICamera
The polar inclination of the observer relative to the target. When changed, the observer moves.

Supported Platforms

Windows, Solaris, Linux

Remarks

The inclination represents the altitude angle, in degrees, of the observer relative to the target. When the observer is above the target the inclination is positive, when below it's negative.

The value given for inclination can be greater than -90 or less than 90. Values outside this range will be reset automatically to the closest positive or negative limit (e.g. 95 reset to 89.9999).

Specified by:
getInclination in interface ICamera
Returns:
The inclination
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setInclination

public void setInclination(double inclination)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: ICamera
The polar inclination of the observer relative to the target. When changed, the observer moves.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setInclination in interface ICamera
Parameters:
inclination - The inclination (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getAzimuth

public double getAzimuth()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: ICamera
The polar azimuth of the observer relative to the target. When changed, the observer moves.

Supported Platforms

Windows, Solaris, Linux

Remarks

The azimuth represents the compass direction, in degrees, of the observer relative to the target. At 0 degrees the observer is due north of the target, 90 degrees due east, 180 degrees due south, and 270 degrees due west.

Values exceeding the range 0-360 will be reset to the equivalent value that falls in this range (e.g. 365 gets reset to 5, -5 gets reset to 355).

Specified by:
getAzimuth in interface ICamera
Returns:
The azimuth
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setAzimuth

public void setAzimuth(double azimuth)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: ICamera
The polar azimuth of the observer relative to the target. When changed, the observer moves.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setAzimuth in interface ICamera
Parameters:
azimuth - The azimuth (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

rotate

public void rotate(double angle)
            throws java.io.IOException,
                   AutomationException
Description copied from interface: ICamera
Rotates the observer horizontally around the target by a given angle in degrees.

Supported Platforms

Windows, Solaris, Linux

Remarks

Positive values for degrees will rotate the observer clockwise around the target, negative values counter-clockwise.

Specified by:
rotate in interface ICamera
Parameters:
angle - The angle (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

polarUpdate

public void polarUpdate(double distanceFactor,
                        double dAzimuth,
                        double dInclination,
                        boolean bLimitInclination)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: ICamera
Updates the observer's location by given polar increments.

Supported Platforms

Windows, Solaris, Linux

Remarks

The observer will be moved by the values specified in the arguments:

The distanceFactor resets the current ViewingDistance (distance between observer and target) by multiplying it by the given factor.

dAzimuth is added to the current azimuth.

dInclination is added to the current inclination. If the resulting inclination doesn't fall between -89.9 and 89.9 it will be reset so that it does unless bLimitInclination is set to False.

bLimitInclination when set to True ensures the modified inclination doesn't fall outside the -89.9 to 89.9 limit. If set to False and the limit is exceeded the azimuth will be changed 180 degrees and the UpDirection will be flipped.

Specified by:
polarUpdate in interface ICamera
Parameters:
distanceFactor - The distanceFactor (in)
dAzimuth - The dAzimuth (in)
dInclination - The dInclination (in)
bLimitInclination - The bLimitInclination (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

recalcUp

public void recalcUp()
              throws java.io.IOException,
                     AutomationException
Description copied from interface: ICamera
Updates the up-vector.

Supported Platforms

Windows, Solaris, Linux

Specified by:
recalcUp in interface ICamera
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

propertiesChanged

public void propertiesChanged()
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: ICamera
Sets camera's dirty flag.

Supported Platforms

Windows, Solaris, Linux

Specified by:
propertiesChanged in interface ICamera
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setDefaultsMBB

public void setDefaultsMBB(IEnvelope pExtent)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: ICamera
Positions camera so that the entire given extent can be seen.

Specified by:
setDefaultsMBB in interface ICamera
Parameters:
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDefaultsSphere

public void setDefaultsSphere(IPoint pCenter,
                              double radius)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: ICamera
Positions camera so that the entire given spherical extent can be seen.

Specified by:
setDefaultsSphere in interface ICamera
Parameters:
pCenter - A reference to a com.esri.arcgis.geometry.IPoint (in)
radius - The radius (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

queryViewingPlatformMBB

public void queryViewingPlatformMBB(IEnvelope pExtent,
                                    double[] pNearPlane,
                                    double[] pFarPlane,
                                    double[] pAngle,
                                    double[] pAspect)
                             throws java.io.IOException,
                                    AutomationException
Description copied from interface: ICamera
Returns the viewing parameters corresponding to the given extent.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryViewingPlatformMBB in interface ICamera
Parameters:
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
pNearPlane - The pNearPlane (out: use single element array)
pFarPlane - The pFarPlane (out: use single element array)
pAngle - The pAngle (out: use single element array)
pAspect - The pAspect (out: use single element array)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

queryViewingPlatformSphere

public void queryViewingPlatformSphere(IPoint pCenter,
                                       double radius,
                                       double[] pNearPlane,
                                       double[] pFarPlane,
                                       double[] pAngle,
                                       double[] pAspect)
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: ICamera
Returns the viewing parameters corresponding to the given spherical extent.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryViewingPlatformSphere in interface ICamera
Parameters:
pCenter - A reference to a com.esri.arcgis.geometry.IPoint (in)
radius - The radius (in)
pNearPlane - The pNearPlane (out: use single element array)
pFarPlane - The pFarPlane (out: use single element array)
pAngle - The pAngle (out: use single element array)
pAspect - The pAspect (out: use single element array)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

queryOrthoViewingPlatform

public void queryOrthoViewingPlatform(IEnvelope pInExtent,
                                      IEnvelope pOutExtent,
                                      double[] pScale)
                               throws java.io.IOException,
                                      AutomationException
Description copied from interface: ICamera
Returns orthographic projection viewing parameters corresponding to the given extent.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryOrthoViewingPlatform in interface ICamera
Parameters:
pInExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
pOutExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
pScale - The pScale (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOrthoViewingExtent

public IEnvelope getOrthoViewingExtent()
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: ICamera
The extent visible by the camera in orthographic view.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOrthoViewingExtent in interface ICamera
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

replayFrame

public void replayFrame(ISceneGraph pSceneGraph)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: ICamera
Renders a frame.

Supported Platforms

Windows, Solaris, Linux

Specified by:
replayFrame in interface ICamera
Parameters:
pSceneGraph - A reference to a com.esri.arcgis.analyst3d.ISceneGraph (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canSeeMBB

public boolean canSeeMBB(IEnvelope pExtent)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: ICamera
Indicates if the camera can see any portion of the given extent.

Supported Platforms

Windows, Solaris, Linux

Specified by:
canSeeMBB in interface ICamera
Parameters:
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Returns:
The canSee
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canSeeSphere

public boolean canSeeSphere(IPoint pCenter,
                            double radius)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: ICamera
Indicates if the camera can see any portion of the given sphere.

Supported Platforms

Windows, Solaris, Linux

Specified by:
canSeeSphere in interface ICamera
Parameters:
pCenter - A reference to a com.esri.arcgis.geometry.IPoint (in)
radius - The radius (in)
Returns:
The canSee
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryDistanceToMBB

public void queryDistanceToMBB(IEnvelope pExtent,
                               double[] distance)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: ICamera
Returns the distance to the given extent.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryDistanceToMBB in interface ICamera
Parameters:
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
distance - The distance (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryDistanceToSphere

public void queryDistanceToSphere(IPoint pCenter,
                                  double radius,
                                  double[] distance)
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: ICamera
Returns the distance to the given sphere.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryDistanceToSphere in interface ICamera
Parameters:
pCenter - A reference to a com.esri.arcgis.geometry.IPoint (in)
radius - The radius (in)
distance - The distance (out: use single element array)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

queryDistanceToSphereCenter

public void queryDistanceToSphereCenter(IPoint pCenter,
                                        double radius,
                                        double[] distance)
                                 throws java.io.IOException,
                                        AutomationException
Description copied from interface: ICamera
Returns the distance to the given sphere's center.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryDistanceToSphereCenter in interface ICamera
Parameters:
pCenter - A reference to a com.esri.arcgis.geometry.IPoint (in)
radius - The radius (in)
distance - The distance (out: use single element array)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

queryIdentifyVector

public void queryIdentifyVector(int dx,
                                int dy,
                                IVector3D pIdentifyVect)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: ICamera
Returns the vector that corresponds to given screen coordinates.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryIdentifyVector in interface ICamera
Parameters:
dx - The dx (in)
dy - The dy (in)
pIdentifyVect - A reference to a com.esri.arcgis.geometry.IVector3D (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getIdentifyVector

public IVector3D getIdentifyVector(IPoint pCursor)
                            throws java.io.IOException,
                                   AutomationException
Description copied from interface: ICamera
Returns the vector that corresponds to the given screen location.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getIdentifyVector in interface ICamera
Parameters:
pCursor - A reference to a com.esri.arcgis.geometry.IPoint (in)
Returns:
A reference to a com.esri.arcgis.geometry.IVector3D
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIdentifyRay

public IRay getIdentifyRay(int dx,
                           int dy)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: ICamera
Returns the ray that corresponds to given screen coordinates.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getIdentifyRay in interface ICamera
Parameters:
dx - The dx (in)
dy - The dy (in)
Returns:
A reference to a com.esri.arcgis.geometry.IRay
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

move

public void move(int direction,
                 double factor)
          throws java.io.IOException,
                 AutomationException
Description copied from interface: ICamera
Moves the camera in the specified direction. The distance is calculated by applying the given factor to the current viewing distance.

Supported Platforms

Windows, Solaris, Linux

Specified by:
move in interface ICamera
Parameters:
direction - A com.esri.arcgis.analyst3d.esriCameraMovementType constant (in)
factor - The factor (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

pan

public void pan(IPoint startPoint,
                IPoint endPoint)
         throws java.io.IOException,
                AutomationException
Description copied from interface: ICamera
Moves both the observer and the target so that the object picked as the starting point on screen assumes the ending-point position.

Supported Platforms

Windows, Solaris, Linux

Specified by:
pan in interface ICamera
Parameters:
startPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
endPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

levelTargetToObs

public void levelTargetToObs()
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: ICamera
Levels the target to the observer.

Supported Platforms

Windows, Solaris, Linux

Specified by:
levelTargetToObs in interface ICamera
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

levelObsToTarget

public void levelObsToTarget()
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: ICamera
Levels the observer to the target.

Supported Platforms

Windows, Solaris, Linux

Specified by:
levelObsToTarget in interface ICamera
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

hTurnAround

public void hTurnAround(double dAzimuth)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: ICamera
Turns the camera horizontally around observer by the given azimuth angle.

Supported Platforms

Windows, Solaris, Linux

Specified by:
hTurnAround in interface ICamera
Parameters:
dAzimuth - The dAzimuth (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

zoom

public void zoom(double ratio)
          throws java.io.IOException,
                 AutomationException
Description copied from interface: ICamera
Zooms in or out by moving the observer according to the required ratio between the new and previous viewing distances.

Supported Platforms

Windows, Solaris, Linux

Specified by:
zoom in interface ICamera
Parameters:
ratio - The ratio (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

zoomToRect

public void zoomToRect(IEnvelope pExtent)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: ICamera
Zooms to the given screen extent.

Supported Platforms

Windows, Solaris, Linux

Specified by:
zoomToRect in interface ICamera
Parameters:
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getScale

public double getScale()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: ICamera
The orthographic projection scale.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getScale in interface ICamera
Returns:
The pScale
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setMultiPhaseRendering

public void setMultiPhaseRendering(boolean pbMultiPhase)
                            throws java.io.IOException,
                                   AutomationException
Description copied from interface: ICamera
The state of multi-phase rendering. When true, the scene depth can be divided into multiple passes to improve rendering quality.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMultiPhaseRendering in interface ICamera
Parameters:
pbMultiPhase - The pbMultiPhase (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isMultiPhaseRendering

public boolean isMultiPhaseRendering()
                              throws java.io.IOException,
                                     AutomationException
Description copied from interface: ICamera
The state of multi-phase rendering. When true, the scene depth can be divided into multiple passes to improve rendering quality.

Supported Platforms

Windows, Solaris, Linux

Remarks

MultiPhaseRendering is only implemented in ArcScene.  When set to True (the default is False), multiple drawing steps are enabled to avoid Z-buffer imprecisions when the ratio of far/near distance is too large, therefore layers with extreme extents may be seen throughout the scene.  The far/near distance here refers to the distance between the observer and the far/near clipping plane in OpenGL terms.

Specified by:
isMultiPhaseRendering in interface ICamera
Returns:
The pbMultiPhase
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setVerticalExaggeration

public void setVerticalExaggeration(double rhs1)
                             throws java.io.IOException,
                                    AutomationException
Description copied from interface: ICamera
Adapts the camera to the scene's vertical exaggeration.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setVerticalExaggeration in interface ICamera
Parameters:
rhs1 - The rhs1 (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDisplayType

public int getDisplayType()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: ICamera2
Display mode.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDisplayType in interface ICamera2
Returns:
A com.esri.arcgis.analyst3d.esriDisplayType constant
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setDisplayType

public void setDisplayType(int pType)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: ICamera2
Display mode.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDisplayType in interface ICamera2
Parameters:
pType - A com.esri.arcgis.analyst3d.esriDisplayType constant (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOrthoViewingExtent

public void setOrthoViewingExtent(IEnvelope rhs1)
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: ICamera3
The extent visible by the camera in orthographic view.

Specified by:
setOrthoViewingExtent in interface ICamera3
Parameters:
rhs1 - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getEyeType

public int getEyeType()
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IStereoCamera
Eye view.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getEyeType in interface IStereoCamera
Returns:
A com.esri.arcgis.analyst3d.esriEyeType constant
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setEyeType

public void setEyeType(int pType)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IStereoCamera
Eye view.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setEyeType in interface IStereoCamera
Parameters:
pType - A com.esri.arcgis.analyst3d.esriEyeType constant (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getStereoViewType

public int getStereoViewType()
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IStereoCamera
The type of stereo view.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getStereoViewType in interface IStereoCamera
Returns:
A com.esri.arcgis.analyst3d.esriStereoViewType constant
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setStereoViewType

public void setStereoViewType(int pType)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IStereoCamera
The type of stereo view.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setStereoViewType in interface IStereoCamera
Parameters:
pType - A com.esri.arcgis.analyst3d.esriStereoViewType constant (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getEyeSeparation

public double getEyeSeparation()
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IStereoCamera
Eye separation.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getEyeSeparation in interface IStereoCamera
Returns:
The eyeSeparation
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setEyeSeparation

public void setEyeSeparation(double eyeSeparation)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IStereoCamera
Eye separation.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setEyeSeparation in interface IStereoCamera
Parameters:
eyeSeparation - The eyeSeparation (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getParallax

public double getParallax()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IStereoCamera
Parallax.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getParallax in interface IStereoCamera
Returns:
The pParallax
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setParallax

public void setParallax(double pParallax)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IStereoCamera
Parallax.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setParallax in interface IStereoCamera
Parameters:
pParallax - The pParallax (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getLRviewFirst

public int getLRviewFirst()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IStereoCamera
Left / Right view first.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLRviewFirst in interface IStereoCamera
Returns:
A com.esri.arcgis.analyst3d.esriEyeType constant
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLRviewFirst

public void setLRviewFirst(int pView)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IStereoCamera
Left / Right view first.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setLRviewFirst in interface IStereoCamera
Parameters:
pView - A com.esri.arcgis.analyst3d.esriEyeType constant (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isStereoSupported

public boolean isStereoSupported()
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IStereoCamera
Indicates if stereo is supported.

Specified by:
isStereoSupported in interface IStereoCamera
Returns:
The pbStereo
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.