USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::AbstractPlate Class Referenceabstract

Abstract interface to a TIN plate. More...

#include <AbstractPlate.h>

Inherited by Isis::TriangularPlate.

Public Member Functions

virtual ~AbstractPlate ()
 Empty destructor for an AbstractPlate object.
 
virtual QString name () const =0
 Gets the name of this Plate type.
 
virtual Distance minRadius () const =0
 
virtual Distance maxRadius () const =0
 
virtual double area () const =0
 
virtual NaifVector normal () const =0
 
virtual Angle separationAngle (const NaifVector &raydir) const =0
 
virtual bool hasIntercept (const NaifVertex &vertex, const NaifVector &raydir) const =0
 
virtual bool hasPoint (const Latitude &lat, const Longitude &lon) const =0
 
virtual Interceptintercept (const NaifVertex &vertex, const NaifVector &raydir) const =0
 
virtual SurfacePointpoint (const Latitude &lat, const Longitude &lon) const =0
 
virtual AbstractPlateclone () const =0
 

Protected Member Functions

 AbstractPlate ()
 Empty constructor for an AbstractPlate object.
 
Interceptconstruct (const NaifVertex &vertex, const NaifVector &raydir, SurfacePoint *ipoint) const
 Construct an intercept from a clone of this plate as well as the given vertex, direction vector, and surface point.
 

Detailed Description

Abstract interface to a TIN plate.

This abstract class defines the interface for triangular plate. The plate is assumed to be a set of 3 body-fixed vertex points that describe a portion of the surface digital elevation model (DEM).

The interface allows for repeated queries (e.g., ray intersection, point containment) of the plate represented by the object containing the plate.

This class is not directly instantiable but is typically provided by a distinct plate model implementation (e.g., NAIF DSK).

This class can be cloned but not copied directly.

Author
2014-02-25 Kris Becker

Constructor & Destructor Documentation

Isis::AbstractPlate::~AbstractPlate ( )
virtual

Empty destructor for an AbstractPlate object.

Isis::AbstractPlate::AbstractPlate ( )
protected

Empty constructor for an AbstractPlate object.

This constructor is protected.

Member Function Documentation

virtual double Isis::AbstractPlate::area ( ) const
pure virtual

Implemented in Isis::TriangularPlate.

virtual AbstractPlate* Isis::AbstractPlate::clone ( ) const
pure virtual

Implemented in Isis::TriangularPlate.

Referenced by construct().

Intercept * Isis::AbstractPlate::construct ( const NaifVertex vertex,
const NaifVector raydir,
SurfacePoint ipoint 
) const
protected

Construct an intercept from a clone of this plate as well as the given vertex, direction vector, and surface point.

Parameters
vertexObserver position
raydirLook direction
ipointSurface point of the intercept location on the body
Returns
Intercept * A pointer to an intercept constructed with the vertex, raydir, ipoint and clone of this AbstractPlate.

References clone().

virtual bool Isis::AbstractPlate::hasIntercept ( const NaifVertex vertex,
const NaifVector raydir 
) const
pure virtual

Implemented in Isis::TriangularPlate.

virtual bool Isis::AbstractPlate::hasPoint ( const Latitude lat,
const Longitude lon 
) const
pure virtual

Implemented in Isis::TriangularPlate.

virtual Intercept* Isis::AbstractPlate::intercept ( const NaifVertex vertex,
const NaifVector raydir 
) const
pure virtual

Implemented in Isis::TriangularPlate.

virtual Distance Isis::AbstractPlate::maxRadius ( ) const
pure virtual

Implemented in Isis::TriangularPlate.

virtual Distance Isis::AbstractPlate::minRadius ( ) const
pure virtual

Implemented in Isis::TriangularPlate.

QString Isis::AbstractPlate::name ( ) const
pure virtual

Gets the name of this Plate type.

Returns
Then name of this plate, "AbstractPlate"

Implemented in Isis::TriangularPlate.

virtual NaifVector Isis::AbstractPlate::normal ( ) const
pure virtual

Implemented in Isis::TriangularPlate.

virtual SurfacePoint* Isis::AbstractPlate::point ( const Latitude lat,
const Longitude lon 
) const
pure virtual

Implemented in Isis::TriangularPlate.

virtual Angle Isis::AbstractPlate::separationAngle ( const NaifVector raydir) const
pure virtual

Implemented in Isis::TriangularPlate.


The documentation for this class was generated from the following files: