deegree 2.3 (2010/04/09 10:10 build-4-official)

org.deegree.ogcwebservices.wpvs.j3d
Class ViewPoint

java.lang.Object
  extended by org.deegree.ogcwebservices.wpvs.j3d.ViewPoint

public class ViewPoint
extends Object

This class represents the view point for a WPVS request. That is, it represents the point where the observer is at, and looking to a target point. An angle of view must be also given.

Version:
$Revision: 18195 $ $Date: 2009-06-18 17:55:39 +0200 (Do, 18. Jun 2009) $
Author:
Rutger Bezema, Andreas Poth, last edited by: $Author: mschneider $

Constructor Summary
ViewPoint(double yaw, double pitch, double viewerToPOIDistance, javax.vecmath.Point3d pointOfInterest, double angleOfView, double farClippingPlane, double distanceToSealevel, CoordinateSystem crs)
          Creates a new instance of ViewPoint_Impl
ViewPoint(GetView request)
           
ViewPoint(GetView request, double distanceToSeaLevel)
           
 
Method Summary
 double getAngleOfView()
           
 CoordinateSystem getCrs()
           
 javax.vecmath.Point3d[] getFakeFootprint()
           
 double getFarClippingPlane()
           
 javax.vecmath.Point3d[] getFootprint()
          The footprint in object space:
f[0] = (FarclippingPlaneRight) = angleOfView/2 + viewDirection.x, farclippingplaneDistance, distanceToSealevel
f[1] = (FarclippingPlaneLeft) = angleOfView/2 - viewDirection.x, farclippingplaneDistance, distanceToSealevel
f[2] = (NearclippingPlaneRight) = angleOfView/2 + viewDirection.x, nearclippingplaneDistance, distanceToSealevel
f[3] = (NearclippingPlaneLeft) = angleOfView/2 - viewDirection.x, nearclippingplaneDistance, distanceToSealevel
 javax.vecmath.Point3d[] getFootprint(double distanceToSeaLevel)
           
 String getFootPrintAsWellKnownText()
           
 javax.vecmath.Point3d getObserverPosition()
           
 String getObserverPositionAsWKT()
           
 javax.vecmath.Point3d[] getOldFootprint()
           
 double getPitch()
           
 javax.vecmath.Point3d getPointOfInterest()
           
 javax.media.j3d.Transform3D getSimpleTransform()
           
 double getTerrainDistanceToSeaLevel()
           
 double getViewerToPOIDistance()
           
 javax.media.j3d.Transform3D getViewMatrix()
           
 Surface getVisibleArea()
           
 double getYaw()
           
 boolean isNearClippingplaneBehindViewPoint()
           
 void setAngleOfView(double aov)
           
 void setObserverPosition(javax.vecmath.Point3d observerPosition)
           
 void setPitch(double pitch)
           
 void setPointOfInterest(javax.vecmath.Point3d pointOfInterest)
           
 void setSimpleTransform(javax.media.j3d.Transform3D transform)
           
 void setTerrainDistanceToSeaLevel(double distanceToSeaLevel)
           
 void setViewerToPOIDistance(double viewerToPOIDistance)
           
 void setYaw(double yaw)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ViewPoint

public ViewPoint(double yaw,
                 double pitch,
                 double viewerToPOIDistance,
                 javax.vecmath.Point3d pointOfInterest,
                 double angleOfView,
                 double farClippingPlane,
                 double distanceToSealevel,
                 CoordinateSystem crs)
Creates a new instance of ViewPoint_Impl

Parameters:
yaw - rotation on the Z-Axis in radians of the viewer
pitch - rotation on the X-Axis in radians
viewerToPOIDistance - from the point of interest to the viewersposition
pointOfInterest - the point of interest
angleOfView -
farClippingPlane - where the view ends
distanceToSealevel -
crs - The Coordinatesystem in which the given reside

ViewPoint

public ViewPoint(GetView request)
Parameters:
request - a server request.

ViewPoint

public ViewPoint(GetView request,
                 double distanceToSeaLevel)
Parameters:
request - a server request.
distanceToSeaLevel -
Method Detail

getOldFootprint

public javax.vecmath.Point3d[] getOldFootprint()
Returns:
the oldFootprint.

getFakeFootprint

public javax.vecmath.Point3d[] getFakeFootprint()
Returns:
the fakeFootprint.

