本文整理汇总了C++中ControlPoint::GetAprioriSurfacePointSource方法的典型用法代码示例。如果您正苦于以下问题:C++ ControlPoint::GetAprioriSurfacePointSource方法的具体用法?C++ ControlPoint::GetAprioriSurfacePointSource怎么用?C++ ControlPoint::GetAprioriSurfacePointSource使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ControlPoint
的用法示例。
在下文中一共展示了ControlPoint::GetAprioriSurfacePointSource方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: IsisMain
//.........这里部分代码省略.........
Longitude lon = surfacePoint.GetLongitude();
Latitude lat = surfacePoint.GetLatitude();
Coordinate *coord = new Coordinate(lon.degrees(), lat.degrees());
Envelope *envelope = new Envelope(*coord);
coordTree.insert(envelope, point);
}
}
else {
for (int cp = 0; cp < inNet.GetNumPoints(); cp++) {
pointList.append(inNet.GetPoint(cp));
}
}
// Loop through all the images
for (int img = 0; img < addList.size(); img++) {
Cube cube;
cube.open(addList[img].toString());
Pvl *cubepvl = cube.label();
QString sn = SerialNumber::Compose(*cubepvl);
Camera *cam = cube.camera();
// Loop through all the control points
QList<ControlPoint *> validPoints = usePolygon ?
getValidPoints(cube, coordTree) : pointList;
bool imageAdded = false;
for (int cp = 0; cp < validPoints.size(); cp++) {
ControlPoint *point = validPoints[cp];
// If the point is locked and Apriori source is "AverageOfMeasures"
// then do not add the measures.
if (point->IsEditLocked() &&
point->GetAprioriSurfacePointSource() ==
ControlPoint::SurfacePointSource::AverageOfMeasures) {
continue;
}
if (point->HasSerialNumber(sn)) continue;
// Only use the surface point's latitude and longitude, rely on the DEM
// for computing the radius. We do this because otherwise we will receive
// inconsistent results from successive runs of this program if the
// different DEMs are used, or the point X, Y, Z was generated from the
// ellipsoid.
SurfacePoint surfacePoint = g_surfacePoints[point->GetId()];
if (cam->SetGround(
surfacePoint.GetLatitude(), surfacePoint.GetLongitude())) {
// Make sure the samp & line are inside the image
if (cam->InCube()) {
ControlMeasure *newCm = new ControlMeasure();
newCm->SetCoordinate(cam->Sample(), cam->Line(), ControlMeasure::Candidate);
newCm->SetAprioriSample(cam->Sample());
newCm->SetAprioriLine(cam->Line());
newCm->SetCubeSerialNumber(sn);
newCm->SetDateTime();
newCm->SetChooserName("Application cnetadd");
// Check the measure for DEFFILE validity
if (checkMeasureValidity) {
if (!validator.ValidEmissionAngle(cam->EmissionAngle())) {
//TODO: log that it was Emission Angle that failed the check
newCm->SetIgnored(true);
}
else if (!validator.ValidIncidenceAngle(cam->IncidenceAngle())) {
示例2: FindCnetRef
//.........这里部分代码省略.........
}
//newPnt.UpdateMeasure(newMsr); // Redesign fixed this
pvlGrpVector.push_back(pvlMeasureGrp);
}// end Measure
if ((newPnt->GetNumMeasures() - iNumIgnore) < 2) {
if (bPntEditLock) {
pvlPointObj += Isis::PvlKeyword("UnIgnored", "Good Measures less than 2 but not Ignored as Point EditLock is True");
}
else {
newPnt->SetIgnored(true);
pvlPointObj += Isis::PvlKeyword("Ignored", "Good Measures less than 2");
}
}
// Set the Reference if the Point is unlocked and Reference measure is unlocked
if (!newPnt->IsIgnored() && !bPntEditLock && !bRefLocked) {
iBestIndex = GetReferenceByResolution(newPnt);
if (iBestIndex >= 0 && !newPnt->GetMeasure(iBestIndex)->IsIgnored()) {
newPnt->SetRefMeasure(iBestIndex);
//newPnt.UpdateMeasure(cm); // Redesign fixed this
pvlGrpVector[iBestIndex] += Isis::PvlKeyword("Reference", "true");
}
else {
if (iBestIndex < 0 && meType == Range) {
pvlPointObj += Isis::PvlKeyword("NOTE", "No Valid Measures within the Resolution Range. Reference defaulted to the first Measure");
}
iBestIndex = 0;
newPnt->SetRefMeasure(iBestIndex);
//newPnt.UpdateMeasure(cm); // Redesign fixed this
// Log info, if Point not locked, apriori source == Reference and a new reference
if (iRefIndex != iBestIndex &&
newPnt->GetAprioriSurfacePointSource() == ControlPoint::SurfacePointSource::Reference) {
pvlGrpVector[iBestIndex] += Isis::PvlKeyword("AprioriSource", "Reference is the source and has changed");
}
}
}
for (int i = 0; i < newPnt->GetNumMeasures(); i++) {
pvlPointObj += pvlGrpVector[i];
}
} // end Free
else {
int iComment = 0;
if (numMeasures == 0) {
QString sComment = "Comment";
sComment += QString(++iComment);
pvlPointObj += Isis::PvlKeyword(sComment, "No Measures in the Point");
}
if (newPnt->IsIgnored()) {
QString sComment = "Comment";
sComment += QString(++iComment);
pvlPointObj += Isis::PvlKeyword(sComment, "Point was originally Ignored");
}
if (newPnt->GetType() == ControlPoint::Fixed) {
QString sComment = "Comment";
sComment += QString(++iComment);
pvlPointObj += Isis::PvlKeyword(sComment, "Fixed Point");
}
else if (newPnt->GetType() == ControlPoint::Constrained) {
QString sComment = "Comment";
sComment += QString(++iComment);
pvlPointObj += Isis::PvlKeyword(sComment, "Constrained Point");