Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

srm::BaseSRF_3D Class Reference

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

#include <BaseSRF.h>

Inheritance diagram for srm::BaseSRF_3D:

Inheritance graph
[legend]
Collaboration diagram for srm::BaseSRF_3D:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual bool isA (SRF_ClassType type) const
 Returns true if this SRF is of the given class type.

virtual Coord3DcreateCoordinate3D (SRM_Long_Float coord_comp1, SRM_Long_Float coord_comp2, SRM_Long_Float coord_comp3)=0
 Creates a 3D coordinate object.

virtual void freeCoordinate3D (Coord3D *coord)
 Frees a 3D coordinate object.

virtual void getCoordinate3DValues (const Coord3D &coord, SRM_Long_Float &coord_comp1, SRM_Long_Float &coord_comp2, SRM_Long_Float &coord_comp3) const
 Retrieves the 3D coordinate component values.

virtual SRM_Coordinate_Valid_Region changeCoordinate3DSRF (const Coord3D &src_coord, Coord3D &des_coord)
 Changes a coordinate's values to this SRF.

virtual void changeCoordinate3DArraySRF (Coord3D **src_coord_array, SRM_Integer_Positive *index, Coord3D **des_coord_array, SRM_Coordinate_Valid_Region *region_array)
 Changes an array of coordinate values to this SRF using tranformation object.

virtual SRM_Coordinate_Valid_Region changeCoordinate3DSRFObject (const Coord3D &src_coord, const SRM_ORM_Transformation_3D_Parameters hst, Coord3D &des_coord)
 Changes a coordinate's values to this SRF using tranformation object.

virtual void changeCoordinate3DArraySRFObject (Coord3D **src_coord_array, const SRM_ORM_Transformation_3D_Parameters hst, SRM_Integer_Positive *index, Coord3D **des_coord_array, SRM_Coordinate_Valid_Region *region_array)
 Changes an array of coordinate values to this SRF using tranformation object.

virtual void setValidRegion (const SRM_Integer component, const SRM_Interval_Type type, const SRM_Long_Float lower, const SRM_Long_Float upper)
 Set the Valid Region for this SRF.

virtual void setExtendedValidRegion (const SRM_Integer component, const SRM_Interval_Type type, const SRM_Long_Float extended_lower, const SRM_Long_Float lower, const SRM_Long_Float upper, const SRM_Long_Float extended_upper)
 Set the Extended Valid Region for this SRF.

virtual void getValidRegion (const SRM_Integer component, SRM_Interval_Type &type, SRM_Long_Float &lower, SRM_Long_Float &upper)
 Get the Valid Region for this SRF.

virtual void getExtendedValidRegion (const SRM_Integer component, SRM_Interval_Type &type, SRM_Long_Float &extended_lower, SRM_Long_Float &lower, SRM_Long_Float &upper, SRM_Long_Float &extended_upper)
 Get the Extended Valid Region for this SRF.

virtual DirectioncreateDirection (const Coord3D &ref_coord, const SRM_Vector_3D vec)
 Creates a direction object.

virtual DirectioncreateDirection (const Coord3D &ref_coord, const SRM_Long_Float vectorComp1, const SRM_Long_Float vectorComp2, const SRM_Long_Float vectorComp3)
 Creates a direction object.

virtual DirectioncreateDirection ()
 Creates a direction object.

virtual void freeDirection (Direction *direction)
 Frees a direction object.

virtual void getDirectionValues (const Direction &direction, Coord3D &ref_coord, SRM_Vector_3D vec) const
 Retrieves the direction component values.

virtual SRM_Coordinate_Valid_Region changeDirectionSRF (const Direction &src_dir, Direction &des_dir)
 Changes a direction's values to this SRF.

void changeDirectionArraySRF (Direction **src_direction_array, SRM_Integer_Positive *index, Direction **des_direction_array, SRM_Coordinate_Valid_Region *region_array)
 Changes a direction's values to this SRF using tranformation object.

virtual SRM_Coordinate_Valid_Region changeDirectionSRFObject (const Direction &src_dir, const SRM_ORM_Transformation_3D_Parameters hst, Direction &des_dir)
 Changes a direction's values to this SRF using tranformation object.

void changeDirectionArraySRFObject (Direction **src_direction_array, const SRM_ORM_Transformation_3D_Parameters hst, SRM_Integer_Positive *index, Direction **des_direction_array, SRM_Coordinate_Valid_Region *region_array)
 Changes a direction's values to this SRF using tranformation object.

