Main Page | Packages | Class Hierarchy | Alphabetical List | Compound List | Namespace Members | Compound Members | Related Pages

SRM.BaseSRF_3D Class Reference

The BaseSRF_3D abstract class is the base class for the 3D SRFs. More...

Inheritance diagram for SRM.BaseSRF_3D:

Inheritance graph
[legend]
List of all members.

Public Member Functions

abstract Coord3D createCoordinate3D ()
 Creates a 3D coordinate object.

abstract Coord3D createCoordinate3D (double coord_comp1, double coord_comp2, double coord_comp3)
 Creates a 3D coordinate object.

double[] getCoordinate3DValues (Coord3D coord) throws SrmException
 Retrieves the 3D coordinate component values.

SRM_Coordinate_Valid_Region_Code changeCoordinate3DSRF (Coord3D src, Coord3D tgt) throws SrmException
 Changes a coordinate's values to this SRF.

int changeCoordinate3DArraySRF (Coord3D[] src, Coord3D[] tgt, SRM_Coordinate_Valid_Region_Code[] region) throws SrmException
 Changes an array of 3D coordinate to this SRF.

void setValidRegion (int component, SRM_Interval_Type type, double lower, double upper) throws SrmException
 Set the Valid Region for this SRF.

void setExtendedValidRegion (int component, SRM_Interval_Type type, double extended_lower, double lower, double upper, double extended_upper) throws SrmException
 Set the Extended Valid Region for this SRF.

SRM_Valid_Region_Params getValidRegion (int component) throws SrmException
 Get the Valid Region for this SRF.

SRM_Extended_Valid_Region_Params getExtendedValidRegion (int component) throws SrmException
 Get the Extended Valid Region for this SRF.

SRM_Coordinate_Valid_Region_Code changeCoordinate3DSRFObject (Coord3D src, SRM_ORM_Trans_3D_Params hst, Coord3D tgt) throws SrmException
 Changes a coordinate's values to this SRF using tranformation object.

int changeCoordinate3DArraySRFObject (Coord3D[] src, SRM_ORM_Trans_3D_Params hst, Coord3D[] tgt, SRM_Coordinate_Valid_Region_Code[] region) throws SrmException
 Changes an array of coordinates to this SRF using tranformation object.

Direction createDirection (Coord3D ref_coord, double vec[]) throws SrmException
 Creates a direction object.

Direction createDirection () throws SrmException
 Creates a direction object with reference location and vector components as Double.NaN.

void getDirectionValues (Direction direction, Coord3D ref_coord, double vec[]) throws SrmException
 Retrieves the direction component values.

SRM_Coordinate_Valid_Region_Code changeDirectionSRF (Direction src_dir, Direction tgt_dir) throws SrmException
 Changes a direction's reference coordinate and vector to this SRF.

int changeDirectionArraySRF (Direction[] src_dir, Direction[] tgt_dir, SRM_Coordinate_Valid_Region_Code[] region) throws SrmException
 Changes an array of directions to this SRF.

SRM_Coordinate_Valid_Region_Code changeDirectionSRFObject (Direction src_dir, SRM_ORM_Trans_3D_Params hst, Direction tgt_dir) throws SrmException
 Changes a direction's values to this SRF using tranformation object.

int changeDirectionArraySRFObject (Direction[] src_dir, SRM_ORM_Trans_3D_Params hst, Direction[] tgt_dir, SRM_Coordinate_Valid_Region_Code[] region) throws SrmException
 Changes an array of directions to this SRF using tranformation object.

SRM_Coordinate_Valid_Region_Code checkDirection (Direction direction) throws SrmException
 Check a direction in this SRF.

void computeSRFOrientation (Coord3D src_ref_point, Coord3D tgt_ref_point, Orientation out_ori) throws SrmException
 This method creates an Orientation object representing the orientation of the source srf (at the source reference point) with respect to this (the target) srf (at the target reference point).

