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]);
void setNormal(const std::vector< double >)
Sets the normal for the currect intersection point.
void calculateLocalNormal(QVector< double * > cornerNeighborPoints)
There is no implementation for this method.
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.
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.
double kilometers() const
Get the displacement in kilometers.
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.
void setName(QString name)
Sets the shape name.
double emissionAngle(const std::vector< double > &sB)
Computes and returns emission angle in degrees given the observer position.
const double RAD2DEG(57.29577951308232087679815481)
Multiplier for converting from radians to degrees.
bool isDEM() const
Indicates that this shape model is not from a DEM.
SurfacePoint * surfaceIntersection() const
Returns the surface intersection for this ShapeModel.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.