virtual SRM_Coordinate_Valid_Region checkDirection (const Direction &direction)
 Check a direction in this SRF.

void computeSRFOrientation (const Coord3D &src_ref_loc, const Coord3D &tgt_ref_loc, Orientation &out_ori)
 This method sets the values of the Orientation object representing the orientation of the source srf (at the source reference location) with respect to this (the target) srf (at the target reference location).

void getLocalTangentFrameSRFParameters (const Coord3D &ref_loc, SRM_LCE_3D_Parameters &ltf)
 Computes the parameters corresponding to the local tangent frame at the input reference location.

virtual SRF_LococentricEuclidean3DcreateLococentricEuclidean3DSRF (const Coord3D &lococentre, const Direction &primary_axis, const Direction &secondary_axis)
 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.

void transformOrientation (const Coord3D &src_ref_loc, Orientation &src_ori, const Coord3D &tgt_ref_loc, Orientation &tgt_ori)
 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 transformOrientationCommonOrigin (const Coord3D &src_ref_loc, Orientation &src_ori, Coord3D &tgt_ref_loc, Orientation &tgt_ori)
 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 (const Coord3D &src_ref_loc, Orientation &src_ori, const SRM_Vector_3D &input_vec, const Coord3D &tgt_ref_loc, SRM_Vector_3D &tgt_vec)
 Given a vector in a body frame (or in general any linear reference frame) and given the orientation, src_ori, of the body frame with respect to LTF_S, this method computes the vector representation of the vector with respect to LTF_T, where LTF_S is the local tangent frame associated with the source SRF at the given source reference location, and LTF_T is the local tangent frame associated with the target SRF at the given target reference location.

SRM_Coordinate_Valid_Region transformVectorInBodyFrameCommonOrigin (const Coord3D &src_ref_loc, Orientation &src_ori, const SRM_Vector_3D &input_vec, Coord3D &tgt_ref_loc, SRM_Vector_3D &tgt_vec)
 Given a vector in a body frame (or in general any linear reference frame) and given the orientation, src_ori, of the body frame with respect to LTF_S, this method computes the vector representation of the vector with respect to LTF_T, where LTF_S is the local tangent frame associated with the source SRF at the given source reference location, and LTF_T is the local tangent frame associated with the target SRF at the given target reference location.

void transformVector (const Coord3D &src_ref_loc, const SRM_Vector_3D &src_vec, const Coord3D &tgt_ref_loc, SRM_Vector_3D &tgt_vec)
 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 tangent SRF.

SRM_Coordinate_Valid_Region transformVectorCommonOrigin (const Coord3D &src_ref_loc, const SRM_Vector_3D &src_vec, Coord3D &tgt_ref_loc, SRM_Vector_3D &tgt_vec)
 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.


Static Public Member Functions

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

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

SRM_Long_Float calculateEuclideanDistance (const Coord3D &coord1, const Coord3D &coord2)
 Returns the euclidean distance (in metres) between two 3D coordinates.


Protected Member Functions

 BaseSRF_3D (void *impl)
 No stack allocation.

BaseSRF_3Doperator= (const BaseSRF_3D &)
 No copy constructor.

virtual ~BaseSRF_3D ()
 Use release().


Detailed Description

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

SRFs are allocated by the API, and when no longer needed they should be released by calling the release() method.

Author:
Warren Macchi, David Shen
See also:
BaseSRF, BaseSRF_2D

Definition at line 629 of file BaseSRF.h.


Member Function Documentation

SRM_Long_Float srm::BaseSRF_3D::calculateEuclideanDistance const Coord3D coord1,
const Coord3D coord2
[static]
 

Returns the euclidean distance (in metres) between two 3D coordinates.

Note:
The input coordinates can be created from any SRF.
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_3D::changeCoordinate3DArraySRF Coord3D **  src_coord_array,
SRM_Integer_Positive index,
Coord3D **  des_coord_array,
SRM_Coordinate_Valid_Region region_array
[virtual]
 

Changes an array of coordinate values to this SRF using tranformation object.

Note:
The destination coordinates must have been created using this SRF.

The source and destination arrays must be of same size.

All the coordinates in an array must be associated with the same SRF.

When an exception is raised, the index parameter is set to the offending coordinate.