SRF_LCE_3D_Params getLocalTangentFrameSRFParameters (Coord3D ref_point) throws SrmException
 Computes the parameters corresponding to the local tangent frame at the input reference coordinate.

void transformOrientation (Coord3D src_ref_loc, Orientation src_ori, Coord3D tgt_ref_loc, Orientation tgt_ori) throws SrmException
 Given an orientation with respect to a local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the orientation with respect to the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

SRM_Coordinate_Valid_Region_Code transformOrientationCommonOrigin (Coord3D src_ref_loc, Orientation src_ori, Coord3D tgt_ref_loc, Orientation tgt_ori) throws SrmException
 Given an orientation with respect to a local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the orientation with respect to the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

void transformVectorInBodyFrame (Coord3D src_ref_loc, Orientation src_ori, double[] src_vec, Coord3D tgt_ref_loc, double[] tgt_vec) throws SrmException
 Given a vector in a body frame (or in general any linear reference frame) whose orientation with respect to the local tangent frame (LTF_S) that is associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

SRM_Coordinate_Valid_Region_Code transformVectorInBodyFrameCommonOrigin (Coord3D src_ref_loc, Orientation src_ori, double[] src_vec, Coord3D tgt_ref_loc, double[] tgt_vec) throws SrmException
 Given a vector in a body frame (or in general any linear reference frame) whose orientation with respect to the local tangent frame (LTF_S) that is associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

void transformVector (Coord3D src_ref_loc, double[] src_vec, Coord3D tgt_ref_loc, double[] tgt_vec) throws SrmException
 Given a vector in the local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

SRM_Coordinate_Valid_Region_Code transformVectorCommonOrigin (Coord3D src_ref_loc, double[] src_vec, Coord3D tgt_ref_loc, double[] tgt_vec) throws SrmException
 Given a vector in the local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

SRF_LococentricEuclidean3D createLococentricEuclidean3DSRF (Coord3D lococentre, Direction primary_axis, Direction secondary_axis) throws SrmException
 creates a Loccentric Euclidean 3D SRF whose origin in at the input lococentre and the primary and secodary axes are aligned with the input direction axes.

SRM_SRFSM_Code getNaturalSRFSetMemberCode (Coord3D src_coord, SRM_ORM_Code orm_dst, SRM_RT_Code rt_dst, SRM_SRFS_Code tgt_srfs) throws SrmException
 Computes the natural SRF Set member code (region) where the 3D coordinate is located in the target SRF Set.

BaseSRF_3D getNaturalSRFSetMember (Coord3D src_coord, SRM_ORM_Code orm_dst, SRM_RT_Code rt_dst, SRM_SRFS_Code tgt_srfs) throws SrmException
 Returns the natural SRF Set member instance that the 3D coordinate is located in the target SRF Set.


Static Public Member Functions

double calculateEuclideanDistance (Coord3D coord1, Coord3D coord2) throws SrmException
 Returns the euclidean distance between two coordinates.


Protected Member Functions

SRM_SRFSM_Code getMemberCode (double[] src_coord, SRM_ORM_Code orm_dst, SRM_RT_Code rt_dst, SRM_SRFS_Code tgt_srfs) throws SrmException
LTP_vec compLTP (BaseSRF srf, Coord3D coord) throws SrmException
SRM_Matrix_3x3 comp_ori_mat (LTP_vec src, LTP_vec tgt)

Protected Attributes

SRM_Extended_Valid_Region_Params[] _component_valid_region
 member data for the geodetic valid region

boolean[] _component_is_angular = { false, false, false }
 boolean flag indicating whether the coordinate component associated with this SRF is angular


Detailed Description

The BaseSRF_3D abstract class is the base class for the 3D SRFs.

Author:
David Shen
See also:
BaseSRF, BaseSRF_2D


Member Function Documentation

double SRM.BaseSRF_3D.calculateEuclideanDistance Coord3D  coord1,
Coord3D  coord2
throws SrmException [static]
 

Returns the euclidean distance between two coordinates.

