Isis 3 Programmer Reference
Isis::BundleObservationVector Class Reference

This class is a container class for BundleObservations. More...

#include <BundleObservationVector.h>

Inheritance diagram for Isis::BundleObservationVector:
Inheritance graph
Collaboration diagram for Isis::BundleObservationVector:
Collaboration graph

Public Member Functions

 BundleObservationVector ()
 Constructs an empty BundleObservationVector. More...
 
 BundleObservationVector (const BundleObservationVector &src)
 Copy constructor. More...
 
 ~BundleObservationVector ()
 Destructor. More...
 
BundleObservationVectoroperator= (const BundleObservationVector &src)
 Assignment operator. More...
 
BundleObservationQsp addNew (BundleImageQsp image, QString observationNumber, QString instrumentId, BundleSettingsQsp bundleSettings)
 Adds a new BundleObservation to this vector or fetches an existing BundleObservation if this vector already contains the passed observation number. More...
 
int numberPositionParameters ()
 Accesses the number of position parameters for the contained BundleObservations. More...
 
int numberPointingParameters ()
 Accesses the number of pointing parameters for the contained BundleObservations. More...
 
int numberParameters ()
 Returns the sum of the position parameters and pointing parameters for the contained BundleObservations. More...
 
BundleObservationQsp observationByCubeSerialNumber (QString cubeSerialNumber)
 Accesses a BundleObservation associated with the passed serial number. More...
 
bool initializeExteriorOrientation ()
 Initializes the exterior orientations for the contained BundleObservations. More...
 
bool initializeBodyRotation ()
 Initializes the body rotations for the contained BundleObservations. More...
 

Private Attributes

QMap< QString, BundleObservationQspm_observationNumberToObservationMap
 Map between observation number and pointer to observation. More...
 
QMap< QString, BundleObservationQspm_imageSerialToObservationMap
 Map between image serial number and pointer to observation. More...
 

Detailed Description

This class is a container class for BundleObservations.

It can be used for managing multiple BundleObservations.

Contained BundleObservations are stored as shared pointers, so they will be automatically deleted when all shared pointers are deleted.

Author
2014-05-22 Ken Edmundson
History:

2014-05-22 Ken Edmundson - Original version.

2015-02-20 Jeannie Backer - Brought closer to ISIS coding standards.

2016-06-30 Jeannie Backer - Changed method name from "getObservationByCubeSerialNumber" to "observationByCubeSerialNumber" to comply with ISIS coding standards. References #4078.

2016-08-03 Jesse Mapel - Changed contained member type to a vector of QSharedPointers. Removed commented out block of paths. Fixes #4150, #4155.

2016-08-03 Ian Humphrey - Updated documentation and coding standards. Replaced getObservationByCubeSerialNumber with observationByCubeSerialNumber.

2016-08-11 Jesse Mapel - Defined assignment operator and copy constructor. Fixes #4159.

2016-10-13 Ian Humphrey - Modified addnew so that we set solve settings based on the BundleObsevation's observation number. Renamed addnew to addNew(). References #4293.

Definition at line 65 of file BundleObservationVector.h.

Constructor & Destructor Documentation

◆ BundleObservationVector() [1/2]

Isis::BundleObservationVector::BundleObservationVector ( )

Constructs an empty BundleObservationVector.

Definition at line 13 of file BundleObservationVector.cpp.

◆ BundleObservationVector() [2/2]

Isis::BundleObservationVector::BundleObservationVector ( const BundleObservationVector src)

Copy constructor.

Constructs a BundleObservationVector as a copy of another BundleObservationVector.

Parameters
srcA reference to the BundleObservationVector to copy from.

Definition at line 24 of file BundleObservationVector.cpp.

References m_imageSerialToObservationMap, and m_observationNumberToObservationMap.

◆ ~BundleObservationVector()

Isis::BundleObservationVector::~BundleObservationVector ( )

Destructor.

Contained BundleObservations will remain until all shared pointers to them are deleted.

Definition at line 36 of file BundleObservationVector.cpp.

Member Function Documentation

◆ addNew()

BundleObservationQsp Isis::BundleObservationVector::addNew ( BundleImageQsp  bundleImage,
QString  observationNumber,
QString  instrumentId,
BundleSettingsQsp  bundleSettings 
)