Parameters:
src_coord_array in: the array of source coordinates in some other SRF
index in/out: (in) the array length/ (out) the array index of the offending coordinate
des_coord_array out: the array of destination coordinate in this SRF
region_array out: the array of valid regions associated with the destination coordinate
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_3D::changeCoordinate3DArraySRFObject Coord3D **  src_coord_array,
const SRM_ORM_Transformation_3D_Parameters  hst,
SRM_Integer_Positive index,
Coord3D **  des_coord_array,
SRM_Coordinate_Valid_Region region_array
[virtual]
 

Changes an array of coordinate values to this SRF using tranformation object.

Note:
The destination coordinates must have been created using this SRF.

The source and destination arrays must be of same size.

All the coordinates in an array must be associated with the same SRF.

When an exception is raised, the index parameter is set to the offending coordinate.

Parameters:
src_coord_array in: the array of source coordinates in some other SRF
hst in: the ORM 3D transformation
index in/out: (in) the array length/ (out) the array index of the offending coordinate
des_coord_array out: the array of destination coordinate in this SRF
region_array out: the array of valid regions associated with the destination coordinate
Exceptions:
This method throws srm::Exception

virtual SRM_Coordinate_Valid_Region srm::BaseSRF_3D::changeCoordinate3DSRF const Coord3D src_coord,
Coord3D des_coord
[virtual]
 

Changes a coordinate's values to this SRF.

Note:
The destination coordinate must have been created using this SRF.
Parameters:
src_coord in: the source coordinate in some other SRF
des_coord in/out: the destination coordinate in this SRF
Returns:
validity code for the destination coordinate
Exceptions:
This method throws srm::Exception

Reimplemented in srm::SRF_Celestiocentric, srm::SRF_Celestiodetic, srm::SRF_LocalTangentSpaceEuclidean, srm::SRF_LococentricEuclidean3D, srm::SRF_Mercator, srm::SRF_PolarStereographic, and srm::SRF_TransverseMercator.

virtual SRM_Coordinate_Valid_Region srm::BaseSRF_3D::changeCoordinate3DSRFObject const Coord3D src_coord,
const SRM_ORM_Transformation_3D_Parameters  hst,
Coord3D des_coord
[virtual]
 

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

Note:
The destination 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 strictly greater than -1.0.

Parameters:
src_coord in: the source coordinate in some other SRF
hst in: the ORM 3D transformation
des_coord out: the destination coordinate in this SRF
Returns:
validity code for the destination coordinate
Exceptions:
This method throws srm::Exception

void srm::BaseSRF_3D::changeDirectionArraySRF Direction **  src_direction_array,
SRM_Integer_Positive index,
Direction **  des_direction_array,
SRM_Coordinate_Valid_Region region_array
 

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

Note:
The destination directions must have been created using this SRF.

The source and destination arrays must be of same size.

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

When an exception is raised, the index parameter is set to the offending direction.

Parameters:
src_direction_array in: the array of source direction in some other SRF
index in/out: (in) the array length/ (out) the array index of the offending direction
des_direction_array out: the array of destination direction in this SRF
region_array out: the array of valid regions associated with the destination direction
Exceptions:
This method throws srm::Exception

void srm::BaseSRF_3D::changeDirectionArraySRFObject Direction **  src_direction_array,
const SRM_ORM_Transformation_3D_Parameters  hst,
SRM_Integer_Positive index,
Direction **  des_direction_array,
SRM_Coordinate_Valid_Region region_array
 

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

Note:
The destination directions must have been created using this SRF.

The source and destination arrays must be of same size.

All the directions in an array must be associated with the same 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 strictly greater than -1.0.

When an exception is raised, the index parameter is set to the offending direction.

Parameters:
src_direction_array in: the array of source direction in some other SRF
hst in: the ORM 3D transformation
index in/out: (in) the array length/ (out) the array index of the offending direction
des_direction_array out: the array of destination direction in this SRF
region_array out: the array of valid regions associated with the destination direction
Exceptions:
This method throws srm::Exception

virtual SRM_Coordinate_Valid_Region srm::BaseSRF_3D::changeDirectionSRF const Direction src_dir,
Direction des_dir
[virtual]
 

Changes a direction's values to this SRF.