Parameters:
coord1 in: a coordinate in some SRF
coord2 in: a coordinate in some SRF
Returns:
the Euclidean distance between the two Coord3D coordinates (in meters).
Note:
The input coordinates do not need to be from the same SRF.

This method will make (and cache) internal conversions when the inputs coordinates are from SRFs other than SRF_Celestiocentric.

int SRM.BaseSRF_3D.changeCoordinate3DArraySRF Coord3D  src[],
Coord3D  tgt[],
SRM_Coordinate_Valid_Region_Code  region[]
throws SrmException
 

Changes an array of 3D coordinate to this SRF.

Note:
all the arrays must be of same length.

all the coordinate in an array must be associated with the same SRF.

the returned integer value will be the length of the array plus one to indicate that the operation successfully converted all the coordinates in the source array. Otherwise, the return value is the index of the offending coordinate in the source array.

Parameters:
src in: the array of source 3D coordinate in some other 3D SRF
tgt out: the array of target coordinate in this 3D SRF
region out: the array of valid region associated with the array of target coordinates
Returns:
the index of the offending coordinate in the source array when an error condition occurs. Otherwise, it is the size of the source array plus one.

int SRM.BaseSRF_3D.changeCoordinate3DArraySRFObject Coord3D  src[],
SRM_ORM_Trans_3D_Params  hst,
Coord3D  tgt[],
SRM_Coordinate_Valid_Region_Code  region[]
throws SrmException
 

Changes an array of coordinates to this SRF using tranformation object.

Note:
The tgt coordinates in the tgt array must have been created using this SRF.

The value of omega_1, omega_2 and omega_3 for hst must be within the range (-2_PI, 2_PI).

The value of delta_s for hst must be stricly greater than -1.0.

all the arrays must be of same length.

all the coordinate in an array must be associated with the same SRF.

the returned integer value will be the length of the array plus one to indicate that the operation successfully converted all the ccordinates in the source array. Otherwise, the return value is the index of the offending coordinate in the source array.

Parameters:
src in: the array of source coordinates in some other 3D SRF
hst in: the ORM 3D transformation object
tgt out: the array of target coordinates in this 3D SRF
region out: the array of valid region associated with the array of target coordinates
Returns:
the index of the offending coordinate in the source array when an error condition occurs. Otherwise, it is the size of the source array plus one.

SRM_Coordinate_Valid_Region_Code SRM.BaseSRF_3D.changeCoordinate3DSRF Coord3D  src,
Coord3D  tgt
throws SrmException
 

Changes a coordinate's values to this SRF.

Parameters:
src in: the source 3D coordinate in some other 3D SRF
tgt in out: the target coordinate in this 3D SRF
Returns:
the Valid Region of the target coordinate

SRM_Coordinate_Valid_Region_Code SRM.BaseSRF_3D.changeCoordinate3DSRFObject Coord3D  src,
SRM_ORM_Trans_3D_Params  hst,
Coord3D  tgt
throws SrmException
 

Changes a coordinate's values to this SRF using tranformation object.

Note:
The tgt coordinate must have been created using this SRF.

The value of omega_1, omega_2 and omega_3 for hst must be within the range (-2_PI, 2_PI).

The value of delta_s for hst must be stricly greater than -1.0.

Parameters:
src in: the source coordinate in some other 3D SRF
hst in: the ORM 3D transformation
tgt in out: the target coordinate in this 3D SRF
Returns:
the Valid Region of the target coordinate

int SRM.BaseSRF_3D.changeDirectionArraySRF Direction  src_dir[],
Direction  tgt_dir[],
SRM_Coordinate_Valid_Region_Code  region[]
throws SrmException
 

Changes an array of directions to this SRF.

Note:
all the arrays must be of same length.

all the directions in an array must be associated with the same SRF.

the returned integer value will be the length of the array plus one to indicate that the operation successfully converted all the directions in the source array. Otherwise, the return value is the index of the offending direction in the source array.

