public class TLspImageProjector extends Object implements ILspImageProjector
ILspImageProjector
.
You can use the lookAt(com.luciad.shape.ILcdPoint, double, double, double, double, com.luciad.reference.ILcdGeoReference)
and lookFrom(com.luciad.shape.ILcdPoint, double, double, double, double, com.luciad.reference.ILcdGeoReference)
to conveniently specify the projector's
location and orientation. Note that you must also set the range
otherwise the image might not be visible (range too small) or projected on the back side of the
earth (range too large). Typically the range should be 2-4 times the distance of the projector
from the ground.Constructor and Description |
---|
TLspImageProjector()
Creates a new, uninitialized image projector.
|
TLspImageProjector(ILcdPoint aEyePoint,
ILcdPoint aReferencePoint,
ILcdPoint aUpVector,
double aFieldOfView,
double aAspectRatio,
double aRange)
Creates a new image projector with the given properties.
|
Modifier and Type | Method and Description |
---|---|
double |
getAspectRatio()
Returns the projector's aspect ratio.
|
ILcdPoint |
getEyePoint()
Returns the projector's eye point.
|
double |
getFieldOfView()
Returns the projector's vertical field of view, in degrees.
|
double |
getRange()
Returns the projector's distance range.
|
ILcdPoint |
getReferencePoint()
Returns the projector's reference point.
|
ILcdPoint |
getUpVector()
Returns the projector's up vector.
|
void |
lookAt(ILcdPoint aLookAt,
double aDistance,
double aYaw,
double aPitch,
double aRoll,
ILcdGeoReference aProjectorReference)
Computes the projector's eye point, reference point and up vector based on
the given parameters.
|
void |
lookFrom(ILcdPoint aLookFrom,
double aDistance,
double aYaw,
double aPitch,
double aRoll,
ILcdGeoReference aProjectorReference)
Computes the projector's eye point, reference point and up vector based on
the given parameters.
|
void |
setAspectRatio(double aAspectRatio)
Changes the projector's aspect ratio to the specified value.
|
void |
setEyePoint(ILcdPoint aEyePoint)
Moves the projector's eye point to the specified location.
|
void |
setFieldOfView(double aFieldOfView)
Changes the projector's vertical field of view angle to the specified value.
|
void |
setRange(double aRange)
Changes the projector's distance range to the specified value.
|
void |
setReferencePoint(ILcdPoint aReferencePoint)
Moves the projector's reference point to the specified location.
|
void |
setUpVector(ILcdPoint aUpVector)
Changes the projector's up vector.
|
public TLspImageProjector()
public TLspImageProjector(ILcdPoint aEyePoint, ILcdPoint aReferencePoint, ILcdPoint aUpVector, double aFieldOfView, double aAspectRatio, double aRange)
aEyePoint
- the initial eye pointaReferencePoint
- the initial reference pointaUpVector
- the initial up vectoraFieldOfView
- the initial field of viewaAspectRatio
- the initial aspect rationaRange
- the initial distance rangepublic ILcdPoint getEyePoint()
ILspImageProjector
getEyePoint
in interface ILspImageProjector
public void setEyePoint(ILcdPoint aEyePoint)
aEyePoint
- the new eye pointgetEyePoint()
public ILcdPoint getReferencePoint()
ILspImageProjector
getReferencePoint
in interface ILspImageProjector
public void setReferencePoint(ILcdPoint aReferencePoint)
aReferencePoint
- the new reference pointgetReferencePoint()
public ILcdPoint getUpVector()
ILspImageProjector
getUpVector
in interface ILspImageProjector
public void setUpVector(ILcdPoint aUpVector)
aUpVector
- the new up vectorgetUpVector()
public double getFieldOfView()
ILspImageProjector
getFieldOfView
in interface ILspImageProjector
public void setFieldOfView(double aFieldOfView)
aFieldOfView
- the new vertical field of view, in degreesgetFieldOfView()
public double getAspectRatio()
ILspImageProjector
getAspectRatio
in interface ILspImageProjector
public void setAspectRatio(double aAspectRatio)
aAspectRatio
- the new aspect ratiogetAspectRatio()
public double getRange()
ILspImageProjector
getRange
in interface ILspImageProjector
public void setRange(double aRange)
aRange
- the new distance rangegetRange()
public void lookAt(ILcdPoint aLookAt, double aDistance, double aYaw, double aPitch, double aRoll, ILcdGeoReference aProjectorReference)
TLspViewXYZWorldTransformation3D.lookAt(com.luciad.shape.ILcdPoint, double, double, double, double)
.
Using distance, yaw, pitch and roll parameters is often more intuitive
than having to compute a reference point and an up vector by hand.aLookAt
- the point (in world coordinates) at which to put the viewer's
reference pointaDistance
- the distance from the reference point at which to put the eye pointaYaw
- the desired yaw angle from the eye point to the reference point (in
degrees)aPitch
- the desired pitch angle from the eye point to the reference point
(in degrees)aRoll
- the desired roll angle of the viewer around its line-of-sight axis
(in degrees)aProjectorReference
- the reference in which the projector is definedpublic void lookFrom(ILcdPoint aLookFrom, double aDistance, double aYaw, double aPitch, double aRoll, ILcdGeoReference aProjectorReference)
TLspViewXYZWorldTransformation3D.lookFrom(com.luciad.shape.ILcdPoint, double, double, double, double)
Using distance, yaw, pitch and roll parameters is often more intuitive
than having to compute a reference point and an up vector by hand.aLookFrom
- the point (in world coordinates) at which to put the eye pointaDistance
- the distance from the eye point at which to put the viewer's
reference pointaYaw
- the desired yaw angle from the eye point to the reference point (in
degrees)aPitch
- the desired pitch angle from the eye point to the reference point
(in
degrees)aRoll
- the desired roll angle of the viewer around its line-of-sight axis
(in degrees)aProjectorReference
- the reference in which the projector is defined