Isis 3.0 Object Programmers' Reference |
Home |
Handle Binary Control Network Files version 2. More...
#include <ControlNetFileV0002.h>
Public Member Functions | |
virtual void | Read (const Pvl &header, const FileName &file) |
Reads binary version 2. | |
virtual void | Write (const FileName &file) const |
This writes the binary file that is in memory to disk. | |
virtual Pvl | toPvl () const |
Converts binary control net version 2 to pvl version 3. | |
ControlNetFileHeaderV0002 & | GetNetworkHeader () |
Get the control network level information - things like NetworkID, TargetName, etc... | |
QList < ControlPointFileEntryV0002 > & | GetNetworkPoints () |
Get the control point data along with the log data. | |
Private Attributes | |
ControlNetFileHeaderV0002 * | p_networkHeader |
This contains global cnet information... | |
QList < ControlPointFileEntryV0002 > * | p_controlPoints |
All of the control points. | |
Handle Binary Control Network Files version 2.
We went to binary v2 in order to split up the protocol buffer messages by ControlPoint in order to completely avoid the maximum file size limitation (512MB before protocol buffers might fail).
This version takes the separate 'log' and 'network' sections and combines them while simuntaneously splitting up the control points and network header. Please keep in mind you can play with optional keywords all day long without requiring a new binary control network version - this should be done only when necessary. Upgrading the Pvl version does NOT require having a new "ControlNetFile" child - simply handle that directly in the ControlNetVersioner.
2011-06-21 Steven Lambright - Files can have a larger size now
2012-11-30 Debbie A. Cook - Changed to use TProjection and RingPlaneProjection instead of Projection. References #775.
2013-05-22 Kimberly Oyama and Tracie Sucharski - Added the JIGSAWREJECTED keyword to the toPvl() method. Fixes #661.
Definition at line 59 of file ControlNetFileV0002.h.
|
inline |
Get the control network level information - things like NetworkID, TargetName, etc...
"ControlNetFileHeaderV0002::pointmessagesizes" is only used for IO and you cannot assume it is populated.
Definition at line 75 of file ControlNetFileV0002.h.
References p_networkHeader.
Referenced by Isis::ControlNetVersioner::LatestPvlToBinary(), Isis::ControlNet::ReadControl(), and Isis::ControlNet::Write().
|
inline |
Get the control point data along with the log data.
Definition at line 82 of file ControlNetFileV0002.h.
References p_controlPoints.
Referenced by Isis::ControlNetVersioner::LatestPvlToBinary(), Isis::ControlNet::ReadControl(), and Isis::ControlNet::Write().
Reads binary version 2.
Implements Isis::ControlNetFile.
Definition at line 52 of file ControlNetFileV0002.cpp.
References _FILEINFO_, and Isis::PvlObject::findObject().
|
virtual |
Converts binary control net version 2 to pvl version 3.
2011-05-02 Debbie A. Cook - Converted to version pvl 3 instead of 2
2011-05-09 Tracie Sucharski - Add comments for printing apriori and adjusted values as lat/lon/radius, and sigmas.
2011-05-16 Tracie Sucharski - Before trying to get radii, make sure network has a TargetName. If not, do not add lat/lon/radius comments for SurfacePoints.
2011-06-07 Tracie Sucharski/Debbie A. Cook - Point Type changes Ground -—> Fixed Tie -—> Free
Implements Isis::ControlNetFile.
Definition at line 246 of file ControlNetFileV0002.cpp.
References _FILEINFO_, Isis::PvlKeyword::addComment(), Isis::PvlObject::addObject(), Isis::Angle::degrees(), Isis::PvlObject::findObject(), Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLatSigmaDistance(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::SurfacePoint::GetLonSigmaDistance(), Isis::PvlContainer::hasKeyword(), Isis::Distance::meters(), Isis::SurfacePoint::SetRadii(), Isis::SurfacePoint::SetRectangular(), Isis::SurfacePoint::SetRectangularMatrix(), Isis::ControlMeasureLogData::ToKeyword(), and Isis::toString().
Referenced by Isis::ControlNetDiff::compare(), and Isis::ControlNetVersioner::Write().
|
virtual |
This writes the binary file that is in memory to disk.
The behavior of this method is undefined if the required data is not set (ControlNetVersioner::LatestPvlToBinary guarantees they are, and this should never be called for old versions).
file | The filename of the binary file to be written |
Implements Isis::ControlNetFile.
Definition at line 146 of file ControlNetFileV0002.cpp.
References _FILEINFO_, Isis::PvlObject::addGroup(), Isis::PvlContainer::addKeyword(), Isis::PvlObject::addObject(), and Isis::toString().
Referenced by Isis::ControlNetVersioner::Write().
|
private |
All of the control points.
Definition at line 91 of file ControlNetFileV0002.h.
Referenced by GetNetworkPoints().
|
private |
This contains global cnet information...
Definition at line 88 of file ControlNetFileV0002.h.
Referenced by GetNetworkHeader().