Parameters:
src_dir in: the array of source direction in some other 3D SRF
tgt_dir out: the array of target direction in this 3D SRF
region out: the array of valid region associated with the array of target direction
Returns:
the index of the offending direction in the source array when an error condition occurs. Otherwise, it is the size of the source array plus one.

int SRM.BaseSRF_3D.changeDirectionArraySRFObject Direction  src_dir[],
SRM_ORM_Trans_3D_Params  hst,
Direction  tgt_dir[],
SRM_Coordinate_Valid_Region_Code  region[]
throws SrmException
 

Changes an array of directions to this SRF using tranformation object.

Note:
all the arrays must be of same length.

all the directions in an array must be associated with the same SRF.

the returned integer value will be the length of the array plus one to indicate that the operation successfully converted all the directions in the source array. Otherwise, the return value is the index of the offending direction in the source array.

The value of omega_1, omega_2 and omega_3 for hst must be within the range (-2_PI, 2_PI).

The value of delta_s for hst must be stricly greater than -1.0.

Parameters:
src_dir in: the array of source direction in some other 3D SRF
hst in: the ORM 3D transformation
tgt_dir out: the array of target direction in this 3D SRF
region out: the array of valid region associated with the array of target direction
Returns:
the index of the offending direction in the source array when an error condition occurs. Otherwise, it is the size of the source array plus one.

SRM_Coordinate_Valid_Region_Code SRM.BaseSRF_3D.changeDirectionSRF Direction  src_dir,
Direction  tgt_dir
throws SrmException
 

Changes a direction's reference coordinate and vector to this SRF.

Parameters:
src_dir in: the source direction in some other SRF
tgt_dir out: the target direction in this SRF

SRM_Coordinate_Valid_Region_Code SRM.BaseSRF_3D.changeDirectionSRFObject Direction  src_dir,
SRM_ORM_Trans_3D_Params  hst,
Direction  tgt_dir
throws SrmException
 

Changes a direction's values to this SRF using tranformation object.

Note:
The tgt direction must have been created using this SRF.

The value of omega_1, omega_2 and omega_3 for hst must be within the range (-2_PI, 2_PI).

The value of delta_s for hst must be stricly greater than -1.0.

Parameters:
src_dir in: the source direction in some other SRF
hst in: the ORM 3D transformation
tgt_dir out: the target direction in this SRF
Returns:
valid region category for the reference location associated with the target direction

SRM_Coordinate_Valid_Region_Code SRM.BaseSRF_3D.checkDirection Direction  direction  )  throws SrmException
 

Check a direction in this SRF.

Note:
The input direction object must have been created using this SRF.
Parameters:
direction in: the direction in this SRF
Returns:
the coordinate valid region code in the direction's SRF

void SRM.BaseSRF_3D.computeSRFOrientation Coord3D  src_ref_point,
Coord3D  tgt_ref_point,
Orientation  out_ori
throws SrmException
 

This method creates an Orientation object representing the orientation of the source srf (at the source reference point) with respect to this (the target) srf (at the target reference point).

The Orientation is computed as the cosine matrix of the source local tangent frame with respect to the target local tangent frame.

Parameters:
src_ref_point in : the source reference point
tgt_ref_point in : the target reference point in this SRF
out_ori out : the resulting orientation

abstract Coord3D SRM.BaseSRF_3D.createCoordinate3D double  coord_comp1,
double  coord_comp2,
double  coord_comp3
[pure virtual]
 

Creates a 3D coordinate object.

Parameters:
coord_comp1 in: the values of the first component of the 3D coordinate
coord_comp2 in: the values of the second component of the 3D coordinate
coord_comp3 in: the values of the third component of the 3D coordinate
Returns:
a 3D coordinate object

