|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.globecore.GlobeCamera
public class GlobeCamera
The globe camera component.
A virtual globe camera defines the global and perspective viewing of data on the globe. The camera has observer, target, and orientation properties that can be related to real cameras. The observer represents the position of the camera itself in 3D space. The target is the 3D location where the camera is pointing to. The orientation mode defines whether the camera is in surface or global navigation mode. When you navigate, changing perspective, you are really manipulating the properties of the camera.
Access to a camera's properties and methods is made through the IGlobeCamera and ICamera interfaces.
Constructor Summary | |
---|---|
GlobeCamera()
Constructs a GlobeCamera using ArcGIS Engine. |
|
GlobeCamera(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. GlobeCamera theGlobeCamera = (GlobeCamera) obj; |
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(Object o)
Compare this object with another |
void |
geocentricToGeographic(double x,
double y,
double z,
double[] pLong_dd,
double[] pLat_dd,
double[] pElev_meters)
Transform normalized geocentric coordinates to geographic coordinates. |
void |
geocentricToWindow(double x,
double y,
double z,
int[] pWinX,
int[] pWinY)
Get the window coordinates corresponding to a geocentric location, or -1 if not visible. |
void |
geographicToGeocentric(double long_dd,
double lat_dd,
double elev_meters,
double[] pX,
double[] pY,
double[] pZ)
Transform geographical coordinates to normalized geocentric coordinates. |
void |
geographicToWindow(double long_dd,
double lat_dd,
double elev_meters,
int[] pWinX,
int[] pWinY)
Get the window coordinates corresponding to a geographical location, or -1 if not visible. |
void |
getAccurateViewDirection(double[] pViewX,
double[] pViewY,
double[] pViewZ)
Get the high precision normalized view direction. |
double |
getAzimuth()
The polar azimuth of the observer relative to the target. |
static String |
getClsid()
getClsid. |
void |
getFrustumSkewRect(double[] xMin,
double[] xMax,
double[] yMin,
double[] yMax)
Values are between 0 and 1 -- define the skew rectangle. |
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. |
void |
getIsPointVisible(double x,
double y,
double z,
boolean[] pOutsideView,
boolean[] pTooClose,
boolean[] pTooFar)
Detect if point with geocentric coordinates is outside the pyramidal view, too close to the viewpoint, or too far from it. |
void |
getLocalOrientation(double[] plocalAzi,
double[] pLocalIncl,
double[] pLocalRoll)
Get the azimuth, inclination and roll angles relative to the current target on surface. |
int |
getNavigationType()
The navigation type. |
IPoint |
getObserver()
The observer's position. |
void |
getObserverLatLonAlt(double[] pLatDD,
double[] pLonDD,
double[] pAltKMs)
Set the observer location as a combination of latitude and longitude in decimal degrees plus altitude in kilometers. |
int |
getOrientationMode()
The orientation mode. |
IEnvelope |
getOrthoViewingExtent()
The extent visible by the camera in orthographic view. |
int |
getProjectionType()
The type of projection. |
double |
getRollAngle()
The roll angle in degrees. |
double |
getRollOffset()
The offset for the roll angle in degrees. |
double |
getScale()
The orthographic projection scale. |
double |
getScalingDistance()
The current distance used for scale range comparisons. |
IPoint |
getTarget()
The target's position. |
void |
getTargetLatLonAlt(double[] pLatDD,
double[] pLonDD,
double[] pAltKMs)
Get the target location as a combination of latitude and longitude in decimal degrees plus altitude in kilometers. |
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. |
void |
getViewingFrustrum(_WKSPointZ[] pNearBottomLeft,
_WKSPointZ[] pNearBottomRight,
_WKSPointZ[] pNearTopLeft,
_WKSPointZ[] pNearTopRight,
_WKSPointZ[] pFarBottomLeft,
_WKSPointZ[] pFarBottomRight,
_WKSPointZ[] pFarTopLeft,
_WKSPointZ[] pFarTopRight)
Get the viewing frustum as a truncated pyramid, a set of eight points in geocentric coordinates. |
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 |
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 |
queryVisibleGeographicExtent(IEnvelope extent)
Visible geographic extent of Globe sphere. |
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 |
setAccurateViewDirection(double viewX,
double viewY,
double viewZ)
Set the high precision normalized view direction. |
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 |
setFrustumSkewRect(double xMin,
double xMax,
double yMin,
double yMax)
Values are between 0 and 1 -- define the skew rectangle. |
void |
setInclination(double inclination)
The polar inclination of the observer relative to the target. |
void |
setLocalOrigin(double x,
double y,
double rhs3)
The local origin for high precision OpenGL custom drawing. |
void |
setMultiPhaseRendering(boolean pbMultiPhase)
The state of multi-phase rendering. |
void |
setNavigationType(int pType)
The navigation type. |
void |
setObserver(IPoint observer)
The observer's position. |
void |
setObserverLatLonAlt(double latDD,
double lonDD,
double altKMs)
Set the observer location as a combination of latitude and longitude in decimal degrees plus altitude in kilometers. |
void |
setOrientationMode(int pMode)
The orientation mode. |
void |
setProjectionType(int projectionType)
The type of projection. |
void |
setRollAngle(double rollAngle)
The roll angle in degrees. |
void |
setRollOffset(double pRollAngle)
The offset for the roll angle in degrees. |
void |
setTarget(IPoint target)
The target's position. |
void |
setTargetAtCenter()
Sets the camera target at the center of the globe. |
void |
setTargetLatLonAlt(double latDD,
double lonDD,
double altKMs)
Set the target location as a combination of latitude and longitude in decimal degrees plus altitude in kilometers. |
void |
setToZoomToExtents(IEnvelope pExtent,
IGlobe pGlobe,
ISceneViewer pSceneViewer)
Set the Camera to Zoom to an Extent. |
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 |
windowToGeocentric(IGlobeDisplay pDisplay,
ISceneViewer pViewer,
int winX,
int winY,
boolean bUseZBufferValue,
double[] pX,
double[] pY,
double[] pZ)
Get the geocentric coordinates in the line of sight defined by the window coordinates. |
void |
windowToGeographic(IGlobeDisplay pDisplay,
ISceneViewer pViewer,
int winX,
int winY,
boolean bUseZBufferValue,
double[] pLon,
double[] pLat,
double[] pAlt)
Get the geographic coordinates in the line of sight defined by the window coordinates. |
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 |
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef |
---|
getJintegraDispatch, release |
Constructor Detail |
---|
public GlobeCamera() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic GlobeCamera(Object obj) throws IOException
GlobeCamera theGlobeCamera = (GlobeCamera) obj;
obj
to GlobeCamera
.
obj
- an object returned from ArcGIS Engine or Server
IOException
- if there are interop problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public IPoint getObserver() throws IOException, AutomationException
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.
getObserver
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setObserver(IPoint observer) throws IOException, AutomationException
setObserver
in interface ICamera
observer
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPoint getTarget() throws IOException, AutomationException
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.
getTarget
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTarget(IPoint target) throws IOException, AutomationException
setTarget
in interface ICamera
target
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IVector3D getUpDirection() throws IOException, AutomationException
getUpDirection
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setUpDirection(IVector3D upVector) throws IOException, AutomationException
setUpDirection
in interface ICamera
upVector
- A reference to a com.esri.arcgis.geometry.IVector3D (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getViewingDistance() throws IOException, AutomationException
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.
getViewingDistance
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setViewingDistance(double distance) throws IOException, AutomationException
setViewingDistance
in interface ICamera
distance
- The distance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getViewFieldAngle() throws IOException, AutomationException
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.
getViewFieldAngle
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setViewFieldAngle(double viewFieldAngle) throws IOException, AutomationException
setViewFieldAngle
in interface ICamera
viewFieldAngle
- The viewFieldAngle (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getRollAngle() throws IOException, AutomationException
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.
getRollAngle
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setRollAngle(double rollAngle) throws IOException, AutomationException
setRollAngle
in interface ICamera
rollAngle
- The rollAngle (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getProjectionType() throws IOException, AutomationException
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.
getProjectionType
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setProjectionType(int projectionType) throws IOException, AutomationException
setProjectionType
in interface ICamera
projectionType
- A com.esri.arcgis.analyst3d.esri3DProjectionType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isUsable() throws IOException, AutomationException
Before doing something with a camera it is advisable to call IsUsable first. It's possible the camera has some properties which are undefined or is unable to perform certain requests. This happens when a camera is associated with an empty scene, the target/observer or other parameters has invalid values (not a number, for instance), or when the target and the observer share the same location etc.
isUsable
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getInclination() throws IOException, AutomationException
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).
getInclination
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setInclination(double inclination) throws IOException, AutomationException
setInclination
in interface ICamera
inclination
- The inclination (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getAzimuth() throws IOException, AutomationException
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).
getAzimuth
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAzimuth(double azimuth) throws IOException, AutomationException
setAzimuth
in interface ICamera
azimuth
- The azimuth (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void rotate(double angle) throws IOException, AutomationException
Positive values for degrees will rotate the observer clockwise around the target, negative values counter-clockwise.
rotate
in interface ICamera
angle
- The angle (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void polarUpdate(double distanceFactor, double dAzimuth, double dInclination, boolean bLimitInclination) throws IOException, AutomationException
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.
polarUpdate
in interface ICamera
distanceFactor
- The distanceFactor (in)dAzimuth
- The dAzimuth (in)dInclination
- The dInclination (in)bLimitInclination
- The bLimitInclination (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void recalcUp() throws IOException, AutomationException
recalcUp
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void propertiesChanged() throws IOException, AutomationException
propertiesChanged
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDefaultsMBB(IEnvelope pExtent) throws IOException, AutomationException
The SetDefaultsMBB method of the camera object in a 3D scene can be used to programmatically zoom to a designated extent of 'minimum bounding box'.
setDefaultsMBB
in interface ICamera
pExtent
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDefaultsSphere(IPoint pCenter, double radius) throws IOException, AutomationException
setDefaultsSphere
in interface ICamera
pCenter
- A reference to a com.esri.arcgis.geometry.IPoint (in)radius
- The radius (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryViewingPlatformMBB(IEnvelope pExtent, double[] pNearPlane, double[] pFarPlane, double[] pAngle, double[] pAspect) throws IOException, AutomationException
queryViewingPlatformMBB
in interface ICamera
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryViewingPlatformSphere(IPoint pCenter, double radius, double[] pNearPlane, double[] pFarPlane, double[] pAngle, double[] pAspect) throws IOException, AutomationException
queryViewingPlatformSphere
in interface ICamera
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryOrthoViewingPlatform(IEnvelope pInExtent, IEnvelope pOutExtent, double[] pScale) throws IOException, AutomationException
queryOrthoViewingPlatform
in interface ICamera
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnvelope getOrthoViewingExtent() throws IOException, AutomationException
getOrthoViewingExtent
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void replayFrame(ISceneGraph pSceneGraph) throws IOException, AutomationException
replayFrame
in interface ICamera
pSceneGraph
- A reference to a com.esri.arcgis.analyst3d.ISceneGraph (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canSeeMBB(IEnvelope pExtent) throws IOException, AutomationException
canSeeMBB
in interface ICamera
pExtent
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canSeeSphere(IPoint pCenter, double radius) throws IOException, AutomationException
canSeeSphere
in interface ICamera
pCenter
- A reference to a com.esri.arcgis.geometry.IPoint (in)radius
- The radius (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryDistanceToMBB(IEnvelope pExtent, double[] distance) throws IOException, AutomationException
queryDistanceToMBB
in interface ICamera
pExtent
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)distance
- The distance (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryDistanceToSphere(IPoint pCenter, double radius, double[] distance) throws IOException, AutomationException
queryDistanceToSphere
in interface ICamera
pCenter
- A reference to a com.esri.arcgis.geometry.IPoint (in)radius
- The radius (in)distance
- The distance (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryDistanceToSphereCenter(IPoint pCenter, double radius, double[] distance) throws IOException, AutomationException
queryDistanceToSphereCenter
in interface ICamera
pCenter
- A reference to a com.esri.arcgis.geometry.IPoint (in)radius
- The radius (in)distance
- The distance (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryIdentifyVector(int dx, int dy, IVector3D pIdentifyVect) throws IOException, AutomationException
queryIdentifyVector
in interface ICamera
dx
- The dx (in)dy
- The dy (in)pIdentifyVect
- A reference to a com.esri.arcgis.geometry.IVector3D (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IVector3D getIdentifyVector(IPoint pCursor) throws IOException, AutomationException
getIdentifyVector
in interface ICamera
pCursor
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRay getIdentifyRay(int dx, int dy) throws IOException, AutomationException
getIdentifyRay
in interface ICamera
dx
- The dx (in)dy
- The dy (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void move(int direction, double factor) throws IOException, AutomationException
move
in interface ICamera
direction
- A com.esri.arcgis.analyst3d.esriCameraMovementType constant (in)factor
- The factor (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void pan(IPoint startPoint, IPoint endPoint) throws IOException, AutomationException
pan
in interface ICamera
startPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)endPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void levelTargetToObs() throws IOException, AutomationException
levelTargetToObs
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void levelObsToTarget() throws IOException, AutomationException
levelObsToTarget
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void hTurnAround(double dAzimuth) throws IOException, AutomationException
hTurnAround
in interface ICamera
dAzimuth
- The dAzimuth (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void zoom(double ratio) throws IOException, AutomationException
zoom
in interface ICamera
ratio
- The ratio (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void zoomToRect(IEnvelope pExtent) throws IOException, AutomationException
zoomToRect
in interface ICamera
pExtent
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getScale() throws IOException, AutomationException
getScale
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMultiPhaseRendering(boolean pbMultiPhase) throws IOException, AutomationException
setMultiPhaseRendering
in interface ICamera
pbMultiPhase
- The pbMultiPhase (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isMultiPhaseRendering() throws IOException, AutomationException
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.
isMultiPhaseRendering
in interface ICamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setVerticalExaggeration(double rhs1) throws IOException, AutomationException
setVerticalExaggeration
in interface ICamera
rhs1
- The rhs1 (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setOrientationMode(int pMode) throws IOException, AutomationException
When using this property to switch from global to local navigation mode, no other properties are affected. Yet to effectively switch to local navigation mode, two other properties must first be set:
1. Target Altitude:
In global navigation mode, the target's altitude is fixed to the center of the Earth, having an altitude of approximately -6367.445 km. When setting the orientation mode to local, the target altitude remains set to the center of the Earth. To effectively switch to local orientation mode, set the target altitude to a value slightly offset from the Earth's surface: i.e. 0.001 km (1 meter).
2. Observer (Latitude, Longitude):
In global navigation mode, observer and target coordinates are kept locked in sync, so that when the observer coordinates change, the target coordinates reflect the same values. When setting orientation mode to local, the target coordinates remain set to the same coordinates as the observer, causing our line of sight to be locked in place, preventing us from being able to navigate. To be able to effectively navigate, set the observer coordinates to values that differ from the target. The greater the offset between the observer and target, the greater the flexibility that should found when navigating in local mode: i.e. add 10 degrees to the Observer latitude and longitude values.
setOrientationMode
in interface IGlobeCamera
pMode
- A com.esri.arcgis.globecore.esriGlobeCameraOrientationMode constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getOrientationMode() throws IOException, AutomationException
getOrientationMode
in interface IGlobeCamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTargetLatLonAlt(double latDD, double lonDD, double altKMs) throws IOException, AutomationException
Setting the target altitude has no effect when orientation mode is set to global as the target location must remain fixed in the center of the globe when in that mode.
setTargetLatLonAlt
in interface IGlobeCamera
latDD
- The latDD (in)lonDD
- The lonDD (in)altKMs
- The altKMs (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getTargetLatLonAlt(double[] pLatDD, double[] pLonDD, double[] pAltKMs) throws IOException, AutomationException
getTargetLatLonAlt
in interface IGlobeCamera
pLatDD
- The pLatDD (out: use single element array)pLonDD
- The pLonDD (out: use single element array)pAltKMs
- The pAltKMs (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setObserverLatLonAlt(double latDD, double lonDD, double altKMs) throws IOException, AutomationException
setObserverLatLonAlt
in interface IGlobeCamera
latDD
- The latDD (in)lonDD
- The lonDD (in)altKMs
- The altKMs (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getObserverLatLonAlt(double[] pLatDD, double[] pLonDD, double[] pAltKMs) throws IOException, AutomationException
getObserverLatLonAlt
in interface IGlobeCamera
pLatDD
- The pLatDD (out: use single element array)pLonDD
- The pLonDD (out: use single element array)pAltKMs
- The pAltKMs (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setRollOffset(double pRollAngle) throws IOException, AutomationException
setRollOffset
in interface IGlobeCamera
pRollAngle
- The pRollAngle (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getRollOffset() throws IOException, AutomationException
getRollOffset
in interface IGlobeCamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getFrustumSkewRect(double[] xMin, double[] xMax, double[] yMin, double[] yMax) throws IOException, AutomationException
getFrustumSkewRect
in interface IGlobeCamera
xMin
- The xMin (out: use single element array)xMax
- The xMax (out: use single element array)yMin
- The yMin (out: use single element array)yMax
- The yMax (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setFrustumSkewRect(double xMin, double xMax, double yMin, double yMax) throws IOException, AutomationException
setFrustumSkewRect
in interface IGlobeCamera
xMin
- The xMin (in)xMax
- The xMax (in)yMin
- The yMin (in)yMax
- The yMax (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAccurateViewDirection(double viewX, double viewY, double viewZ) throws IOException, AutomationException
setAccurateViewDirection
in interface IGlobeCamera
viewX
- The viewX (in)viewY
- The viewY (in)viewZ
- The viewZ (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getAccurateViewDirection(double[] pViewX, double[] pViewY, double[] pViewZ) throws IOException, AutomationException
Get the high precision normalized view direction. The x, y and z values returned will create a 3D vector with a unit length of 1.
getAccurateViewDirection
in interface IGlobeCamera
pViewX
- The pViewX (out: use single element array)pViewY
- The pViewY (out: use single element array)pViewZ
- The pViewZ (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getLocalOrientation(double[] plocalAzi, double[] pLocalIncl, double[] pLocalRoll) throws IOException, AutomationException
getLocalOrientation
in interface IGlobeCamera
plocalAzi
- The plocalAzi (out: use single element array)pLocalIncl
- The pLocalIncl (out: use single element array)pLocalRoll
- The pLocalRoll (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setNavigationType(int pType) throws IOException, AutomationException
setNavigationType
in interface IGlobeCamera
pType
- A com.esri.arcgis.globecore.esriGlobeNavigationType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getNavigationType() throws IOException, AutomationException
getNavigationType
in interface IGlobeCamera
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setToZoomToExtents(IEnvelope pExtent, IGlobe pGlobe, ISceneViewer pSceneViewer) throws IOException, AutomationException
setToZoomToExtents
in interface IGlobeCamera
pExtent
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)pGlobe
- A reference to a com.esri.arcgis.globecore.IGlobe (in)pSceneViewer
- A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getScalingDistance() throws IOException, AutomationException
getScalingDistance
in interface IGlobeViewUtil
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTargetAtCenter() throws IOException, AutomationException
setTargetAtCenter
in interface IGlobeViewUtil
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void geographicToGeocentric(double long_dd, double lat_dd, double elev_meters, double[] pX, double[] pY, double[] pZ) throws IOException, AutomationException
geographicToGeocentric
in interface IGlobeViewUtil
long_dd
- The long_dd (in)lat_dd
- The lat_dd (in)elev_meters
- The elev_meters (in)pX
- The pX (out: use single element array)pY
- The pY (out: use single element array)pZ
- The pZ (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void geocentricToGeographic(double x, double y, double z, double[] pLong_dd, double[] pLat_dd, double[] pElev_meters) throws IOException, AutomationException
geocentricToGeographic
in interface IGlobeViewUtil
x
- The x (in)y
- The y (in)z
- The z (in)pLong_dd
- The pLong_dd (out: use single element array)pLat_dd
- The pLat_dd (out: use single element array)pElev_meters
- The pElev_meters (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void geographicToWindow(double long_dd, double lat_dd, double elev_meters, int[] pWinX, int[] pWinY) throws IOException, AutomationException
geographicToWindow
in interface IGlobeViewUtil
long_dd
- The long_dd (in)lat_dd
- The lat_dd (in)elev_meters
- The elev_meters (in)pWinX
- The pWinX (out: use single element array)pWinY
- The pWinY (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void geocentricToWindow(double x, double y, double z, int[] pWinX, int[] pWinY) throws IOException, AutomationException
geocentricToWindow
in interface IGlobeViewUtil
x
- The x (in)y
- The y (in)z
- The z (in)pWinX
- The pWinX (out: use single element array)pWinY
- The pWinY (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void windowToGeographic(IGlobeDisplay pDisplay, ISceneViewer pViewer, int winX, int winY, boolean bUseZBufferValue, double[] pLon, double[] pLat, double[] pAlt) throws IOException, AutomationException
windowToGeographic
in interface IGlobeViewUtil
pDisplay
- A reference to a com.esri.arcgis.globecore.IGlobeDisplay (in)pViewer
- A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)winX
- The winX (in)winY
- The winY (in)bUseZBufferValue
- The bUseZBufferValue (in)pLon
- The pLon (out: use single element array)pLat
- The pLat (out: use single element array)pAlt
- The pAlt (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void windowToGeocentric(IGlobeDisplay pDisplay, ISceneViewer pViewer, int winX, int winY, boolean bUseZBufferValue, double[] pX, double[] pY, double[] pZ) throws IOException, AutomationException
windowToGeocentric
in interface IGlobeViewUtil
pDisplay
- A reference to a com.esri.arcgis.globecore.IGlobeDisplay (in)pViewer
- A reference to a com.esri.arcgis.analyst3d.ISceneViewer (in)winX
- The winX (in)winY
- The winY (in)bUseZBufferValue
- The bUseZBufferValue (in)pX
- The pX (out: use single element array)pY
- The pY (out: use single element array)pZ
- The pZ (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getViewingFrustrum(_WKSPointZ[] pNearBottomLeft, _WKSPointZ[] pNearBottomRight, _WKSPointZ[] pNearTopLeft, _WKSPointZ[] pNearTopRight, _WKSPointZ[] pFarBottomLeft, _WKSPointZ[] pFarBottomRight, _WKSPointZ[] pFarTopLeft, _WKSPointZ[] pFarTopRight) throws IOException, AutomationException
getViewingFrustrum
in interface IGlobeViewUtil
pNearBottomLeft
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pNearBottomRight
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pNearTopLeft
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pNearTopRight
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pFarBottomLeft
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pFarBottomRight
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pFarTopLeft
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pFarTopRight
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getIsPointVisible(double x, double y, double z, boolean[] pOutsideView, boolean[] pTooClose, boolean[] pTooFar) throws IOException, AutomationException
getIsPointVisible
in interface IGlobeViewUtil
x
- The x (in)y
- The y (in)z
- The z (in)pOutsideView
- The pOutsideView (out: use single element array)pTooClose
- The pTooClose (out: use single element array)pTooFar
- The pTooFar (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setLocalOrigin(double x, double y, double rhs3) throws IOException, AutomationException
setLocalOrigin
in interface IGlobeViewUtil
x
- The x (in)y
- The y (in)rhs3
- The rhs3 (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryVisibleGeographicExtent(IEnvelope extent) throws IOException, AutomationException
queryVisibleGeographicExtent
in interface IGlobeViewUtil
extent
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |