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.
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.
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().