Implemented in SRM.SRF_Celestiocentric, SRM.SRF_Celestiodetic, SRM.SRF_Celestiomagnetic, SRM.SRF_EquatorialInertial, SRM.SRF_EquidistantCylindrical, SRM.SRF_HeliosphericAriesEcliptic, SRM.SRF_HeliosphericEarthEcliptic, SRM.SRF_HeliosphericEarthEquatorial, SRM.SRF_LambertConformalConic, SRM.SRF_LocalSpaceRectangular3D, SRM.SRF_LocalTangentSpaceAzimuthalSpherical, SRM.SRF_LocalTangentSpaceCylindrical, SRM.SRF_LocalTangentSpaceEuclidean, SRM.SRF_LococentricEuclidean3D, SRM.SRF_Mercator, SRM.SRF_ObliqueMercatorSpherical, SRM.SRF_Planetodetic, SRM.SRF_PolarStereographic, SRM.SRF_SolarEcliptic, SRM.SRF_SolarEquatorial, SRM.SRF_SolarMagneticDipole, SRM.SRF_SolarMagneticEcliptic, and SRM.SRF_TransverseMercator.

abstract Coord3D SRM.BaseSRF_3D.createCoordinate3D  )  [pure virtual]
 

Creates a 3D coordinate object.

Returns:
a 3D coordinate object
Note:
The initial coordinate value is defaulted to [ Double.NaN, Double.NaN, Double.NaN ].

Implemented in SRM.SRF_Celestiocentric, SRM.SRF_Celestiodetic, SRM.SRF_Celestiomagnetic, SRM.SRF_EquatorialInertial, SRM.SRF_EquidistantCylindrical, SRM.SRF_HeliosphericAriesEcliptic, SRM.SRF_HeliosphericEarthEcliptic, SRM.SRF_HeliosphericEarthEquatorial, SRM.SRF_LambertConformalConic, SRM.SRF_LocalSpaceRectangular3D, SRM.SRF_LocalTangentSpaceAzimuthalSpherical, SRM.SRF_LocalTangentSpaceCylindrical, SRM.SRF_LocalTangentSpaceEuclidean, SRM.SRF_LococentricEuclidean3D, SRM.SRF_Mercator, SRM.SRF_ObliqueMercatorSpherical, SRM.SRF_Planetodetic, SRM.SRF_PolarStereographic, SRM.SRF_SolarEcliptic, SRM.SRF_SolarEquatorial, SRM.SRF_SolarMagneticDipole, SRM.SRF_SolarMagneticEcliptic, and SRM.SRF_TransverseMercator.

Direction SRM.BaseSRF_3D.createDirection  )  throws SrmException
 

Creates a direction object with reference location and vector components as Double.NaN.

Returns:
a direction object
Note:
This method is mainly intended for facilitating the creation of Direction objects that will be used as the target Direction for the changeDirectionSRF() method.

Direction SRM.BaseSRF_3D.createDirection Coord3D  ref_coord,
double  vec[]
throws SrmException
 

Creates a direction object.

Parameters:
ref_coord in: the 3D reference coordinate in this SRF.
vec[] in: the array of size 3 containing the vector component values. It can be changed after the direction is created.
Returns:
a direction object
Note:
The input reference coordinate must have been created using this SRF.

The reference coordinate cannot be changed after the direction is instantiated.

A sample code to instantiate a Direction object is as follows:
        import SRM.*;
        ...

        try {

        // first instantiate an SRF, say CD_3D SRF in WGS 1984
        SRF_Celestiodetic CdSrf = new SRF_Celestiodetic(SRM_ORM_Code.ORM_WGS_1984,
        SRM_RT_Code.RT_WGS_1984_IDENTITY);

        // then instantiate a 3D CD_3D coordinate as the reference coordinate
        Coord3D_Celestiodetic CdCoord =
        (Coord3D_Celestiodetic)CdSrf.createCoordinate3D(Math.toRadians(10.0),
        Math.toRadians(20.0),
        100.0);

        // then instantiate the Direction object by invoking the createDirection method
        Direction dir = CdSrf.createDirection(CdCoord, { 1.0, 2.0, 3.0 });

        } catch (SrmException ex)
        ...

        // Note: The input reference coordinate is immutable.

