public final class TLcdGrid2Geocentric extends Object implements ILcdModelXYZWorldTransformation, Cloneable
ILcdModelXYZWorldTransformation
defines a transformation between
an ILcdGridReference
and an ILcdGeocentricReference
.
ILcdGeodeticReference
and the reference datum of the
ILcdXYZWorldReference
are the same.
This class is thread safe.
Constructor and Description |
---|
TLcdGrid2Geocentric()
Constructs a new TLcdGrid2Geocentric transformation which has both its model
and world reference set to null.
|
TLcdGrid2Geocentric(ILcdModelReference aModelReference,
ILcdXYZWorldReference aWorldReference)
Constructs a new TLcdGrid2Geocentric transformation using a specified
model and world reference.
|
Modifier and Type | Method and Description |
---|---|
Object |
clone()
Performs a deep clone of this transformation.
|
int |
getDiv()
Gets the number of divisions made for bounding box transformations.
|
ILcdModelReference |
getModelReference()
Gets the model reference of this transformation.
|
ILcdXYZWorldReference |
getXYZWorldReference()
Gets the world reference of this transformation.
|
void |
modelBounds2worldSFCT(ILcdBounds aBounds,
ILcd3DEditableBounds aBoundsSFCT)
Transforms model bounds into world bounds.
|
void |
modelPoint2worldSFCT(ILcdPoint aPoint,
ILcd3DEditablePoint aPointSFCT)
Transforms a model point into a world point.
|
void |
setDiv(int aNbDivisions)
The property
aNbDivisions indicates the number of divisions
made for bounding box transformations from world to model in order
to approximate the bounding box of the model. |
void |
setModelReference(ILcdModelReference aModelReference)
Sets the
ILcdModelReference for this transformation. |
void |
setXYZWorldReference(ILcdXYZWorldReference aWorldReference)
Sets the
ILcdXYZWorldReference for this transformation. |
void |
worldBounds2modelSFCT(ILcdBounds aBounds,
ILcd3DEditableBounds aBoundsSFCT)
Transforms world bounds into model bounds.
|
void |
worldPoint2modelSFCT(ILcdPoint aPoint,
ILcd3DEditablePoint aPointSFCT)
Transforms a world point into a model point.
|
public TLcdGrid2Geocentric()
public TLcdGrid2Geocentric(ILcdModelReference aModelReference, ILcdXYZWorldReference aWorldReference)
aModelReference
- the model reference for this transformationaWorldReference
- the world reference for this transformationsetModelReference(com.luciad.model.ILcdModelReference)
,
setXYZWorldReference(com.luciad.view.ILcdXYZWorldReference)
public ILcdModelReference getModelReference()
getModelReference
in interface ILcdModelXYZWorldTransformation
setModelReference(com.luciad.model.ILcdModelReference)
public void setModelReference(ILcdModelReference aModelReference)
ILcdModelReference
for this transformation. The
specified model reference must also be an instance of ILcdGridReference
setModelReference
in interface ILcdModelXYZWorldTransformation
aModelReference
- the model reference for this transformationIllegalArgumentException
- if the specified model reference is not an
instance of ILcdGridReferencegetModelReference()
public ILcdXYZWorldReference getXYZWorldReference()
getXYZWorldReference
in interface ILcdModelXYZWorldTransformation
setXYZWorldReference(com.luciad.view.ILcdXYZWorldReference)
public void setXYZWorldReference(ILcdXYZWorldReference aWorldReference)
ILcdXYZWorldReference
for this transformation.
This world reference must also be an instance of ILcdGeocentricReference
.setXYZWorldReference
in interface ILcdModelXYZWorldTransformation
aWorldReference
- the world reference for this transformationIllegalArgumentException
- if the specified world reference is not an
instance of ILcdGeocentricReferencegetXYZWorldReference()
public void setDiv(int aNbDivisions)
aNbDivisions
indicates the number of divisions
made for bounding box transformations from world to model in order
to approximate the bounding box of the model.
The number of point transformations performed is proportional
to aNbDivisions*aNbDivisions
.
The more divisions, the more precise the model bounding box will be.aNbDivisions
- number of divisions to use for bounding box transformations.getDiv()
public int getDiv()
setDiv(int)
public void modelPoint2worldSFCT(ILcdPoint aPoint, ILcd3DEditablePoint aPointSFCT) throws TLcdOutOfBoundsException
ILcdModelXYZWorldTransformation
modelPoint2worldSFCT
in interface ILcdModelXYZWorldTransformation
aPoint
- coordinate in model reference system.aPointSFCT
- coordinate in world reference system upon completion of the method.TLcdOutOfBoundsException
- if the model point is outside the valid area of the projection.public void worldPoint2modelSFCT(ILcdPoint aPoint, ILcd3DEditablePoint aPointSFCT) throws TLcdOutOfBoundsException
ILcdModelXYZWorldTransformation
worldPoint2modelSFCT
in interface ILcdModelXYZWorldTransformation
aPoint
- coordinate in world reference system.aPointSFCT
- coordinate in model reference system upon completion of the method.TLcdOutOfBoundsException
- if the world point is outside the valid area of the projection.public void modelBounds2worldSFCT(ILcdBounds aBounds, ILcd3DEditableBounds aBoundsSFCT) throws TLcdNoBoundsException
ILcdModelXYZWorldTransformation
modelBounds2worldSFCT
in interface ILcdModelXYZWorldTransformation
aBounds
- bounds in model reference system.aBoundsSFCT
- bounds in world reference system upon completion of the method.TLcdNoBoundsException
- if the model bounds doesn't have valid corresponding bounds in world space, or if it is undefined
.public void worldBounds2modelSFCT(ILcdBounds aBounds, ILcd3DEditableBounds aBoundsSFCT) throws TLcdOutOfBoundsException
ILcdModelXYZWorldTransformation
worldBounds2modelSFCT
in interface ILcdModelXYZWorldTransformation
aBounds
- bounds in world reference system.aBoundsSFCT
- bounds in model reference system upon completion of the method.TLcdOutOfBoundsException
- if the world bounds are outside the valid area of the projection, or if it is undefined
.