Loading isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp +63 −62 Original line number Diff line number Diff line Loading @@ -270,14 +270,14 @@ namespace Isis { " <meters>"); // FIXME: None of Covariance matrix information is available directly from ControlPoint in the API if (controlPoint->aprioricovar_size()) { // DNE if (controlPoint->HasAprioriCovar()) { // DNE PvlKeyword matrix("AprioriCovarianceMatrix"); matrix += toString(controlPoint->AprioriCovar(0)); // DNE matrix += toString(controlPoint->AprioriCovar(1)); // DNE matrix += toString(controlPoint->AprioriCovar(2)); // DNE matrix += toString(controlPoint->AprioriCovar(3)); // DNE matrix += toString(controlPoint->AprioriCovar(4)); // DNE matrix += toString(controlPoint->AprioriCovar(5)); // DNE matrix += toString(controlPoint->AprioriCovar(0)); matrix += toString(controlPoint->AprioriCovar(1)); matrix += toString(controlPoint->AprioriCovar(2)); matrix += toString(controlPoint->AprioriCovar(3)); matrix += toString(controlPoint->AprioriCovar(4)); matrix += toString(controlPoint->AprioriCovar(5)); pvlPoint += matrix; if (pvlRadii.hasKeyword("EquatorialRadius")) { Loading Loading @@ -340,7 +340,7 @@ namespace Isis { toString(adjusted.GetLocalRadius().meters()) + " <meters>"); if (controlPoint->AdjustedCovarSize()) { // DNE if (controlPoint->HasAdjustedCovar()) { // DNE PvlKeyword matrix("AdjustedCovarianceMatrix"); matrix += toString(controlPoint->AdjustedCovar(0)); matrix += toString(controlPoint->AdjustedCovar(1)); Loading Loading @@ -559,8 +559,9 @@ namespace Isis { */ void ControlNetVersioner::readPvlV0001(const PvlObject &network) { // initialize the header try { ControlNetHeaderV0001 header; try { header.networkID = network.findKeyword("NetworkId")[0]; header.targetName = network.findKeyword("TargetName")[0]; header.created = network.findKeyword("Created")[0]; Loading @@ -577,7 +578,7 @@ namespace Isis { // initialize the control points for (int objectIndex = 0; objectIndex < network.objects(); objectIndex ++) { try { PvlObject &pointObject = network.object(objectIndex); const PvlObject &pointObject = network.object(objectIndex); ControlPointV0001 point(pointObject, header.targetName); m_points.append( createPoint(point) ); } Loading Loading @@ -615,7 +616,7 @@ namespace Isis { // initialize the control points for (int objectIndex = 0; objectIndex < network.objects(); objectIndex ++) { try { PvlObject &pointObject = network.object(objectIndex); const PvlObject &pointObject = network.object(objectIndex); ControlPointV0002 point(pointObject); m_points.append( createPoint(point) ); } Loading Loading @@ -1413,7 +1414,10 @@ namespace Isis { } for (int i = 0; i < measure.log_size(); i++) { ControlMeasureLogData logEntry(measure.log(i)); const ControlPointFileEntryV0002_Measure_MeasureLogData &protoLog = measure.log(i); ControlMeasureLogData logEntry logEntry.SetNumericalValue( protoLog.doubledatavalue() ); logEntry.SetDataType( (ControlMeasureLogData::NumericLogDataType) protoLog.doubledatatype() ); newMeasure->SetLogData(logEntry); } return newMeasure; Loading Loading @@ -1468,12 +1472,12 @@ namespace Isis { ControlNetFileHeaderV0005 protobufHeader; protobufHeader.set_networkid(m_header.networkID); protobufHeader.set_targetname(m_header.targetName); protobufHeader.set_created(m_header.created); protobufHeader.set_lastmodified(m_header.lastModified); protobufHeader.set_description(m_header.description); protobufHeader.set_username(m_header.userName); protobufHeader.set_networkid(m_header.networkID.toStdString()); protobufHeader.set_targetname(m_header.targetName.toStdString()); protobufHeader.set_created(m_header.created.toStdString()); protobufHeader.set_lastmodified(m_header.lastModified.toStdString()); protobufHeader.set_description(m_header.description.toStdString()); protobufHeader.set_username(m_header.userName.toStdString()); streampos coreHeaderSize = protobufHeader->ByteSize(); Loading Loading @@ -1537,15 +1541,15 @@ namespace Isis { // Create the protobuf header using our struct ControlNetFileHeaderV0005 protobufHeader; protobufHeader.set_networkid(m_header.networkID); protobufHeader.set_targetname(m_header.targetName); protobufHeader.set_created(m_header.created); protobufHeader.set_lastmodified(m_header.lastModified); protobufHeader.set_description(m_header.description); protobufHeader.set_username(m_header.userName); protobufHeader.set_networkid(m_header.networkID.toStdString()); protobufHeader.set_targetname(m_header.targetName.toStdString()); protobufHeader.set_created(m_header.created.toStdString()); protobufHeader.set_lastmodified(m_header.lastModified.toStdString()); protobufHeader.set_description(m_header.description.toStdString()); protobufHeader.set_username(m_header.userName.toStdString()); // Write out the header if (!protobufHeader->SerializeToCodedStream(&fileStream)) { if (!protobufHeader.SerializeToCodedStream(&fileStream)) { IString msg = "Failed to write output control network file [" + file.name() + "]"; throw IException(IException::Io, msg, _FILEINFO_); Loading @@ -1568,8 +1572,8 @@ namespace Isis { protoPoint.set_type(controlPoint->getType()); protoPoint.set_id(controlPoint->GetId()); protoPoint.set_choosername(controlPoint->GetChooserName()); protoPoint.set_datetime(controlPoint->GetDateTime()); protoPoint.set_choosername(controlPoint->GetChooserName().toStdString()); protoPoint.set_datetime(controlPoint->GetDateTime().toStdString()); protoPoint.set_editlock(controlPoint->IsEditLocked()); protoPoint.set_ignore(controlPoint->IsIgnored()); Loading @@ -1581,8 +1585,8 @@ namespace Isis { } // Apriori Surf Point Source ENUM settting switch (controlPoint->GetAprioriSurfPointSource()) { case ControlPoint::SurfacePointSouce::None: switch (controlPoint->GetAprioriSurfacePointSource()) { case ControlPoint::SurfacePointSource::None: protoPoint.set_apriorisurfpointsource(ControlPointFileEntryV0002_AprioriSource_None); break; case ControlPoint::SurfacePointSource::User: Loading Loading @@ -1632,20 +1636,20 @@ namespace Isis { if (controlPoint->HasAprioriCoordinates()) { protoPoint.set_apriorix(controlPoint->AprioriX()); protoPoint.set_aprioriy(controlPoint->AprioriY()); protoPoint.set_aprioriz(controlPoint->AprioriZ()); protoPoint.set_apriorix(controlPoint->GetAprioriX().meters()); protoPoint.set_aprioriy(controlPoint->GetAprioriY().meters()); protoPoint.set_aprioriz(controlPoint->GetAprioriZ().meters()); if (controlPoint->AprioriCovarSize()) { // DNE if (controlPoint->HasAprioriCovar()) { // DNE // Ensure this is the right way to add these values protoPoint.add_aprioricovar(controlPoint->aprioricovar(0)); // DNE protoPoint.add_aprioricovar(controlPoint->aprioricovar(1)); // DNE protoPoint.add_aprioricovar(controlPoint->aprioricovar(2)); // DNE protoPoint.add_aprioricovar(controlPoint->aprioricovar(3)); // DNE protoPoint.add_aprioricovar(controlPoint->aprioricovar(4)); // DNE protoPoint.add_aprioricovar(controlPoint->aprioricovar(5)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(0)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(1)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(2)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(3)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(4)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(5)); // DNE } } Loading @@ -1658,11 +1662,11 @@ namespace Isis { if (controlPoint->HasAdjustedCoordinates()) { protoPoint.set_adjustedx(controlPoint->AdjustedX()); protoPoint.set_adjustedy(controlPoint->AdjustedY()); protoPoint.set_adjustedz(controlPoint->AdjustedZ()); protoPoint.set_adjustedx(controlPoint->GetAdjustedX().meters()); protoPoint.set_adjustedy(controlPoint->GetAdjustedY().meters()); protoPoint.set_adjustedz(controlPoint->GetAdjustedZ().meters()); if (controlPoint->AdjustedCovarSize()) { // DNE if (controlPoint->HasAdjustedCovar()) { // DNE protoPoint.add_adjustedcovar(controlPoint->AdjustedCovar(0)); protoPoint.add_adjustedcovar(controlPoint->AdjustedCovar(1)); protoPoint.add_adjustedcovar(controlPoint->AdjustedCovar(2)); Loading @@ -1685,7 +1689,7 @@ namespace Isis { protoPoint.set_referenceindex(j); } protoMeasure.set_serialnumber(controlMeasure.GetCubeSerialNumber()); protoMeasure.set_serialnumber(controlMeasure.GetCubeSerialNumber().toStdString()); switch ( controlMeasure.GetType() ) { case (ControlMeasure::MeasureType::Candidate): Loading @@ -1706,11 +1710,11 @@ namespace Isis { } if (controlMeasure.HasChooserName()) { protoMeasure.set_choosername(controlMeasure.GetChooserName()); protoMeasure.set_choosername(controlMeasure.GetChooserName().toStdString()); } if (controlMeasure.HasDateTime()) { protoMeasure.set_datetime(controlMeasure.GetDateTime()); protoMeasure.set_datetime(controlMeasure.GetDateTime().toStdString()); } protoMeasure.set_editlock(controlMeasure.IsEditLocked()); Loading @@ -1722,19 +1726,19 @@ namespace Isis { } if (controlMeasure.HasLine()) { protoMeasure.set_line(controlMeasure.GetLine())); protoMeasure.set_line(controlMeasure.GetLine()); } if (controlMeasure.HasDiameter()) { protoMeasure.set_diameter(controlMeasure.GetDiameter())); protoMeasure.set_diameter(controlMeasure.GetDiameter()); } if (controlMeasure.HasAprioriSample()) { protoMeasure.set_apriorisample(controlMeasure.GetAprioriSample())); protoMeasure.set_apriorisample(controlMeasure.GetAprioriSample()); } if (controlMeasure.HasAprioriLine()) { protoMeasure.set_aprioriline(controlMeasure.GetAprioriLine())); protoMeasure.set_aprioriline(controlMeasure.GetAprioriLine()); } if (controlMeasure.HasSampleSigma()) { Loading @@ -1755,32 +1759,29 @@ namespace Isis { // I removed the if statement because we always initialize jigsawRejected to false // in ControlPoint. protoMeasure.set_jigsawrejected(controlMeasure.JigsawRejected())); protoMeasure.set_jigsawrejected(controlMeasure.JigsawRejected()); QVector<ControlMeasureLogData> measureLogs = controlMeasure.GetLogDataEntries(); for (int logEntry = 0; logEntry < controlMeasure.LogSize(); // DNE? logEntry < measureLogs.size(); // DNE? logEntry ++) { const ControlMeasureLogData &log = controlMeasure.GetLogData(logEntry); // Not sure this is right. const ControlMeasureLogData &log = measureLogs[logEntry]; // These methods might not not exist, we may need to wrap each of These // In if/else statements because they're optional values. ControlPointFileEntryV0002_Measure_MeasureLogData logData; logData.set_doubledatatype(log.GetDoubleDataType()); logData.set_doubledatavalue(log.GetDoubleDataValue()); logData.set_booldatatype(log.GetBoolDataType()); logData.set_booldatavalue(log.getBoolDataValue()); logData.set_doubledatatype( (int) log.GetDataType() ); logData.set_doubledatavalue( log.GetNumericalValue() ); protoMeasure.add_log(logData); *protoMeasure.add_log() = logData; } if (controlPoint->HasRefMeasure() && controlPoint->IndexOfRefMeasure() == j) { protoPoint.set_referenceindex(j); } protoPoint.add_measure(protoMeasure); protoPoint.add_measures(protoMeasure); } int msgSize(protoPoint.ByteSize()); Loading isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.h +28 −24 Original line number Diff line number Diff line Loading @@ -30,6 +30,10 @@ #include <QVector> #include "ControlPoint.h" #include "ControlPointV0001.h" #include "ControlPointV0002.h" #include "ControlPointV0003.h" class QString; Loading @@ -39,6 +43,9 @@ namespace Isis { class Pvl; class PvlContainer; class PvlObject; class ControlPointV0001; class ControlPointV0002; class ControlPointV0003; /** * @brief Handle Various Control Network Versions Loading Loading @@ -138,13 +145,10 @@ namespace Isis { * @history 2017-12-18 Adam Goins and Kristin Berry - Added new write() method. * @history 2017-12-19 Kristin Berry - Corrected method names and general cleanup in toPvl and * write for refactor. * @history 2017-12-20 Jeannie Backer - Updated toPvl and write methods to get surface point * information from the ControlPoint. * @histroy 2017-12-20 Jesse Mapel - Made read and createPoint methods match new * ControlPointV#### classes. */ class ControlNetVersioner { class ControlPointV0001; class ControlPointV0002; class ControlPointV0003; public: ControlNetVersioner(QSharedPointer<ControlNet> net); Loading Loading @@ -180,13 +184,13 @@ namespace Isis { QString description; QString userName; }; typedef ControlNetHeaderV0002 ControlNetHeaderV0001; typedef ControlNetHeaderV0003 ControlNetHeaderV0001; typedef ControlNetHeaderV0004 ControlNetHeaderV0001; typedef ControlNetHeaderV0005 ControlNetHeaderV0001; typedef ControlNetHeaderV0001 ControlNetHeaderV0002; typedef ControlNetHeaderV0001 ControlNetHeaderV0003; typedef ControlNetHeaderV0001 ControlNetHeaderV0004; typedef ControlNetHeaderV0001 ControlNetHeaderV0005; typedef ControlPointV0004 ControlPointV0003; typedef ControlPointV0005 ControlPointV0003; typedef ControlPointV0003 ControlPointV0004; typedef ControlPointV0003 ControlPointV0005; void read(const FileName netFile); Loading @@ -206,12 +210,12 @@ namespace Isis { QSharedPointer<ControlPoint> createPoint(const ControlPointV0002 point); QSharedPointer<ControlPoint> createPoint(const ControlPointV0003 point); QSharedPointer<ControlMeasure> createMeasure(const ControlMeasureV0006 measure); QSharedPointer<ControlMeasure> createMeasure(const ControlPointFileEntryV0002_Measure&); void setHeader(const ControlNetHeaderV0001 header); void createHeader(const ControlNetHeaderV0001 header); void writeHeader(ZeroCopyOutputStream *fileStream); void writeFirstPoint(ZeroCopyOutputStream *fileStream); void writeHeader(google::protobuf::io::ZeroCopyOutputStream *fileStream); int writeFirstPoint(google::protobuf::io::ZeroCopyOutputStream *fileStream); ControlNetHeaderV0005 m_header; /**< Header containing information about the whole network.*/ Loading Loading
isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.cpp +63 −62 Original line number Diff line number Diff line Loading @@ -270,14 +270,14 @@ namespace Isis { " <meters>"); // FIXME: None of Covariance matrix information is available directly from ControlPoint in the API if (controlPoint->aprioricovar_size()) { // DNE if (controlPoint->HasAprioriCovar()) { // DNE PvlKeyword matrix("AprioriCovarianceMatrix"); matrix += toString(controlPoint->AprioriCovar(0)); // DNE matrix += toString(controlPoint->AprioriCovar(1)); // DNE matrix += toString(controlPoint->AprioriCovar(2)); // DNE matrix += toString(controlPoint->AprioriCovar(3)); // DNE matrix += toString(controlPoint->AprioriCovar(4)); // DNE matrix += toString(controlPoint->AprioriCovar(5)); // DNE matrix += toString(controlPoint->AprioriCovar(0)); matrix += toString(controlPoint->AprioriCovar(1)); matrix += toString(controlPoint->AprioriCovar(2)); matrix += toString(controlPoint->AprioriCovar(3)); matrix += toString(controlPoint->AprioriCovar(4)); matrix += toString(controlPoint->AprioriCovar(5)); pvlPoint += matrix; if (pvlRadii.hasKeyword("EquatorialRadius")) { Loading Loading @@ -340,7 +340,7 @@ namespace Isis { toString(adjusted.GetLocalRadius().meters()) + " <meters>"); if (controlPoint->AdjustedCovarSize()) { // DNE if (controlPoint->HasAdjustedCovar()) { // DNE PvlKeyword matrix("AdjustedCovarianceMatrix"); matrix += toString(controlPoint->AdjustedCovar(0)); matrix += toString(controlPoint->AdjustedCovar(1)); Loading Loading @@ -559,8 +559,9 @@ namespace Isis { */ void ControlNetVersioner::readPvlV0001(const PvlObject &network) { // initialize the header try { ControlNetHeaderV0001 header; try { header.networkID = network.findKeyword("NetworkId")[0]; header.targetName = network.findKeyword("TargetName")[0]; header.created = network.findKeyword("Created")[0]; Loading @@ -577,7 +578,7 @@ namespace Isis { // initialize the control points for (int objectIndex = 0; objectIndex < network.objects(); objectIndex ++) { try { PvlObject &pointObject = network.object(objectIndex); const PvlObject &pointObject = network.object(objectIndex); ControlPointV0001 point(pointObject, header.targetName); m_points.append( createPoint(point) ); } Loading Loading @@ -615,7 +616,7 @@ namespace Isis { // initialize the control points for (int objectIndex = 0; objectIndex < network.objects(); objectIndex ++) { try { PvlObject &pointObject = network.object(objectIndex); const PvlObject &pointObject = network.object(objectIndex); ControlPointV0002 point(pointObject); m_points.append( createPoint(point) ); } Loading Loading @@ -1413,7 +1414,10 @@ namespace Isis { } for (int i = 0; i < measure.log_size(); i++) { ControlMeasureLogData logEntry(measure.log(i)); const ControlPointFileEntryV0002_Measure_MeasureLogData &protoLog = measure.log(i); ControlMeasureLogData logEntry logEntry.SetNumericalValue( protoLog.doubledatavalue() ); logEntry.SetDataType( (ControlMeasureLogData::NumericLogDataType) protoLog.doubledatatype() ); newMeasure->SetLogData(logEntry); } return newMeasure; Loading Loading @@ -1468,12 +1472,12 @@ namespace Isis { ControlNetFileHeaderV0005 protobufHeader; protobufHeader.set_networkid(m_header.networkID); protobufHeader.set_targetname(m_header.targetName); protobufHeader.set_created(m_header.created); protobufHeader.set_lastmodified(m_header.lastModified); protobufHeader.set_description(m_header.description); protobufHeader.set_username(m_header.userName); protobufHeader.set_networkid(m_header.networkID.toStdString()); protobufHeader.set_targetname(m_header.targetName.toStdString()); protobufHeader.set_created(m_header.created.toStdString()); protobufHeader.set_lastmodified(m_header.lastModified.toStdString()); protobufHeader.set_description(m_header.description.toStdString()); protobufHeader.set_username(m_header.userName.toStdString()); streampos coreHeaderSize = protobufHeader->ByteSize(); Loading Loading @@ -1537,15 +1541,15 @@ namespace Isis { // Create the protobuf header using our struct ControlNetFileHeaderV0005 protobufHeader; protobufHeader.set_networkid(m_header.networkID); protobufHeader.set_targetname(m_header.targetName); protobufHeader.set_created(m_header.created); protobufHeader.set_lastmodified(m_header.lastModified); protobufHeader.set_description(m_header.description); protobufHeader.set_username(m_header.userName); protobufHeader.set_networkid(m_header.networkID.toStdString()); protobufHeader.set_targetname(m_header.targetName.toStdString()); protobufHeader.set_created(m_header.created.toStdString()); protobufHeader.set_lastmodified(m_header.lastModified.toStdString()); protobufHeader.set_description(m_header.description.toStdString()); protobufHeader.set_username(m_header.userName.toStdString()); // Write out the header if (!protobufHeader->SerializeToCodedStream(&fileStream)) { if (!protobufHeader.SerializeToCodedStream(&fileStream)) { IString msg = "Failed to write output control network file [" + file.name() + "]"; throw IException(IException::Io, msg, _FILEINFO_); Loading @@ -1568,8 +1572,8 @@ namespace Isis { protoPoint.set_type(controlPoint->getType()); protoPoint.set_id(controlPoint->GetId()); protoPoint.set_choosername(controlPoint->GetChooserName()); protoPoint.set_datetime(controlPoint->GetDateTime()); protoPoint.set_choosername(controlPoint->GetChooserName().toStdString()); protoPoint.set_datetime(controlPoint->GetDateTime().toStdString()); protoPoint.set_editlock(controlPoint->IsEditLocked()); protoPoint.set_ignore(controlPoint->IsIgnored()); Loading @@ -1581,8 +1585,8 @@ namespace Isis { } // Apriori Surf Point Source ENUM settting switch (controlPoint->GetAprioriSurfPointSource()) { case ControlPoint::SurfacePointSouce::None: switch (controlPoint->GetAprioriSurfacePointSource()) { case ControlPoint::SurfacePointSource::None: protoPoint.set_apriorisurfpointsource(ControlPointFileEntryV0002_AprioriSource_None); break; case ControlPoint::SurfacePointSource::User: Loading Loading @@ -1632,20 +1636,20 @@ namespace Isis { if (controlPoint->HasAprioriCoordinates()) { protoPoint.set_apriorix(controlPoint->AprioriX()); protoPoint.set_aprioriy(controlPoint->AprioriY()); protoPoint.set_aprioriz(controlPoint->AprioriZ()); protoPoint.set_apriorix(controlPoint->GetAprioriX().meters()); protoPoint.set_aprioriy(controlPoint->GetAprioriY().meters()); protoPoint.set_aprioriz(controlPoint->GetAprioriZ().meters()); if (controlPoint->AprioriCovarSize()) { // DNE if (controlPoint->HasAprioriCovar()) { // DNE // Ensure this is the right way to add these values protoPoint.add_aprioricovar(controlPoint->aprioricovar(0)); // DNE protoPoint.add_aprioricovar(controlPoint->aprioricovar(1)); // DNE protoPoint.add_aprioricovar(controlPoint->aprioricovar(2)); // DNE protoPoint.add_aprioricovar(controlPoint->aprioricovar(3)); // DNE protoPoint.add_aprioricovar(controlPoint->aprioricovar(4)); // DNE protoPoint.add_aprioricovar(controlPoint->aprioricovar(5)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(0)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(1)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(2)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(3)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(4)); // DNE protoPoint.add_aprioricovar(controlPoint->AprioriCovar(5)); // DNE } } Loading @@ -1658,11 +1662,11 @@ namespace Isis { if (controlPoint->HasAdjustedCoordinates()) { protoPoint.set_adjustedx(controlPoint->AdjustedX()); protoPoint.set_adjustedy(controlPoint->AdjustedY()); protoPoint.set_adjustedz(controlPoint->AdjustedZ()); protoPoint.set_adjustedx(controlPoint->GetAdjustedX().meters()); protoPoint.set_adjustedy(controlPoint->GetAdjustedY().meters()); protoPoint.set_adjustedz(controlPoint->GetAdjustedZ().meters()); if (controlPoint->AdjustedCovarSize()) { // DNE if (controlPoint->HasAdjustedCovar()) { // DNE protoPoint.add_adjustedcovar(controlPoint->AdjustedCovar(0)); protoPoint.add_adjustedcovar(controlPoint->AdjustedCovar(1)); protoPoint.add_adjustedcovar(controlPoint->AdjustedCovar(2)); Loading @@ -1685,7 +1689,7 @@ namespace Isis { protoPoint.set_referenceindex(j); } protoMeasure.set_serialnumber(controlMeasure.GetCubeSerialNumber()); protoMeasure.set_serialnumber(controlMeasure.GetCubeSerialNumber().toStdString()); switch ( controlMeasure.GetType() ) { case (ControlMeasure::MeasureType::Candidate): Loading @@ -1706,11 +1710,11 @@ namespace Isis { } if (controlMeasure.HasChooserName()) { protoMeasure.set_choosername(controlMeasure.GetChooserName()); protoMeasure.set_choosername(controlMeasure.GetChooserName().toStdString()); } if (controlMeasure.HasDateTime()) { protoMeasure.set_datetime(controlMeasure.GetDateTime()); protoMeasure.set_datetime(controlMeasure.GetDateTime().toStdString()); } protoMeasure.set_editlock(controlMeasure.IsEditLocked()); Loading @@ -1722,19 +1726,19 @@ namespace Isis { } if (controlMeasure.HasLine()) { protoMeasure.set_line(controlMeasure.GetLine())); protoMeasure.set_line(controlMeasure.GetLine()); } if (controlMeasure.HasDiameter()) { protoMeasure.set_diameter(controlMeasure.GetDiameter())); protoMeasure.set_diameter(controlMeasure.GetDiameter()); } if (controlMeasure.HasAprioriSample()) { protoMeasure.set_apriorisample(controlMeasure.GetAprioriSample())); protoMeasure.set_apriorisample(controlMeasure.GetAprioriSample()); } if (controlMeasure.HasAprioriLine()) { protoMeasure.set_aprioriline(controlMeasure.GetAprioriLine())); protoMeasure.set_aprioriline(controlMeasure.GetAprioriLine()); } if (controlMeasure.HasSampleSigma()) { Loading @@ -1755,32 +1759,29 @@ namespace Isis { // I removed the if statement because we always initialize jigsawRejected to false // in ControlPoint. protoMeasure.set_jigsawrejected(controlMeasure.JigsawRejected())); protoMeasure.set_jigsawrejected(controlMeasure.JigsawRejected()); QVector<ControlMeasureLogData> measureLogs = controlMeasure.GetLogDataEntries(); for (int logEntry = 0; logEntry < controlMeasure.LogSize(); // DNE? logEntry < measureLogs.size(); // DNE? logEntry ++) { const ControlMeasureLogData &log = controlMeasure.GetLogData(logEntry); // Not sure this is right. const ControlMeasureLogData &log = measureLogs[logEntry]; // These methods might not not exist, we may need to wrap each of These // In if/else statements because they're optional values. ControlPointFileEntryV0002_Measure_MeasureLogData logData; logData.set_doubledatatype(log.GetDoubleDataType()); logData.set_doubledatavalue(log.GetDoubleDataValue()); logData.set_booldatatype(log.GetBoolDataType()); logData.set_booldatavalue(log.getBoolDataValue()); logData.set_doubledatatype( (int) log.GetDataType() ); logData.set_doubledatavalue( log.GetNumericalValue() ); protoMeasure.add_log(logData); *protoMeasure.add_log() = logData; } if (controlPoint->HasRefMeasure() && controlPoint->IndexOfRefMeasure() == j) { protoPoint.set_referenceindex(j); } protoPoint.add_measure(protoMeasure); protoPoint.add_measures(protoMeasure); } int msgSize(protoPoint.ByteSize()); Loading
isis/src/control/objs/ControlNetVersioner/ControlNetVersioner.h +28 −24 Original line number Diff line number Diff line Loading @@ -30,6 +30,10 @@ #include <QVector> #include "ControlPoint.h" #include "ControlPointV0001.h" #include "ControlPointV0002.h" #include "ControlPointV0003.h" class QString; Loading @@ -39,6 +43,9 @@ namespace Isis { class Pvl; class PvlContainer; class PvlObject; class ControlPointV0001; class ControlPointV0002; class ControlPointV0003; /** * @brief Handle Various Control Network Versions Loading Loading @@ -138,13 +145,10 @@ namespace Isis { * @history 2017-12-18 Adam Goins and Kristin Berry - Added new write() method. * @history 2017-12-19 Kristin Berry - Corrected method names and general cleanup in toPvl and * write for refactor. * @history 2017-12-20 Jeannie Backer - Updated toPvl and write methods to get surface point * information from the ControlPoint. * @histroy 2017-12-20 Jesse Mapel - Made read and createPoint methods match new * ControlPointV#### classes. */ class ControlNetVersioner { class ControlPointV0001; class ControlPointV0002; class ControlPointV0003; public: ControlNetVersioner(QSharedPointer<ControlNet> net); Loading Loading @@ -180,13 +184,13 @@ namespace Isis { QString description; QString userName; }; typedef ControlNetHeaderV0002 ControlNetHeaderV0001; typedef ControlNetHeaderV0003 ControlNetHeaderV0001; typedef ControlNetHeaderV0004 ControlNetHeaderV0001; typedef ControlNetHeaderV0005 ControlNetHeaderV0001; typedef ControlNetHeaderV0001 ControlNetHeaderV0002; typedef ControlNetHeaderV0001 ControlNetHeaderV0003; typedef ControlNetHeaderV0001 ControlNetHeaderV0004; typedef ControlNetHeaderV0001 ControlNetHeaderV0005; typedef ControlPointV0004 ControlPointV0003; typedef ControlPointV0005 ControlPointV0003; typedef ControlPointV0003 ControlPointV0004; typedef ControlPointV0003 ControlPointV0005; void read(const FileName netFile); Loading @@ -206,12 +210,12 @@ namespace Isis { QSharedPointer<ControlPoint> createPoint(const ControlPointV0002 point); QSharedPointer<ControlPoint> createPoint(const ControlPointV0003 point); QSharedPointer<ControlMeasure> createMeasure(const ControlMeasureV0006 measure); QSharedPointer<ControlMeasure> createMeasure(const ControlPointFileEntryV0002_Measure&); void setHeader(const ControlNetHeaderV0001 header); void createHeader(const ControlNetHeaderV0001 header); void writeHeader(ZeroCopyOutputStream *fileStream); void writeFirstPoint(ZeroCopyOutputStream *fileStream); void writeHeader(google::protobuf::io::ZeroCopyOutputStream *fileStream); int writeFirstPoint(google::protobuf::io::ZeroCopyOutputStream *fileStream); ControlNetHeaderV0005 m_header; /**< Header containing information about the whole network.*/ Loading