10#include "ShapeModel.h"
62 using Isis::ShapeModel::intersectSurface;
66 std::vector<double> lookDirection);
95 std::vector<double>
const& lookDirection,
97 double * intersectionPoint,
IO Handler for Isis Cubes.
Projection * m_demProj
The projection of the model.
Cube * m_demCube
The cube containing the model.
~DemShape()
Destroys the DemShape.
Interpolator * m_interp
Use bilinear interpolation from dem.
Portal * m_portal
Buffer used to read from the model.
double m_demValue
A value picked from the dem.
bool m_demValueFound
True if it was attempted to find a value in the DEM.
DemShape(Target *target, Pvl &pvl)
Construct a DemShape object.
double calcDemErrUpdateIntersection(std::vector< double > const &observerPos, std::vector< double > const &lookDirection, double t, double *intersectionPoint, bool &success)
Given a position along a ray, compute the difference between the radius at that position and the surf...
Distance localRadius(const Latitude &lat, const Longitude &lon)
Gets the radius from the DEM, if we have one.
double demScale()
Return the scale of the DEM shape, in pixels per degree.
double findDemValue()
Find a value in the DEM.
DemShape()
Construct a DemShape object.
Cube * demCube()
Returns the cube defining the shape model.
bool isDEM() const
Indicates that this shape model is from a DEM.
void calculateLocalNormal(QVector< double * > cornerNeighborPoints)
This method calculates the local surface normal of the current intersection point.
double m_pixPerDegree
Scale of DEM file in pixels per degree.
bool intersectSurface(std::vector< double > observerPos, std::vector< double > lookDirection)
Find the intersection point with the DEM.
Distance measurement, usually in meters.
This class is designed to encapsulate the concept of a Latitude.
This class is designed to encapsulate the concept of a Longitude.
Buffer for containing a two dimensional section of an image.
Base class for Map Projections.
ShapeModel()
Default constructor creates ShapeModel object, initializing name to an empty string,...
This class is used to create and store valid Isis targets.
This is free and unencumbered software released into the public domain.