Note:
The destination direction must have been created using this SRF.
Parameters:
src_dir in: the source direction in some other SRF
des_dir out: the destination direction in this SRF
Returns:
valid region category for the reference location associated with the destination direction
Exceptions:
This method throws srm::Exception

virtual SRM_Coordinate_Valid_Region srm::BaseSRF_3D::changeDirectionSRFObject const Direction src_dir,
const SRM_ORM_Transformation_3D_Parameters  hst,
Direction des_dir
[virtual]
 

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

Note:
The destination 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 strictly greater than -1.0.

Parameters:
src_dir in: the source direction in some other SRF
hst in: the ORM 3D transformation
des_dir out: the destination direction in this SRF
Returns:
valid region category for the reference location associated with the destination direction
Exceptions:
This method throws srm::Exception

void srm::BaseSRF_3D::computeSRFOrientation const Coord3D src_ref_loc,
const Coord3D tgt_ref_loc,
Orientation out_ori
 

This method sets the values of the Orientation object representing the orientation of the source srf (at the source reference location) with respect to this (the target) srf (at the target reference location).

The Orientation is computed as the cosine matrix of the source local tangent frame (at the source reference location) with respect to the target local tangent frame (at the target reference location).

Note:
The target reference location must have been created using this SRF.

The output orientation (out_ori) is an instance of the one of the concrete subclasses of class Orientation.

Parameters:
src_ref_loc in : the source reference point
tgt_ref_loc in : the target reference point
out_ori out : the orientation whose values are set by this method.
Exceptions:
This method throws srm::Exception

virtual Coord3D* srm::BaseSRF_3D::createCoordinate3D SRM_Long_Float  coord_comp1,
SRM_Long_Float  coord_comp2,
SRM_Long_Float  coord_comp3
[pure virtual]
 

Creates a 3D coordinate object.

See also:
freeCoordinate3D()
Returns:
a 3D coordinate object
Exceptions:
This method throws srm::Exception

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.

virtual Direction* srm::BaseSRF_3D::createDirection  )  [virtual]
 

Creates a direction object.

Returns:
a direction object
Exceptions:
This method throws srm::Exception
Note:
The returned "default" Direction object is intended to be used as the destination direction for the changeDirectionSRF method. The "default" reference location values cannot be changed except through that method.

virtual Direction* srm::BaseSRF_3D::createDirection const Coord3D ref_coord,
const SRM_Long_Float  vectorComp1,
const SRM_Long_Float  vectorComp2,
const SRM_Long_Float  vectorComp3
[virtual]
 

Creates a direction object.

Returns:
a direction object
Exceptions:
This method throws srm::Exception

virtual Direction* srm::BaseSRF_3D::createDirection const Coord3D ref_coord,
const SRM_Vector_3D  vec
[virtual]
 

Creates a direction object.

Returns:
a direction object
Exceptions:
This method throws srm::Exception

virtual SRF_LococentricEuclidean3D* srm::BaseSRF_3D::createLococentricEuclidean3DSRF const Coord3D lococentre,
const Direction primary_axis,
const Direction secondary_axis
[virtual]
 

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

virtual void srm::BaseSRF_3D::freeCoordinate3D Coord3D coord  )  [virtual]
 

Frees a 3D coordinate object.

Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_3D::freeDirection Direction direction  )  [virtual]
 

Frees a direction object.

Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_3D::getCoordinate3DValues const Coord3D coord,
SRM_Long_Float coord_comp1,
SRM_Long_Float coord_comp2,
SRM_Long_Float coord_comp3
const [virtual]
 

Retrieves the 3D coordinate component values.

Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_3D::getDirectionValues const Direction direction,
Coord3D ref_coord,
SRM_Vector_3D  vec
const [virtual]
 

Retrieves the direction component values.

Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_3D::getExtendedValidRegion const SRM_Integer  component,
SRM_Interval_Type type,
SRM_Long_Float extended_lower,
SRM_Long_Float lower,
SRM_Long_Float upper,
SRM_Long_Float extended_upper
[virtual]
 

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)
type out: the type of interval
extended_lower out: the extended lower value of the interval
lower out: the lower value of the interval
upper out: the upper value of the interval
extended_upper out: the extended_upper value of the interval
Exceptions:
This method throws srm::Exception

void srm::BaseSRF_3D::getLocalTangentFrameSRFParameters const Coord3D ref_loc,
SRM_LCE_3D_Parameters ltf
 

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

