|
Isis 3 Programmer Reference
|
1 #ifndef NaifDskPlateModel_h
2 #define NaifDskPlateModel_h
11 #include <QSharedPointer>
14 #include "NaifDskApi.h"
116 bool verify(
const bool &test,
const QString &errmsg,
bool verify(const bool &test, const QString &errmsg, const ErrAction &action=Throw) const
Convenience method for generalized error reporting.
SpiceInt m_vertices
Number of vertices defining the plate.
TNT::Array1D< SpiceDouble > NaifVertex
1-D Buffer[3]
This class is designed to encapsulate the concept of a Latitude.
NAIF DSK file descriptor.
SpiceDLADescr m_dladsc
The DLA descriptor of the DSK segment representing the target surface.
NaifTriangle plate(SpiceInt plateid) const
Retrieve the triangular plate identified by its ID.
SpiceInt numberVertices() const
Returns the number of vertices in the plate model.
SpiceInt plateIdOfIntercept(const NaifVertex &vertex, const NaifVector &raydir, NaifVertex &xpoint) const
Primary API to determine ray intercept from observer/look direction.
SpiceDSKDescr m_dskdsc
The DSK descriptor.
int size() const
Returns the number of plates in the DSK file - mostly for conformity.
QString m_dskfile
The NAIF DSK file representing this plate's shape model.
This class is designed to encapsulate the concept of a Longitude.
Intercept * intercept(const NaifVertex &vertex, const NaifVector &raydir) const
Determine a target body intercept point from an observer and look direction.
NaifDskPlateModel()
Default empty constructor.
QString filename() const
Returns the nane of the NAIF DSK file.
bool isValid() const
Checks validity of the object.
TNT::Array2D< SpiceDouble > NaifTriangle
3-D triangle[3][3]
QMutex m_mutex
Mutex for thread saftey.
NaifDskDescriptor * openDSK(const QString &dskfile)
Opens a valid NAIF DSK plate model file.
bool isPlateIdValid(const SpiceInt plateid) const
Determines if the plate ID is valid.
SharedNaifDskDescriptor m_dsk
Shared pointer to the NaifDskDescriptor for this plate.
@ NoThrow
Do not throw an exception if an error occurs.
@ Throw
Throw an exception if an error occurs.
Container for a intercept condition.
ErrAction
Enumeration to indicate whether to throw an exception if an error occurs.
SpiceInt m_plates
Number of Plates in the model.
SurfacePoint * makePoint(const NaifVertex &v) const
Construct and return a SurfacePoint pointer
Implementation interface API for NAIF's DSK plate model.
TNT::Array1D< SpiceDouble > NaifVector
Namespace to contain type definitions of NAIF DSK fundamentals.
SpiceInt m_handle
The DAS file handle of the DSK file.
SurfacePoint * point(const Latitude &lat, const Longitude &lon) const
Get surface intersection for a lat/lon grid point.
This class defines a body-fixed surface point.
This is free and unencumbered software released into the public domain.
SpiceInt numberPlates() const
Returns the number of plates in the model.