Adds a new BundleObservation to this vector or fetches an existing BundleObservation if this vector already contains the passed observation number.

If observation mode is off, adds a new BundleObservation to this vector. Otherwise, if observation mode is on and the BundleObservation has already been added with the same observation number, the passed BundleImage is added to the existing BundleObservation.

Parameters
bundleImageQSharedPointer to the BundleImage to create or fetch a BundleObservation from
observationNumberObservation number of the observation to add or fetch
instrumentIdInstrument id of the observation
bundleSettingsQsp to BundleSettings for the observation
Exceptions
IException::Programmer"Unable to allocate new BundleObservation"
Returns
BundleObservationQsp Returns a pointer to the BundleObservation that was added
History:
2016-10-13 Ian Humphrey - When appending a new BundleObservation and there are multiple BundleObservationSolveSettings, we set the settings according to the observation number passed. References #4293.

Definition at line 83 of file BundleObservationVector.cpp.

References _FILEINFO_, m_imageSerialToObservationMap, m_observationNumberToObservationMap, and Isis::IException::Programmer.

◆ initializeBodyRotation()

bool Isis::BundleObservationVector::initializeBodyRotation ( )

Initializes the body rotations for the contained BundleObservations.

Returns
bool Returns true upon successful initialization

Definition at line 241 of file BundleObservationVector.cpp.

◆ initializeExteriorOrientation()

bool Isis::BundleObservationVector::initializeExteriorOrientation ( )

Initializes the exterior orientations for the contained BundleObservations.

Returns
bool Returns true upon successful initialization

Definition at line 225 of file BundleObservationVector.cpp.

◆ numberParameters()

int Isis::BundleObservationVector::numberParameters ( )

Returns the sum of the position parameters and pointing parameters for the contained BundleObservations.

Returns
int Returns the total number of parameters for the contained BundleObservations

Definition at line 194 of file BundleObservationVector.cpp.

References numberPointingParameters(), and numberPositionParameters().

◆ numberPointingParameters()

int Isis::BundleObservationVector::numberPointingParameters ( )

Accesses the number of pointing parameters for the contained BundleObservations.

Returns
int Returns the total number of pointing parameters for the BundleObservations

Definition at line 176 of file BundleObservationVector.cpp.

Referenced by numberParameters().

◆ numberPositionParameters()

int Isis::BundleObservationVector::numberPositionParameters ( )

Accesses the number of position parameters for the contained BundleObservations.

Returns
int Returns the total number of position parameters for the BundleObservations

Definition at line 159 of file BundleObservationVector.cpp.

Referenced by numberParameters().

◆ observationByCubeSerialNumber()

BundleObservationQsp Isis::BundleObservationVector::observationByCubeSerialNumber ( QString  cubeSerialNumber)

Accesses a BundleObservation associated with the passed serial number.

If there is no BundleObservation associated with the serial number, a NULL pointer is returned.

Parameters
cubeSerialNumberSerial number of a cube to try to find an associated BundleObservation
Returns
BundleObservationQsp Pointer to the associated BundleObservation (NULL if not found)

Definition at line 210 of file BundleObservationVector.cpp.

References m_imageSerialToObservationMap.

◆ operator=()

BundleObservationVector & Isis::BundleObservationVector::operator= ( const BundleObservationVector src)

Assignment operator.

Assigns the state of the source BundleObservationVector to this BundleObservationVector.

Parameters
srcThe BundleObservationVector to assign from.
Returns
BundleObservationVector& A reference to this BundleObservationVector.

Definition at line 50 of file BundleObservationVector.cpp.

References m_imageSerialToObservationMap, and m_observationNumberToObservationMap.

Member Data Documentation

◆ m_imageSerialToObservationMap

QMap<QString, BundleObservationQsp> Isis::BundleObservationVector::m_imageSerialToObservationMap
private

Map between image serial number and pointer to observation.

Definition at line 91 of file BundleObservationVector.h.

Referenced by addNew(), BundleObservationVector(), observationByCubeSerialNumber(), and operator=().

◆ m_observationNumberToObservationMap

QMap<QString, BundleObservationQsp> Isis::BundleObservationVector::m_observationNumberToObservationMap
private

Map between observation number and pointer to observation.

Definition at line 89 of file BundleObservationVector.h.

Referenced by addNew(), BundleObservationVector(), and operator=().


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