Parameters:
ref_loc in : the reference location
ltf out : the parameters for the local tangent frame, which are the parameters for the Lococentric Euclidean 3D SRF at the reference coordinate
Exceptions:
This method throws srm::Exception

BaseSRF_3D* srm::BaseSRF_3D::getNaturalSRFSetMember Coord3D src_coord,
SRM_ORM_Code  orm_dst,
SRM_RT_Code  rt_dst,
SRM_SRFS_Code  tgt_srfs
[static]
 

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

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
Exceptions:
This method throws srm::Exception

SRM_SRFS_Code_Info srm::BaseSRF_3D::getNaturalSRFSetMemberCode const Coord3D src_coord,
SRM_ORM_Code  orm_dst,
SRM_RT_Code  rt_dst,
SRM_SRFS_Code  tgt_srfs
[static]
 

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

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
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_3D::getValidRegion const SRM_Integer  component,
SRM_Interval_Type type,
SRM_Long_Float lower,
SRM_Long_Float upper
[virtual]
 

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)
type out: the type of interval
lower out: the lower value of the interval
upper out: the upper value of the interval
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_3D::setExtendedValidRegion const SRM_Integer  component,
const SRM_Interval_Type  type,
const SRM_Long_Float  extended_lower,
const SRM_Long_Float  lower,
const SRM_Long_Float  upper,
const SRM_Long_Float  extended_upper
[virtual]
 

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
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_3D::setValidRegion const SRM_Integer  component,
const SRM_Interval_Type  type,
const SRM_Long_Float  lower,
const SRM_Long_Float  upper
[virtual]
 

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
Exceptions:
This method throws srm::Exception

void srm::BaseSRF_3D::transformOrientation const Coord3D src_ref_loc,
Orientation src_ori,
const Coord3D tgt_ref_loc,
Orientation tgt_ori
 

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
Exceptions:
This method throws srm::Exception

SRM_Coordinate_Valid_Region srm::BaseSRF_3D::transformOrientationCommonOrigin const Coord3D src_ref_loc,
Orientation src_ori,
Coord3D tgt_ref_loc,
Orientation tgt_ori
 

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
Exceptions:
This method throws srm::Exception

void srm::BaseSRF_3D::transformVector const Coord3D src_ref_loc,
const SRM_Vector_3D src_vec,
const Coord3D tgt_ref_loc,
SRM_Vector_3D tgt_vec
 

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 tangent 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.

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
Exceptions:
This method throws srm::Exception

SRM_Coordinate_Valid_Region srm::BaseSRF_3D::transformVectorCommonOrigin const Coord3D src_ref_loc,
const SRM_Vector_3D src_vec,
Coord3D tgt_ref_loc,
SRM_Vector_3D tgt_vec
 

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.

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
Exceptions:
This method throws srm::Exception

void srm::BaseSRF_3D::transformVectorInBodyFrame const Coord3D src_ref_loc,
Orientation src_ori,
const SRM_Vector_3D input_vec,
const Coord3D tgt_ref_loc,
SRM_Vector_3D tgt_vec
 

Given a vector in a body frame (or in general any linear reference frame) and given the orientation, src_ori, of the body frame with respect to LTF_S, this method computes the vector representation of the vector with respect to LTF_T, where LTF_S is the local tangent frame associated with the source SRF at the given source reference location, and LTF_T is the local tangent frame associated with the target SRF at the given target reference location.

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.

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
input_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
Exceptions:
This method throws srm::Exception

SRM_Coordinate_Valid_Region srm::BaseSRF_3D::transformVectorInBodyFrameCommonOrigin const Coord3D src_ref_loc,
Orientation src_ori,
const SRM_Vector_3D input_vec,
Coord3D tgt_ref_loc,
SRM_Vector_3D tgt_vec
 

Given a vector in a body frame (or in general any linear reference frame) and given the orientation, src_ori, of the body frame with respect to LTF_S, this method computes the vector representation of the vector with respect to LTF_T, where LTF_S is the local tangent frame associated with the source SRF at the given source reference location, and LTF_T is the local tangent frame associated with the target SRF at the given target reference location.

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.

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
input_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
Exceptions:
This method throws srm::Exception


The documentation for this class was generated from the following file:
Spatial Reference Model C++ API Version 4.4 - December 7, 2009
Copyright © 2009 SEDRIS Docs by Doxygen 1.3.2