SRF_LococentricEuclidean3D SRM.BaseSRF_3D.createLococentricEuclidean3DSRF Coord3D  lococentre,
Direction  primary_axis,
Direction  secondary_axis
throws SrmException
 

creates a Loccentric Euclidean 3D SRF whose origin in at the input lococentre and the primary and secodary axes are aligned with the input direction axes.

Parameters:
lococentre in : the lococentre of the SRF
primary_axis in : the direction of the primary axis
secondary_axis in : the direction of the secondary axis
Returns:
an instance of Lococentric Euclidean 3D SRF
Exceptions:
This method throws srm::Exception

double [] SRM.BaseSRF_3D.getCoordinate3DValues Coord3D  coord  )  throws SrmException
 

Retrieves the 3D coordinate component values.

Note:
The input coordinate must have been created using this SRF.
Parameters:
coord in: a 3D coordinate
Returns:
an array of size 3 containing the component values for the 3D coordinate

void SRM.BaseSRF_3D.getDirectionValues Direction  direction,
Coord3D  ref_coord,
double  vec[]
throws SrmException
 

Retrieves the direction component values.

Parameters:
direction in: the direction object
ref_coord out: the 3D reference coordinate in this SRF
vec[] out: the 3D reference coordinate in this SRF
Note:
The input direction must have been created using this SRF.

The input reference coordinate must have been created using this SRF.

SRM_Extended_Valid_Region_Params SRM.BaseSRF_3D.getExtendedValidRegion int  component  )  throws SrmException
 

Get the Extended Valid Region for this SRF.

Note:
Given a coordinate component, the last invocation of this method or the setValidRegion method determines the valid and extended valid intervals of the coordinate component values.
Parameters:
component in: the coordinate component (1, 2, or 3)
Returns:
the extended valid region parameters

SRF_LCE_3D_Params SRM.BaseSRF_3D.getLocalTangentFrameSRFParameters Coord3D  ref_point  )  throws SrmException
 

Computes the parameters corresponding to the local tangent frame at the input reference coordinate.

Parameters:
ref_point in : the reference point
Returns:
the parameters for the local tangent frame, which are the parameters for the Lococentric Euclidean 3D SRF at the reference coordinate

BaseSRF_3D SRM.BaseSRF_3D.getNaturalSRFSetMember Coord3D  src_coord,
SRM_ORM_Code  orm_dst,
SRM_RT_Code  rt_dst,
SRM_SRFS_Code  tgt_srfs
throws SrmException
 

Returns the natural SRF Set member instance that the 3D coordinate is located in the target SRF Set.

Note:
The input coordinate must have been created using this SRF.
Parameters:
src_coord in : the source 3D coordinate in an SRF
orm_dst in : the ORM for the destination SRF Set
rt_dst in : the RT for the destination SRF Set
tgt_srfs in : the destination SRF Set Code
Returns:
the SRF Set Member instance for the destination SRF Set

SRM_SRFSM_Code SRM.BaseSRF_3D.getNaturalSRFSetMemberCode Coord3D  src_coord,
SRM_ORM_Code  orm_dst,
SRM_RT_Code  rt_dst,
SRM_SRFS_Code  tgt_srfs
throws SrmException
 

Computes the natural SRF Set member code (region) where the 3D coordinate is located in the target SRF Set.

Note:
The input coordinate must have been created using this SRF.
Parameters:
src_coord in : the source 3D coordinate in an SRF
orm_dst in : the ORM for the destination SRF Set
rt_dst in : the RT for the destination SRF Set
tgt_srfs in : the destination SRF Set Code
Returns:
the SRF Set Member code for the destination SRF Set

SRM_Valid_Region_Params SRM.BaseSRF_3D.getValidRegion int  component  )  throws SrmException
 

Get the Valid Region for this SRF.

