Isis 3 Developer Reference
EllipsoidShape.h
Go to the documentation of this file.
1 #ifndef EllipsoidShape_h
2 #define EllipsoidShape_h
3 
25 #include "ShapeModel.h"
26 
27 template<class T> class QVector;
28 
29 namespace Isis {
30  class Pvl;
31 
62  public:
64  EllipsoidShape(Target *target);
66 
69 
70  // Make parent functions visible
72 
74  bool intersectSurface(std::vector<double> observerPos,
75  std::vector<double> lookDirection);
76 
78  virtual void calculateDefaultNormal();
79 
80  // implement pure virtual method from ShapeModel class
81  bool isDEM() const;
82 
84  void calculateLocalNormal(QVector<double *> cornerNeighborPoints);
85 
88 
90  Distance localRadius(const Latitude &lat, const Longitude &lon);
91 
92  private:
93  };
94 };
95 
96 #endif
~EllipsoidShape()
Destructor.
Definition: EllipsoidShape.h:68
void calculateSurfaceNormal()
Calculate the surface normal of the current intersection point.
Definition: EllipsoidShape.cpp:65
virtual void calculateDefaultNormal()
Calculate the default normal of the current intersection point.
Definition: EllipsoidShape.cpp:56
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:63
Define shapes and provide utilities for Isis3 targets.
Definition: EllipsoidShape.h:61
Distance measurement, usually in meters.
Definition: Distance.h:47
This class is designed to encapsulate the concept of a Longitude.
Definition: Longitude.h:52
EllipsoidShape()
Initialize the EllipsoidShape.
Definition: EllipsoidShape.cpp:38
virtual bool intersectSurface(std::vector< double > observerPos, std::vector< double > lookDirection)=0
Distance localRadius(const Latitude &lat, const Longitude &lon)
Get the local radius for a point on the surface.
Definition: EllipsoidShape.cpp:138
bool isDEM() const
Indicates that this shape model is not from a DEM.
Definition: EllipsoidShape.cpp:78
This class is used to create and store valid Isis3 targets.
Definition: Target.h:76
Define shapes and provide utilities for Isis3 targets.
Definition: ShapeModel.h:78
Definition: Calculator.h:33
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
bool intersectSurface(std::vector< double > observerPos, std::vector< double > lookDirection)
Intersect the shape model.
Definition: EllipsoidShape.cpp:46
void calculateLocalNormal(QVector< double *> cornerNeighborPoints)
Calculate the local surface normal of the current intersection point.
Definition: EllipsoidShape.cpp:102