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

srm::BaseSRF_WithTangentPlaneSurface Class Reference

The BaseSRF_WithTangentPlaneSurface abstract class is the base class for the 3D SRFs with tangent plane surfaces. More...

#include <BaseSRF.h>

Inheritance diagram for srm::BaseSRF_WithTangentPlaneSurface:

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

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 CoordSurfcreateSurfaceCoordinate (SRM_Long_Float coord_surf_comp1, SRM_Long_Float coord_surf_comp2)=0
 Creates a surface coordinate object.

virtual void getSurfaceCoordinateValues (const CoordSurf &coord_surf, SRM_Long_Float &coord_surf_comp1, SRM_Long_Float &coord_surf_comp2) const
 Retrieves a coordinate surface component values.

virtual void freeSurfaceCoordinate (CoordSurf *coord_surf)
 Frees a surface coordinate object.

virtual void getAssociatedSurfaceCoordinate (const Coord3D &coord, CoordSurf &on_surface_coord)
 Returns a surface coordinate associated with a 3D coordinate.

virtual void getPromotedSurfaceCoordinate (const CoordSurf &surf_coord, Coord3D &three_d_coord)
 Returns a 3D coordinate representing the same location as specified by a surface coordinate.


Static Public Member Functions

SRM_Long_Float calculateEuclideanDistance (const CoordSurf &coord1, const CoordSurf &coord2)
 Returns the euclidean distance (in metres) between two surface coordinates.


Protected Member Functions

 BaseSRF_WithTangentPlaneSurface (void *impl)
 No stack allocation.

BaseSRF_WithTangentPlaneSurfaceoperator= (const BaseSRF &)
 No copy constructor.

virtual ~BaseSRF_WithTangentPlaneSurface ()
 Use release().


Detailed Description

The BaseSRF_WithTangentPlaneSurface abstract class is the base class for the 3D SRFs with tangent plane surfaces.

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

Author:
See also:
BaseSRF_3D, BaseSRF

Definition at line 933 of file BaseSRF.h.


Member Function Documentation

SRM_Long_Float srm::BaseSRF_WithTangentPlaneSurface::calculateEuclideanDistance const CoordSurf coord1,
const CoordSurf coord2
[static]
 

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

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

virtual CoordSurf* srm::BaseSRF_WithTangentPlaneSurface::createSurfaceCoordinate SRM_Long_Float  coord_surf_comp1,
SRM_Long_Float  coord_surf_comp2
[pure virtual]
 

Creates a surface coordinate object.

Exceptions:
This method throws srm::Exception

Implemented in srm::SRF_LocalTangentSpaceAzimuthalSpherical, srm::SRF_LocalTangentSpaceCylindrical, and srm::SRF_LocalTangentSpaceEuclidean.

virtual void srm::BaseSRF_WithTangentPlaneSurface::freeSurfaceCoordinate CoordSurf coord_surf  )  [virtual]
 

Frees a surface coordinate object.

Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_WithTangentPlaneSurface::getAssociatedSurfaceCoordinate const Coord3D coord,
CoordSurf on_surface_coord
[virtual]
 

Returns a surface coordinate associated with a 3D coordinate.

Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_WithTangentPlaneSurface::getPromotedSurfaceCoordinate const CoordSurf surf_coord,
Coord3D three_d_coord
[virtual]
 

Returns a 3D coordinate representing the same location as specified by a surface coordinate.

Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_WithTangentPlaneSurface::getSurfaceCoordinateValues const CoordSurf coord_surf,
SRM_Long_Float coord_surf_comp1,
SRM_Long_Float coord_surf_comp2
const [virtual]
 

Retrieves a coordinate surface component values.

Exceptions:
This method throws srm::Exception


The documentation for this class was generated from the following file:
Spatial Reference Model C++ API Version 4.1 - 26 Jun 2006
Copyright © 2006 SEDRIS Docs by Doxygen 1.3.2