isNearClippingplaneBehindViewPoint

public boolean isNearClippingplaneBehindViewPoint()
Returns:
true if the near clippingplane is behind the viewposition.

getAngleOfView

public double getAngleOfView()
Returns:
the field of view of the observer in radians

setAngleOfView

public void setAngleOfView(double aov)
Parameters:
aov - the field of view of the observer in radians

getYaw

public double getYaw()
Returns:
the horizontal direction in radians the observer looks

setYaw

public void setYaw(double yaw)
Parameters:
yaw - the horizontal direction in radians the observer looks

getPitch

public double getPitch()
Returns:
vertical direction in radians the observer looks

setPitch

public void setPitch(double pitch)
Parameters:
pitch - the vertical direction in radians the observer looks

getTerrainDistanceToSeaLevel

public double getTerrainDistanceToSeaLevel()
Returns:
Returns the distanceToSeaLevel of the terrain beneath the viewpoint.

setTerrainDistanceToSeaLevel

public void setTerrainDistanceToSeaLevel(double distanceToSeaLevel)
Parameters:
distanceToSeaLevel - of the terrain beneath the viewpoint

getObserverPosition

public javax.vecmath.Point3d getObserverPosition()
Returns:
the position of the observer, the directions he looks and his field of view in radians

setObserverPosition

public void setObserverPosition(javax.vecmath.Point3d observerPosition)
Parameters:
observerPosition - the position of the observer, the directions he looks and his field of view in radians

getPointOfInterest

public javax.vecmath.Point3d getPointOfInterest()
Returns:
the point of interest to which the viewer is looking

setPointOfInterest

public void setPointOfInterest(javax.vecmath.Point3d pointOfInterest)
Parameters:
pointOfInterest - the directions the observer looks and his field of view in radians

getFootprint

public javax.vecmath.Point3d[] getFootprint()
The footprint in object space:
f[0] = (FarclippingPlaneRight) = angleOfView/2 + viewDirection.x, farclippingplaneDistance, distanceToSealevel
f[1] = (FarclippingPlaneLeft) = angleOfView/2 - viewDirection.x, farclippingplaneDistance, distanceToSealevel
f[2] = (NearclippingPlaneRight) = angleOfView/2 + viewDirection.x, nearclippingplaneDistance, distanceToSealevel
f[3] = (NearclippingPlaneLeft) = angleOfView/2 - viewDirection.x, nearclippingplaneDistance, distanceToSealevel

Returns:
footprint or rather the field of view

getFootprint

public javax.vecmath.Point3d[] getFootprint(double distanceToSeaLevel)
Parameters:
distanceToSeaLevel - the new height for which the footprint should be calculated
Returns:
footprint or rather the field of view

toString

public String toString()
Overrides:
toString in class Object

getFarClippingPlane

public double getFarClippingPlane()
Returns:
Returns the farClippingPlane.

getSimpleTransform

public javax.media.j3d.Transform3D getSimpleTransform()
Returns:
Returns a new transform3D Object which contains the transformations to place the viewers Position and his yaw viewing angle relativ to the 0,0 coordinates and the poi.

setSimpleTransform

public void setSimpleTransform(javax.media.j3d.Transform3D transform)
Parameters:
transform - The transform to set.

getViewMatrix

public javax.media.j3d.Transform3D getViewMatrix()
Returns:
Returns the viewMatrix.

getViewerToPOIDistance

public double getViewerToPOIDistance()
Returns:
the viewerToPOIDistance value.

setViewerToPOIDistance

public void setViewerToPOIDistance(double viewerToPOIDistance)
Parameters:
viewerToPOIDistance - An other viewerToPOIDistance value.

getVisibleArea

public Surface getVisibleArea()
Returns:
the Footprint as a Surface (bbox)

getFootPrintAsWellKnownText

public String getFootPrintAsWellKnownText()
                                   throws GeometryException
Returns:
A String representation of the Footprint, so that it can be easily used in another programm e.g. deejump
Throws:
GeometryException - if the footprint could not be transformed to wkt.

getObserverPositionAsWKT

public String getObserverPositionAsWKT()
                                throws GeometryException
Returns:
the ObserverPosition as a well known text String.
Throws:
GeometryException - if the conversion fails.

getCrs

public CoordinateSystem getCrs()
Returns:
the crs value.

deegree 2.3 (2010/04/09 10:10 build-4-official)

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org