Isis Developer Reference
Isis::Target Class Reference

This class is used to create and store valid Isis targets. More...

#include <Target.h>

Collaboration diagram for Isis::Target:
Collaboration graph

Public Member Functions

 Target (Spice *spice, Pvl &label)
 Constructs a Target object and loads target information.
 
 Target (Pvl &label)
 Construct a Target without SPICE data.
 
 Target ()
 Constructs an empty Target object.
 
 ~Target ()
 Destroys the Target.
 
void init ()
 Initialize member variables.
 
bool isSky () const
 Return if our target is the sky.
 
SpiceInt naifBodyCode () const
 This returns the NAIF body code of the target.
 
SpiceInt naifPlanetSystemCode () const
 This returns the NAIF planet system body code of the target.
 
QString name () const
 Return target name.
 
QString systemName () const
 Return planet system name.
 
std::vector< Distanceradii () const
 Returns the radii of the body in km.
 
void restoreShape ()
 Restores the shape to the original after setShapeEllipsoid has overridden it.
 
void setShapeEllipsoid ()
 Set the shape to the ellipsoid and save the original shape.
 
void setRadii (std::vector< Distance > radii)
 Sets the radii of the body.
 
void setName (QString name)
 Set the name for the Target.
 
void setSpice (Spice *spice)
 Set the Spice pointer for the Target.
 
ShapeModelshape () const
 Return the shape.
 
Spicespice () const
 Return the spice object.
 
int frameType ()
 
std::vector< AnglepoleRaCoefs ()
 
std::vector< AnglepoleDecCoefs ()
 
std::vector< AnglepmCoefs ()
 
std::vector< double > poleRaNutPrecCoefs ()
 
std::vector< double > poleDecNutPrecCoefs ()
 
std::vector< double > pmNutPrecCoefs ()
 
std::vector< AnglesysNutPrecConstants ()
 
std::vector< AnglesysNutPrecCoefs ()
 

Static Public Member Functions

static SpiceInt lookupNaifBodyCode (QString name)
 This returns the NAIF body code of the target indicated in the labels.
 
static PvlGroup radiiGroup (QString target)
 Creates a Pvl Group with keywords TargetName, EquitorialRadius, and PolarRadius.
 
static PvlGroup radiiGroup (Pvl &cubeLab, const PvlGroup &mapGroup)
 This method returns a Mapping group containing TargetName, EquatorialRadius, and PolarRadius in addition to all of the keywords that are in the given mapGroup.
 

Detailed Description

This class is used to create and store valid Isis targets.

Author
2012-03-20 Debbie A. Cook

Constructor & Destructor Documentation

◆ Target() [1/3]

Isis::Target::Target ( Spice * spice,
Pvl & lab )

Constructs a Target object and loads target information.

Parameters
labLabel containing Instrument and Kernels groups.
Author
2012-03-20 Debbie A. Cook

References Isis::NaifStatus::CheckErrors(), Isis::ShapeModelFactory::create(), Isis::PvlContainer::hasKeyword(), init(), lookupNaifBodyCode(), Isis::Distance::Meters, name(), spice(), Isis::toInt(), and Isis::PvlObject::Traverse.

◆ Target() [2/3]

Isis::Target::Target ( Pvl & label)

Construct a Target without SPICE data.

The label should contain an Instrument group with a TargetName and a Kernels group with a ShapeModel.

Parameters
labelLabel containing information about the Target.

References Isis::ShapeModelFactory::create(), Isis::PvlObject::findGroup(), Isis::PvlContainer::hasKeyword(), init(), Isis::Distance::Meters, name(), setName(), Isis::toInt(), and Isis::PvlObject::Traverse.

◆ Target() [3/3]

Isis::Target::Target ( )

Constructs an empty Target object.

Author
2012-03-20 Debbie A. Cook

References init().

◆ ~Target()

Isis::Target::~Target ( )

Destroys the Target.

Destroys the Target object.

References Isis::NaifStatus::CheckErrors().

Member Function Documentation

◆ frameType()

int Isis::Target::frameType ( )

◆ init()

void Isis::Target::init ( )

Initialize member variables.

Author
2012-03-20 Debbie A. Cook

Referenced by Target(), Target(), and Target().

◆ isSky()

bool Isis::Target::isSky ( ) const

Return if our target is the sky.

Referenced by Isis::Spice::computeSolarLongitude(), and Isis::ShapeModelFactory::create().

◆ lookupNaifBodyCode()

SpiceInt Isis::Target::lookupNaifBodyCode ( QString name)
static

This returns the NAIF body code of the target indicated in the labels.

Returns
SpiceInt NAIF body code

References _FILEINFO_, Isis::NaifStatus::CheckErrors(), Isis::IException::Io, and name().

Referenced by radiiGroup(), radiiGroup(), and Target().

◆ naifBodyCode()

SpiceInt Isis::Target::naifBodyCode ( ) const