Note:
Given a coordinate component, the last invocation of this method or the setExtendedValidRegion method determines the valid and extended valid intervals of the coordinate component values.
Parameters:
component in: the coordinate component (1, 2, or 3)
Returns:
the valid region parameters

void SRM.BaseSRF_3D.setExtendedValidRegion int  component,
SRM_Interval_Type  type,
double  extended_lower,
double  lower,
double  upper,
double  extended_upper
throws SrmException
 

Set the Extended Valid Region for this SRF.

Note:
Given a coordinate component, the last invocation of this method or the setValidRegion method determines the valid and extended valid intervals of the coordinate component values.

Upper or Lower value is ignored if the interval is a semi-interval or unbounded.

The Lower value must be strictly less than the Upper value.

The Extended_Lower value must be strictly greater than the Lower value and the Extended_Upper value must be strictly smaller than the Lower value.

Parameters:
component in: the coordinate component (1, 2, or 3)
type in: the type of interval
extended_lower in: the extended lower value of the interval
lower in: the lower value of the interval
upper in: the upper value of the interval
extended_upper in: the extended_upper value of the interval

void SRM.BaseSRF_3D.setValidRegion int  component,
SRM_Interval_Type  type,
double  lower,
double  upper
throws SrmException
 

Set the Valid Region for this SRF.

Note:
Given a coordinate component, the last invocation of this method or the setExtendedValidRegion method determines the valid and extended valid intervals of the coordinate component values.

Upper or Lower value is ignored if the interval is a semi-interval or unbounded.

The Lower value must be strictly less than the Upper value.

Parameters:
component in: the coordinate component (1, 2, or 3)
type in: the type of interval
lower in: the lower value of the interval
upper in: the upper value of the interval

void SRM.BaseSRF_3D.transformOrientation Coord3D  src_ref_loc,
Orientation  src_ori,
Coord3D  tgt_ref_loc,
Orientation  tgt_ori
throws SrmException
 

Given an orientation with respect to a local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the orientation with respect to the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

The output orientation is computed by composing the orientation of LTF_S with respect to LTF_T with the input source orientation. The SRF invoking this method is the target SRF.

Parameters:
src_ref_loc in : the source reference location (a coordinate in the source SRF) where the origin of the source local tangent frame (LTF_S) is located
src_ori in : the source orientation of some linear reference frame with respect to LTF_S
tgt_ref_loc in : the target reference location (a coordinate in this SRF, the target SRF) where the origin of the target local tangent frame (LTF_T) is located
tgt_ori out : the target orientation with respect to LTF_T

SRM_Coordinate_Valid_Region_Code SRM.BaseSRF_3D.transformOrientationCommonOrigin Coord3D  src_ref_loc,
Orientation  src_ori,
Coord3D  tgt_ref_loc,
Orientation  tgt_ori
throws SrmException
 

Given an orientation with respect to a local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the orientation with respect to the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

LTF_S and LTF_T have a common origin. The output orientation is computed by composing the orientation of LTF_S with respect to LTF_T with the input source orientation. The SRF invoking this method is the target SRF.

Parameters:
src_ref_loc in : the source reference location (a coordinate in the source SRF) where the origin of the source local tangent frame (LTF_S) is located
src_ori in : the source orientation of some linear reference frame with respect to LTF_S
tgt_ref_loc out : the coordinate of the common reference location in the target SRF
tgt_ori out : the target orientation with respect to LTF_T
Returns:
valid region category for the target reference location

void SRM.BaseSRF_3D.transformVector Coord3D  src_ref_loc,
double  src_vec[],
Coord3D  tgt_ref_loc,
double  tgt_vec[]
throws SrmException
 

Given a vector in the local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

The output vector is computed by applying the orientation of LTF_S with respect to LTF_T to the source vector. The SRF invoking this method is the target SRF.

Note:
The input/output arrays are of size 3.
Parameters:
src_ref_loc in : the source reference location (a coordinate in the source SRF) where the origin of the source local tangent frame (LTF_S) is located
src_vec in : the source vector in LTF_S
tgt_ref_loc in : the target reference location (a coordinate in this SRF, the target SRF) where the origin of the target local tangent frame (LTF_T) is located
tgt_vec out : the target vector in LTF_T

