1 #ifndef AbstractPlate_h 2 #define AbstractPlate_h 72 virtual QString
name()
const = 0;
93 virtual double area()
const = 0;
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:148
virtual SurfacePoint * point(const Latitude &lat, const Longitude &lon) const =0
Determine the intercept point of a lat/lon location for the plate.
Abstract interface to a TIN plate.
Definition: AbstractPlate.h:60
virtual Angle separationAngle(const NaifVector &raydir) const =0
Gets the separation angle.
virtual QString name() const =0
Gets the name of this Plate type.
Definition: AbstractPlate.cpp:59
virtual Distance maxRadius() const =0
Gets the maximum radius.
virtual Intercept * intercept(const NaifVertex &vertex, const NaifVector &raydir) const =0
Conpute the intercept point on a triangular plate.
virtual ~AbstractPlate()
Empty destructor for an AbstractPlate object.
Definition: AbstractPlate.cpp:50
virtual Distance minRadius() const =0
Gets the minimum radius.
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:63
Distance measurement, usually in meters.
Definition: Distance.h:47
TNT::Array1D< SpiceDouble > NaifVector
Namespace to contain type definitions of NAIF DSK fundamentals.
Definition: NaifDskApi.h:61
AbstractPlate()
Empty constructor for an AbstractPlate object.
Definition: AbstractPlate.cpp:43
This class is designed to encapsulate the concept of a Longitude.
Definition: Longitude.h:52
TNT::Array1D< SpiceDouble > NaifVertex
1-D Buffer[3]
Definition: NaifDskApi.h:62
Container for a intercept condition.
Definition: Intercept.h:51
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...
Definition: AbstractPlate.cpp:75
Defines an angle and provides unit conversions.
Definition: Angle.h:62
virtual NaifVector normal() const =0
Gets the normal.
virtual bool hasPoint(const Latitude &lat, const Longitude &lon) const =0
Determines the give lat/lon point intercept the triangular plate.
virtual double area() const =0
Gets the area of the plate.
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
virtual bool hasIntercept(const NaifVertex &vertex, const NaifVector &raydir) const =0
Determines if a look direction from a point intercepts the plate.
virtual AbstractPlate * clone() const =0
Returns a clone of the current plate.