72 std::vector<double> lookDirection) {
88 if (observerPos[2] < 0.0)
93 nvc2pl_c(zvec, 0.0, &plane);
95 SpiceDouble position[3];
96 SpiceDouble lookvector[3];
98 position[0] = observerPos[0];
99 position[1] = observerPos[1];
100 position[2] = observerPos[2];
102 lookvector[0] = lookDirection[0];
103 lookvector[1] = lookDirection[1];
104 lookvector[2] = lookDirection[2];
108 inrypl_c(&position, &lookvector, &plane, &nxpts, xpt);
185 vsub_c((ConstSpiceDouble *) &sB[0], pB, psB);
186 unorm_c(psB, upsB, &dist);
200 double angle = vdot_c(n, upsB);
242 vsub_c((SpiceDouble *) &uB[0], pB, puB);
243 unorm_c(puB, upuB, &dist);
256 double angle = vdot_c((SpiceDouble *) &n[0], upuB);
288 double radius = sqrt(pB[0]*pB[0] + pB[1]*pB[1] + pB[2]*pB[2]);
bool isDEM() const
Indicates that this shape model is not from a DEM.
void setNormal(const std::vector< double >)
Sets the normal for the currect intersection point.
void calculateSurfaceNormal()
There is no implementation for this method.
Distance localRadius(const Latitude &lat, const Longitude &lon)
Gets the local radius for the given latitude/longitude coordinate.
This class is designed to encapsulate the concept of a Latitude.
The distance is being specified in kilometers.
SurfacePoint * surfaceIntersection() const
Returns the surface intersection for this ShapeModel.
void calculateLocalNormal(QVector< double *> cornerNeighborPoints)
There is no implementation for this method.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
Distance measurement, usually in meters.
double incidenceAngle(const std::vector< double > &uB)
Computes and returns incidence angle in degrees given the sun position.
void setHasIntersection(bool b)
Sets the flag to indicate whether this ShapeModel has an intersection.
This class is designed to encapsulate the concept of a Longitude.
bool intersectSurface(std::vector< double > observerPos, std::vector< double > lookDirection)
Find the intersection point.
PlaneShape()
Initialize the PlaneShape.
Container for cube-like labels.
This class is used to create and store valid Isis3 targets.
Define shapes and provide utilities for Isis3 targets.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
void calculateDefaultNormal()
There is no implementation for this method.
void FromNaifArray(const double naifValues[3])
A naif array is a c-style array of size 3.
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
Namespace for ISIS/Bullet specific routines.
void setName(QString name)
Sets the shape name.
const double RAD2DEG
Multiplier for converting from radians to degrees.
double kilometers() const
Get the displacement in kilometers.
double emissionAngle(const std::vector< double > &sB)
Computes and returns emission angle in degrees given the observer position.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.