Loading [MathJax]/jax/output/NativeMML/config.js
Isis Developer Reference
EllipsoidShape.h
Go to the documentation of this file.
1 #ifndef EllipsoidShape_h
2 #define EllipsoidShape_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include "ShapeModel.h"
11 
12 template<class T> class QVector;
13 
14 namespace Isis {
15  class Pvl;
16 
47  public:
49  EllipsoidShape(Target *target);
51 
54 
55  // Make parent functions visible
57 
59  bool intersectSurface(std::vector<double> observerPos,
60  std::vector<double> lookDirection);
61 
63  virtual void calculateDefaultNormal();
64 
65  // implement pure virtual method from ShapeModel class
66  bool isDEM() const;
67 
69  void calculateLocalNormal(QVector<double *> cornerNeighborPoints);
70 
73 
75  Distance localRadius(const Latitude &lat, const Longitude &lon);
76 
77  private:
78  };
79 };
80 
81 #endif
Isis::EllipsoidShape::localRadius
Distance localRadius(const Latitude &lat, const Longitude &lon)
Get the local radius for a point on the surface.
Definition: EllipsoidShape.cpp:144
EllipsoidShape.h
Isis::SurfacePoint::GetX
Displacement GetX() const
Definition: SurfacePoint.cpp:1436
Isis::Latitude
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:51
Isis::ShapeModel::surfaceIntersection
SurfacePoint * surfaceIntersection() const
Returns the surface intersection for this ShapeModel.
Definition: ShapeModel.cpp:358
ShapeModel.h
Isis::ShapeModel::targetRadii
std::vector< Distance > targetRadii() const
Returns the radii of the body in km.
Definition: ShapeModel.cpp:465
Isis::EllipsoidShape::calculateDefaultNormal
virtual void calculateDefaultNormal()
Calculate the default normal of the current intersection point.
Definition: EllipsoidShape.cpp:62
Isis::EllipsoidShape::intersectSurface
bool intersectSurface(std::vector< double > observerPos, std::vector< double > lookDirection)
Intersect the shape model.
Definition: EllipsoidShape.cpp:52
Longitude.h
NaifStatus.h
Isis::SurfacePoint::GetZ
Displacement GetZ() const
Definition: SurfacePoint.cpp:1450
Isis::EllipsoidShape::calculateSurfaceNormal
void calculateSurfaceNormal()
Calculate the surface normal of the current intersection point.
Definition: EllipsoidShape.cpp:71
Isis::NaifStatus::CheckErrors
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
Definition: NaifStatus.cpp:28
Isis::ShapeModel::setNormal
void setNormal(const std::vector< double >)
Sets the normal for the currect intersection point.
Definition: ShapeModel.cpp:487
Isis::ShapeModel::intersectSurface
virtual bool intersectSurface(std::vector< double > observerPos, std::vector< double > lookDirection)=0
IString.h
Isis::EllipsoidShape
Define shapes and provide utilities for ISIS targets.
Definition: EllipsoidShape.h:46
Isis::Distance
Distance measurement, usually in meters.
Definition: Distance.h:34
Isis::Longitude
This class is designed to encapsulate the concept of a Longitude.
Definition: Longitude.h:40
Isis::EllipsoidShape::~EllipsoidShape
~EllipsoidShape()
Destructor.
Definition: EllipsoidShape.h:53
Isis::Distance::Kilometers
@ Kilometers
The distance is being specified in kilometers.
Definition: Distance.h:45
Isis::ShapeModel::setName
void setName(QString name)
Sets the shape name.
Definition: ShapeModel.cpp:532
Latitude.h
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::EllipsoidShape::EllipsoidShape
EllipsoidShape()
Initialize the EllipsoidShape.
Definition: EllipsoidShape.cpp:44
SurfacePoint.h
Isis::ShapeModel::intersectEllipsoid
bool intersectEllipsoid(const std::vector< double > observerPosRelativeToTarget, const std::vector< double > &observerLookVectorToTarget)
Finds the intersection point on the ellipsoid model using the given position of the observer (spacecr...
Definition: ShapeModel.cpp:267
Isis::EllipsoidShape::calculateLocalNormal
void calculateLocalNormal(QVector< double * > cornerNeighborPoints)
Calculate the local surface normal of the current intersection point.
Definition: EllipsoidShape.cpp:108
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::ShapeModel::setHasNormal
void setHasNormal(bool status)
Sets the flag to indicate whether this ShapeModel has a surface normal.
Definition: ShapeModel.cpp:581
Isis::Displacement::kilometers
double kilometers() const
Get the displacement in kilometers.
Definition: Displacement.cpp:94
IException.h
Isis::IException::Programmer
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
std
Namespace for the standard library.
Isis::ShapeModel
Define shapes and provide utilities for Isis targets.
Definition: ShapeModel.h:62
Isis::ShapeModel::hasIntersection
bool hasIntersection()
Returns intersection status.
Definition: ShapeModel.cpp:368
Isis::IString
Adds specific functionality to C++ strings.
Definition: IString.h:165
Distance.h
QVector
This is free and unencumbered software released into the public domain.
Definition: Calculator.h:18
Isis::Target
This class is used to create and store valid Isis targets.
Definition: Target.h:63
Isis::EllipsoidShape::isDEM
bool isDEM() const
Indicates that this shape model is not from a DEM.
Definition: EllipsoidShape.cpp:84
Isis::SurfacePoint::GetY
Displacement GetY() const
Definition: SurfacePoint.cpp:1443
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::ShapeModel::normal
std::vector< double > normal()
Returns the local surface normal at the current intersection point.
Definition: ShapeModel.cpp:401
Isis::Angle::radians
double radians() const
Convert an angle to a double.
Definition: Angle.h:226

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 03/21/2022 06:50:44