Isis Developer Reference
Isis::Intercept Class Reference

Container for a intercept condition. More...

#include <Intercept.h>

Collaboration diagram for Isis::Intercept:
Collaboration graph

Public Member Functions

 Intercept ()
 Default empty constructor. More...
 
 Intercept (const NaifVertex &observer, const NaifVector &raydir, SurfacePoint *ipoint, AbstractPlate *shape)
 Constructor of predetermined intercept point. More...
 
virtual ~Intercept ()
 Empty destructor. More...
 
bool isValid () const
 This method tests the vailidty of the intercept point. More...
 
const NaifVertexobserver () const
 Accessor for the observer position of the intercept. More...
 
const NaifVectorlookDirectionRay () const
 Accessor for the look direction of the intercept. More...
 
SurfacePoint location () const
 Returns the location of the intercept location on the shape. More...
 
NaifVector normal () const
 Gets the normal vector to the shape for this plate. More...
 
Angle emission () const
 Compute the emission of the intercept point from the observer. More...
 
Angle separationAngle (const NaifVector &raydir) const
 Returns the separation angle of the observer and the plate normal. More...
 
const AbstractPlateshape () const
 Access the plate for this intercept. More...
 

Detailed Description

Container for a intercept condition.

This class is intended to contain all the necessary elements of an observer with a look direction and intercept point on an abtract shape. If efficient, reintrant, thread safe memory management elements (e.g., TNT) are used for the types, this can be used in threaded environments.

Author
2012-12-05 Kris Becker

Constructor & Destructor Documentation

◆ Intercept() [1/2]

Isis::Intercept::Intercept ( )

Default empty constructor.

◆ Intercept() [2/2]

Isis::Intercept::Intercept ( const NaifVertex observer,
const NaifVector raydir,
SurfacePoint ipoint,
AbstractPlate shape 
)

Constructor of predetermined intercept point.

This constructor provides all the elements that comprise an observer, look direction, intercept point and the shape it intersects. This is well suited for plates (TIN) intercept senarios.

Parameters
observerLocation of observer in body fixed position
raydirLook direction of observer presumably at the target body
ipointSurface point of the intercept location on the body
shapeShape of the intercept point

◆ ~Intercept()

Isis::Intercept::~Intercept ( )
virtual

Empty destructor.

Member Function Documentation

◆ emission()

Angle Isis::Intercept::emission ( ) const

Compute the emission of the intercept point from the observer.

This method computes the emission angle from the observer to the plate intercept point if the representation of the observer, look direction and intercept point are valid.

Returns
Angle Returns the emission angle as computed from the observer given as determine from the intercept point

References isValid(), and separationAngle().

◆ isValid()

bool Isis::Intercept::isValid ( ) const

This method tests the vailidty of the intercept point.

A point is invalid if the intercept point is null, if the shape is null, or if either the observer position or look direction vector is not size 3.

Returns
bool Indicates whether this object is valid.

References Isis::validate().

Referenced by emission(), location(), normal(), and separationAngle().

◆ location()

SurfacePoint Isis::Intercept::location ( ) const

Returns the location of the intercept location on the shape.

This method returns the point of intercept from the observer and a given look direction from the perspective of the observer.

Returns
SurfacePoint Intercept point from the observer and look direction

References isValid().

◆ lookDirectionRay()

const NaifVector & Isis::Intercept::lookDirectionRay ( ) const

Accessor for the look direction of the intercept.

Returns
NaifVector A 3D ray representing the look direction of the observer in body fixed coordinates.

◆ normal()

NaifVector Isis::Intercept::normal ( ) const

Gets the normal vector to the shape for this plate.

Returns
NaifVector A 3D ray representing the normal direction at the intercept point in body fixed coordinates.

References isValid().

◆ observer()

const NaifVertex & Isis::Intercept::observer ( ) const

Accessor for the observer position of the intercept.

Returns
NaifVertex A 3D point representing the position of the observer in body fixed coordinates

◆ separationAngle()

Angle Isis::Intercept::separationAngle ( const NaifVector raydir) const

Returns the separation angle of the observer and the plate normal.

This method computes the seperation between the look direction (from the observer) and the plate normal if the object contains a valid intercept point.

Parameters
raydirLook direction to compute the separation angle between it and the plate normal.
Returns
Angle Angle of separation

References isValid().

Referenced by emission().

◆ shape()

const AbstractPlate * Isis::Intercept::shape ( ) const

Access the plate for this intercept.

NOTE: A null pointer may be returned if this Intercept was constructed without a shape.

Returns
NaifVector A pointer to the AbstractPlate associated with this intercept.

The documentation for this class was generated from the following files: