1 #ifndef NaifDskPlateModel_h
2 #define NaifDskPlateModel_h
27 #include <QSharedPointer>
91 enum ErrAction { Throw,
106 class NaifDskDescriptor {
109 ~NaifDskDescriptor();
113 SpiceDLADescr m_dladsc;
115 SpiceDSKDescr m_dskdsc;
122 typedef QSharedPointer<NaifDskDescriptor> SharedNaifDskDescriptor;
123 SharedNaifDskDescriptor m_dsk;
125 NaifDskDescriptor *openDSK(
const QString &dskfile);
126 bool verify(
const bool &test,
const QString &errmsg,
127 const ErrAction &action = Throw)
const;
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:86
virtual ~NaifDskPlateModel()
Definition: NaifDskPlateModel.cpp:83
int size() const
Returns the number of plates in the DSK file - mostly for conformity.
Definition: NaifDskPlateModel.cpp:103
NaifTriangle plate(SpiceInt plateid) const
Retrieve the triangular plate identified by its ID.
Definition: NaifDskPlateModel.cpp:314
QString filename() const
Returns the nane of the NAIF DSK file.
Definition: NaifDskPlateModel.cpp:95
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:59
SurfacePoint * point(const Latitude &lat, const Longitude &lon) const
Get surface intersection for a lat/lon grid point.
Definition: NaifDskPlateModel.cpp:145
TNT::Array1D< SpiceDouble > NaifVector
Namespace to contain type definitions of NAIF DSK fundamentals.
Definition: NaifDskApi.h:64
SpiceInt plateIdOfIntercept(const NaifVertex &vertex, const NaifVector &raydir, NaifVertex &xpoint) const
Primary API to determine ray intercept from observer/look direction.
Definition: NaifDskPlateModel.cpp:260
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:65
NaifDskPlateModel * clone() const
SpiceInt numberPlates() const
Returns the number of plates in the model.
Definition: NaifDskPlateModel.cpp:110
Container for a intercept condition.
Definition: Intercept.h:51
NaifDskPlateModel()
Default empty constructor.
Definition: NaifDskPlateModel.cpp:68
bool isValid() const
Checks validity of the object.
Definition: NaifDskPlateModel.cpp:88
bool isPlateIdValid(const SpiceInt plateid) const
Determines if the plate ID is valid.
Definition: NaifDskPlateModel.cpp:237
Intercept * intercept(const NaifVertex &vertex, const NaifVector &raydir) const
Determine a target body intercept point from an observer and look direction.
Definition: NaifDskPlateModel.cpp:203
SpiceInt numberVertices() const
Returns the number of vertices in the plate model.
Definition: NaifDskPlateModel.cpp:118
Implementation interface API for NAIF's DSK plate model.
Definition: NaifDskPlateModel.h:59
TNT::Array2D< SpiceDouble > NaifTriangle
3-D triangle[3][3]
Definition: NaifDskApi.h:66