This returns the NAIF body code of the target.

Returns
SpiceInt NAIF body code

Referenced by Isis::Spice::naifBodyCode(), and Isis::TargetBody::TargetBody().

◆ naifPlanetSystemCode()

SpiceInt Isis::Target::naifPlanetSystemCode ( ) const

This returns the NAIF planet system body code of the target.

Returns
SpiceInt NAIF system body code

e.g. Enceladus is in the Saturn system

Referenced by Isis::TargetBody::TargetBody().

◆ name()

QString Isis::Target::name ( ) const

◆ pmCoefs()

std::vector< Angle > Isis::Target::pmCoefs ( )

◆ pmNutPrecCoefs()

std::vector< double > Isis::Target::pmNutPrecCoefs ( )

◆ poleDecCoefs()

std::vector< Angle > Isis::Target::poleDecCoefs ( )

◆ poleDecNutPrecCoefs()

std::vector< double > Isis::Target::poleDecNutPrecCoefs ( )

◆ poleRaCoefs()

std::vector< Angle > Isis::Target::poleRaCoefs ( )

◆ poleRaNutPrecCoefs()

std::vector< double > Isis::Target::poleRaNutPrecCoefs ( )

◆ radii()

std::vector< Distance > Isis::Target::radii ( ) const

Returns the radii of the body in km.

The radii are obtained from the appropriate SPICE kernel for the body specified by TargetName in the Instrument group of the labels.

Referenced by Isis::BundleTargetBody::BundleTargetBody(), Isis::Spice::radii(), radiiGroup(), setRadii(), Isis::TargetBody::TargetBody(), and Isis::ShapeModel::targetRadii().

◆ radiiGroup() [1/2]

PvlGroup Isis::Target::radiiGroup ( Pvl & cubeLab,
const PvlGroup & mapGroup )
static

This method returns a Mapping group containing TargetName, EquatorialRadius, and PolarRadius in addition to all of the keywords that are in the given mapGroup.

Parameters
cubeLabPvl labels for the image.
mapGroupA const reference to a PvlGroup that contains mapping parameters for the projection.
Returns
PvlGroup The Mapping Group for the projection including the keywords TargetName, EquatorialRadius, and PolarRadius.

References _FILEINFO_, Isis::PvlObject::findObject(), lookupNaifBodyCode(), radii(), radiiGroup(), Isis::PvlContainer::Replace, Isis::toDouble(), Isis::toString(), Isis::PvlObject::Traverse, and Isis::IException::Unknown.

◆ radiiGroup() [2/2]

PvlGroup Isis::Target::radiiGroup ( QString target)
static

Creates a Pvl Group with keywords TargetName, EquitorialRadius, and PolarRadius.

The values for the radii will be retrieved from the most recent Target Attitude and Shape Naif kernel available in the Isis data area.

Parameters
targetThe name of the body for which the radii will be retrieved.
Exceptions
IException::Io- "Could not convert target name to NAIF code."
Returns
PvlGroup Group named "Mapping" with keywords TargetName, EquatorialRadius, and PolarRadius.

References _FILEINFO_, Isis::IException::Io, lookupNaifBodyCode(), radiiGroup(), and Isis::IException::Unknown.

Referenced by Isis::Latitude::add(), Isis::Latitude::Latitude(), Isis::Latitude::Latitude(), radiiGroup(), radiiGroup(), and Isis::TProjection::TProjection().

◆ restoreShape()

void Isis::Target::restoreShape ( )

Restores the shape to the original after setShapeEllipsoid has overridden it.

References Isis::ShapeModel::name().

◆ setName()

void Isis::Target::setName ( QString name)

Set the name for the Target.

This function should be used if the target name is not available on the label originally used to initialize the Target.

Parameters
nameThe new name of the Target

References name().

Referenced by Target().

◆ setRadii()

void Isis::Target::setRadii ( std::vector< Distance > radii)

Sets the radii of the body.

Parameters
r[]Radii of the target in kilometers

References radii().

◆ setShapeEllipsoid()

void Isis::Target::setShapeEllipsoid ( )

Set the shape to the ellipsoid and save the original shape.

◆ setSpice()

void Isis::Target::setSpice ( Spice * spice)

Set the Spice pointer for the Target.

This function should be used if the Target was initialized without SPICE data but is still needed by a sensor model.

Parameters
spiceA pointer to the new Spice object

References spice().

◆ shape()

ShapeModel * Isis::Target::shape ( ) const

Return the shape.

◆ spice()

◆ sysNutPrecCoefs()

std::vector< Angle > Isis::Target::sysNutPrecCoefs ( )

◆ sysNutPrecConstants()

std::vector< Angle > Isis::Target::sysNutPrecConstants ( )

◆ systemName()

QString Isis::Target::systemName ( ) const

Return planet system name.

Referenced by Isis::TargetBody::TargetBody().


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