SRM_Coordinate_Valid_Region_Code SRM.BaseSRF_3D.transformVectorCommonOrigin Coord3D  src_ref_loc,
double  src_vec[],
Coord3D  tgt_ref_loc,
double  tgt_vec[]
throws SrmException
 

Given a vector in the local tangent frame (LTF_S) associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

LTF_S and LTF_T have a common origin. The output vector is computed by applying the orientation of LTF_S with respect to LTF_T to the source vector. The SRF invoking this method is the target SRF.

Note:
The input/output arrays are of size 3.
Parameters:
src_ref_loc in : the source reference location (a coordinate in the source SRF) where the origin of the source local tangent frame (LTF_S) is located
src_vec in : the source vector in LTF_S
tgt_ref_loc out : coordinate of the common reference location in the target SRF
tgt_vec out : the target vector in LTF_T
Returns:
valid region category for the target reference location

void SRM.BaseSRF_3D.transformVectorInBodyFrame Coord3D  src_ref_loc,
Orientation  src_ori,
double  src_vec[],
Coord3D  tgt_ref_loc,
double  tgt_vec[]
throws SrmException
 

Given a vector in a body frame (or in general any linear reference frame) whose orientation with respect to the local tangent frame (LTF_S) that is associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

The output vector is computed by applying the composed orientation, from the orientation of LTF_S with respect to LTF_T with the source orientation, to the source vector. This method is equivalent to applying the orientation result from the transformOrientation method to the source vector. The SRF invoking this method is the target SRF.

Note:
The input/output arrays are of size 3.
Parameters:
src_ref_loc in : the source reference location (a coordinate in the source SRF) where the origin of the source local tangent frame (LTF_S) is located
src_ori in : the source orientation of some linear reference frame L with respect to LTF_S
src_vec in : the input vector in L
tgt_ref_loc in : the target reference location (a coordinate in this SRF, the target SRF) where the origin of the target local tangent frame (LTF_T) is located
tgt_vec out : the target vector in LTF_T

SRM_Coordinate_Valid_Region_Code SRM.BaseSRF_3D.transformVectorInBodyFrameCommonOrigin Coord3D  src_ref_loc,
Orientation  src_ori,
double  src_vec[],
Coord3D  tgt_ref_loc,
double  tgt_vec[]
throws SrmException
 

Given a vector in a body frame (or in general any linear reference frame) whose orientation with respect to the local tangent frame (LTF_S) that is associated with a reference location in the source SRF, this method computes the vector in the local tangent frame (LTF_T) associated with the specified reference location in the target SRF.

LTF_S and LTF_T have a common origin. The output vector is computed by applying the composed orientation, from the orientation of LTF_S with respect to LTF_T with the source orientation, to the source vector. This method is equivalent to applying the orientation result from the transformOrientation method to the source vector. The SRF invoking this method is the target SRF.

Note:
The input/output arrays are of size 3.
Parameters:
src_ref_loc in : the source reference location (a coordinate in the source SRF) where the origin of the source local tangent frame (LTF_S) is located
src_ori in : the source orientation of some linear reference frame L with respect to LTF_S
src_vec in : the input vector in L
tgt_ref_loc out : the coordinate of the common reference location in the target SRF
tgt_vec out : the target vector in LTF_T
Returns:
valid region category for the target reference location


Member Data Documentation

SRM_Extended_Valid_Region_Params [] SRM.BaseSRF_3D._component_valid_region [protected]
 

Initial value:

        new SRM_Extended_Valid_Region_Params[3]
member data for the geodetic valid region


The documentation for this class was generated from the following file:
Spatial Reference Model Java API Version 4.4.0 - January 21, 2010
Copyright © 2010 SEDRIS Docs by Doxygen 1.3.2