Isis 3.0 Object Programmers' Reference |
Home |
Abstract interface to a TIN plate. More...
#include <AbstractPlate.h>
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 Intercept * | intercept (const NaifVertex &vertex, const NaifVector &raydir) const =0 |
virtual SurfacePoint * | point (const Latitude &lat, const Longitude &lon) const =0 |
virtual AbstractPlate * | clone () const =0 |
Protected Member Functions | |
AbstractPlate () | |
Empty constructor for an AbstractPlate object. | |
Intercept * | construct (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. | |
Private Member Functions | |
AbstractPlate (const AbstractPlate &plate) | |
AbstractPlate & | operator= (const AbstractPlate &plate) |
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.
2014-02-15 Kris Becker - Original Version
2015-03-08 Jeannie Backer - Added documentation and test. Added class to ISIS trunk. References #2035
Definition at line 59 of file AbstractPlate.h.
|
virtual |
Empty destructor for an AbstractPlate object.
Definition at line 51 of file AbstractPlate.cpp.
|
protected |
Empty constructor for an AbstractPlate object.
This constructor is protected.
Definition at line 43 of file AbstractPlate.cpp.
|
protected |
Construct an intercept from a clone of this plate as well as the given vertex, direction vector, and surface point.
vertex | Observer position |
raydir | Look direction |
ipoint | Surface point of the intercept location on the body |
Definition at line 77 of file AbstractPlate.cpp.
|
pure virtual |
Gets the name of this Plate type.
Implemented in Isis::TriangularPlate.
Definition at line 60 of file AbstractPlate.cpp.