Changeset 8cede7 for src/boundary.cpp


Ignore:
Timestamp:
Jul 9, 2009, 12:02:46 PM (16 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
a37350
Parents:
b65901
Message:

Lots of changes to the number of output messages.

As the finding of the non-convex boundary is done, we have cut down a lot on the output created by the procedure. Most of the INFO messages are commented out and all of the REJECTs and Current Candidates and so on as well. There still remains all that is necessary, triangles found, the sequence of accepted candidates, the number of baselines not connected to two triangles ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/boundary.cpp

    rb65901 r8cede7  
    14811481  } else {
    14821482    delete TPS[n];
    1483     cout << Verbose(2) << "Atom " << *((InsertUnique.first)->second->node) << " is already present in PointsOnBoundary." << endl;
     1483    cout << Verbose(3) << "Atom " << *((InsertUnique.first)->second->node) << " is already present in PointsOnBoundary." << endl;
    14841484    TPS[n] = (InsertUnique.first)->second;
    14851485  }
     
    15061506      if (FindLine->second->TrianglesCount < 2) {
    15071507        insertNewLine = false;
    1508         cout << Verbose(2) << "Using existing line " << *FindLine->second << endl;
     1508        cout << Verbose(3) << "Using existing line " << *FindLine->second << endl;
    15091509
    15101510        BPS[0] = FindLine->second->endpoints[0];
     
    15331533void Tesselation::AlwaysAddTriangleLine(class BoundaryPointSet *a, class BoundaryPointSet *b, int n)
    15341534{
    1535   cout << Verbose(2) << "Adding line between " << *(a->node) << " and " << *(b->node) << "." << endl;
     1535  cout << Verbose(3) << "Adding line between " << *(a->node) << " and " << *(b->node) << "." << endl;
    15361536  BPS[0] = a;
    15371537  BPS[1] = b;
     
    17311731  beta = M_PI - SideC.Angle(&SideA);
    17321732  gamma = M_PI - SideA.Angle(&SideB);
    1733   cout << Verbose(3) << "INFO: alpha = " << alpha/M_PI*180. << ", beta = " << beta/M_PI*180. << ", gamma = " << gamma/M_PI*180. << "." << endl;
     1733  //cout << Verbose(3) << "INFO: alpha = " << alpha/M_PI*180. << ", beta = " << beta/M_PI*180. << ", gamma = " << gamma/M_PI*180. << "." << endl;
    17341734  if (fabs(M_PI - alpha - beta - gamma) > HULLEPSILON)
    1735     cerr << "Sum of angles " << (alpha+beta+gamma)/M_PI*180. << " > 180 degrees by " << fabs(M_PI - alpha - beta - gamma)/M_PI*180. << "!" << endl;
     1735    cerr << "GetCenterofCircumcircle: Sum of angles " << (alpha+beta+gamma)/M_PI*180. << " > 180 degrees by " << fabs(M_PI - alpha - beta - gamma)/M_PI*180. << "!" << endl;
    17361736
    17371737  Center->Zero();
     
    17801780  if (helper.ScalarProduct(&SearchDirection) < -HULLEPSILON)  // acos is not unique on [0, 2.*M_PI), hence extra check to decide between two half intervals
    17811781    alpha = 2.*M_PI - alpha;
    1782   cout << Verbose(2) << "INFO: RelativeNewSphereCenter is " << helper << ", RelativeOldSphereCenter is " << OldSphereCenter << " and resulting angle is " << alpha << "." << endl;
     1782  //cout << Verbose(2) << "INFO: RelativeNewSphereCenter is " << helper << ", RelativeOldSphereCenter is " << OldSphereCenter << " and resulting angle is " << alpha << "." << endl;
    17831783  radius = helper.Distance(&OldSphereCenter);
    17841784  helper.ProjectOntoPlane(&NormalVector);
    17851785  // check whether new center is somewhat away or at least right over the current baseline to prevent intersecting triangles
    17861786  if ((radius > HULLEPSILON) || (helper.Norm() < HULLEPSILON)) {
    1787     cout << Verbose(2) << "INFO: Distance between old and new center is " << radius << " and between new center and baseline center is " << helper.Norm() << "." << endl;
     1787    //cout << Verbose(2) << "INFO: Distance between old and new center is " << radius << " and between new center and baseline center is " << helper.Norm() << "." << endl;
    17881788    return alpha;
    17891789  } else {
    1790     cout << Verbose(1) << "INFO: NewSphereCenter " << helper << " is too close to OldSphereCenter" << OldSphereCenter << "." << endl;
     1790    //cout << Verbose(1) << "INFO: NewSphereCenter " << helper << " is too close to OldSphereCenter" << OldSphereCenter << "." << endl;
    17911791    return 2.*M_PI;
    17921792  }
     
    18101810  class BoundaryPointSet *Points[3];
    18111811
    1812   *out << Verbose(2) << "Begin of CheckPresenceOfTriangle" << endl;
     1812  //*out << Verbose(2) << "Begin of CheckPresenceOfTriangle" << endl;
    18131813  // builds a triangle point set (Points) of the end points
    18141814  for (int i = 0; i < 3; i++) {
     
    19171917  cout << Verbose(1) << "Begin of Find_third_point_for_Tesselation" << endl;
    19181918
    1919   cout << Verbose(2) << "INFO: NormalVector of BaseTriangle is " << NormalVector << "." << endl;
     1919  //cout << Verbose(2) << "INFO: NormalVector of BaseTriangle is " << NormalVector << "." << endl;
    19201920
    19211921  // construct center of circle
     
    19331933    CircleRadius = RADIUS*RADIUS - radius/4.;
    19341934    CirclePlaneNormal.Normalize();
    1935     cout << Verbose(2) << "INFO: CircleCenter is at " << CircleCenter << ", CirclePlaneNormal is " << CirclePlaneNormal << " with circle radius " << sqrt(CircleRadius) << "." << endl;
     1935    //cout << Verbose(2) << "INFO: CircleCenter is at " << CircleCenter << ", CirclePlaneNormal is " << CirclePlaneNormal << " with circle radius " << sqrt(CircleRadius) << "." << endl;
    19361936
    19371937    // test whether old center is on the band's plane
     
    19441944
    19451945      // check SearchDirection
    1946       cout << Verbose(2) << "INFO: SearchDirection is " << SearchDirection << "." << endl;
     1946      //cout << Verbose(2) << "INFO: SearchDirection is " << SearchDirection << "." << endl;
    19471947      if (fabs(OldSphereCenter.ScalarProduct(&SearchDirection)) > HULLEPSILON) {  // rotated the wrong way!
    19481948        cerr << "ERROR: SearchDirection and RelativeOldSphereCenter are not orthogonal!" << endl;
     
    19511951      // get cell for the starting atom
    19521952      if (LC->SetIndexToVector(&CircleCenter)) {
    1953           for(int i=0;i<NDIM;i++) // store indices of this cell
    1954           N[i] = LC->n[i];
    1955         cout << Verbose(2) << "INFO: Center cell is " << N[0] << ", " << N[1] << ", " << N[2] << " with No. " << LC->index << "." << endl;
     1953        for(int i=0;i<NDIM;i++) // store indices of this cell
     1954        N[i] = LC->n[i];
     1955        //cout << Verbose(2) << "INFO: Center cell is " << N[0] << ", " << N[1] << ", " << N[2] << " with No. " << LC->index << "." << endl;
    19561956      } else {
    19571957        cerr << "ERROR: Vector " << CircleCenter << " is outside of LinkedCell's bounding box." << endl;
     
    19591959      }
    19601960      // then go through the current and all neighbouring cells and check the contained atoms for possible candidates
    1961       cout << Verbose(2) << "LC Intervals:";
     1961      //cout << Verbose(2) << "LC Intervals:";
    19621962      for (int i=0;i<NDIM;i++) {
    19631963        Nlower[i] = ((N[i]-1) >= 0) ? N[i]-1 : 0;
    19641964        Nupper[i] = ((N[i]+1) < LC->N[i]) ? N[i]+1 : LC->N[i]-1;
    1965         cout << " [" << Nlower[i] << "," << Nupper[i] << "] ";
     1965        //cout << " [" << Nlower[i] << "," << Nupper[i] << "] ";
    19661966      }
    1967       cout << endl;
     1967      //cout << endl;
    19681968      for (LC->n[0] = Nlower[0]; LC->n[0] <= Nupper[0]; LC->n[0]++)
    19691969        for (LC->n[1] = Nlower[1]; LC->n[1] <= Nupper[1]; LC->n[1]++)
     
    19761976
    19771977                // check for three unique points
    1978                 cout << Verbose(1) << "INFO: Current Candidate is " << *Candidate << " at " << Candidate->x << "." << endl;
     1978                //cout << Verbose(2) << "INFO: Current Candidate is " << *Candidate << " at " << Candidate->x << "." << endl;
    19791979                if ((Candidate != BaseLine->endpoints[0]->node) && (Candidate != BaseLine->endpoints[1]->node) ){
    19801980
     
    19871987                  ) {
    19881988                    helper.CopyVector(&NewNormalVector);
    1989                     cout << Verbose(2) << "INFO: NewNormalVector is " << NewNormalVector << "." << endl;
     1989                    //cout << Verbose(2) << "INFO: NewNormalVector is " << NewNormalVector << "." << endl;
    19901990                    radius = BaseLine->endpoints[0]->node->x.DistanceSquared(&NewSphereCenter);
    19911991                    if (radius < RADIUS*RADIUS) {
    19921992                      helper.Scale(sqrt(RADIUS*RADIUS - radius));
    1993                       cout << Verbose(2) << "INFO: Distance of NewCircleCenter to NewSphereCenter is " << helper.Norm() << " with sphere radius " << RADIUS << "." << endl;
     1993                      //cout << Verbose(2) << "INFO: Distance of NewCircleCenter to NewSphereCenter is " << helper.Norm() << " with sphere radius " << RADIUS << "." << endl;
    19941994                      NewSphereCenter.AddVector(&helper);
    19951995                      NewSphereCenter.SubtractVector(&CircleCenter);
    1996                       cout << Verbose(2) << "INFO: NewSphereCenter is at " << NewSphereCenter << "." << endl;
     1996                      //cout << Verbose(2) << "INFO: NewSphereCenter is at " << NewSphereCenter << "." << endl;
    19971997
    19981998                      // OtherNewSphereCenter is created by the same vector just in the other direction
     
    20002000                      OtherNewSphereCenter.AddVector(&helper);
    20012001                      OtherNewSphereCenter.SubtractVector(&CircleCenter);
    2002                       cout << Verbose(2) << "INFO: OtherNewSphereCenter is at " << OtherNewSphereCenter << "." << endl;
     2002                      //cout << Verbose(2) << "INFO: OtherNewSphereCenter is at " << OtherNewSphereCenter << "." << endl;
    20032003
    20042004                      alpha = GetPathLengthonCircumCircle(CircleCenter, CirclePlaneNormal, CircleRadius, NewSphereCenter, OldSphereCenter, NormalVector, SearchDirection);
     
    20192019                        if ((*ShortestAngle - HULLEPSILON) < alpha) {
    20202020                          candidates->push_back(optCandidate);
    2021                           cout << Verbose(1) << "ACCEPT: We have found an equally good candidate: " << *(optCandidate->point) << " with "
     2021                          cout << Verbose(2) << "ACCEPT: We have found an equally good candidate: " << *(optCandidate->point) << " with "
    20222022                            << alpha << " and circumsphere's center at " << optCandidate->OptCenter << "." << endl;
    20232023                        } else {
     
    20302030                          candidates->clear();
    20312031                          candidates->push_back(optCandidate);
    2032                           cout << Verbose(1) << "ACCEPT: We have found a better candidate: " << *(optCandidate->point) << " with "
     2032                          cout << Verbose(2) << "ACCEPT: We have found a better candidate: " << *(optCandidate->point) << " with "
    20332033                            << alpha << " and circumsphere's center at " << optCandidate->OptCenter << "." << endl;
    20342034                        }
    20352035                        *ShortestAngle = alpha;
    2036                         cout << Verbose(2) << "INFO: There are " << candidates->size() << " candidates in the list now." << endl;
     2036                        //cout << Verbose(2) << "INFO: There are " << candidates->size() << " candidates in the list now." << endl;
    20372037                      } else {
    2038                         if ((optCandidate != NULL) && (optCandidate->point != NULL))
    2039                           cout << Verbose(1) << "REJECT: Old candidate: " << *(optCandidate->point) << " is better than " << alpha << " with " << *ShortestAngle << "." << endl;
    2040                         else
    2041                           cout << Verbose(2) << "REJECT: Candidate " << *Candidate << " with " << alpha << " was rejected." << endl;
     2038                        if ((optCandidate != NULL) && (optCandidate->point != NULL)) {
     2039                          //cout << Verbose(2) << "REJECT: Old candidate: " << *(optCandidate->point) << " is better than " << alpha << " with " << *ShortestAngle << "." << endl;
     2040                        } else {
     2041                          //cout << Verbose(2) << "REJECT: Candidate " << *Candidate << " with " << alpha << " was rejected." << endl;
     2042                        }
    20422043                      }
    20432044
    20442045                    } else {
    2045                       cout << Verbose(1) << "REJECT: NewSphereCenter " << NewSphereCenter << " is too far away: " << radius << "." << endl;
     2046                      //cout << Verbose(2) << "REJECT: NewSphereCenter " << NewSphereCenter << " is too far away: " << radius << "." << endl;
    20462047                    }
    20472048                  } else {
    2048                     cout << Verbose(1) << "REJECT: Three points from " << *BaseLine << " and Candidate " << *Candidate << " are linear-dependent." << endl;
     2049                    //cout << Verbose(2) << "REJECT: Three points from " << *BaseLine << " and Candidate " << *Candidate << " are linear-dependent." << endl;
    20492050                  }
    20502051                } else {
    2051                   if (ThirdNode != NULL)
    2052                     cout << Verbose(1) << "REJECT: Base triangle " << *BaseLine << " and " << *ThirdNode << " contains Candidate " << *Candidate << "." << endl;
    2053                   else
    2054                     cout << Verbose(1) << "REJECT: Base triangle " << *BaseLine << " contains Candidate " << *Candidate << "." << endl;
     2052                  if (ThirdNode != NULL) {
     2053                    //cout << Verbose(2) << "REJECT: Base triangle " << *BaseLine << " and " << *ThirdNode << " contains Candidate " << *Candidate << "." << endl;
     2054                  } else {
     2055                    //cout << Verbose(2) << "REJECT: Base triangle " << *BaseLine << " contains Candidate " << *Candidate << "." << endl;
     2056                  }
    20552057                }
    20562058              }
     
    20582060          }
    20592061    } else {
    2060       cerr << Verbose(1) << "ERROR: The projected center of the old sphere has radius " << radius << " instead of " << CircleRadius << "." << endl;
     2062      cerr << Verbose(2) << "ERROR: The projected center of the old sphere has radius " << radius << " instead of " << CircleRadius << "." << endl;
    20612063    }
    20622064  } else {
    20632065    if (ThirdNode != NULL)
    2064       cout << Verbose(1) << "Circumcircle for base line " << *BaseLine << " and third node " << *ThirdNode << " is too big!" << endl;
     2066      cout << Verbose(2) << "Circumcircle for base line " << *BaseLine << " and third node " << *ThirdNode << " is too big!" << endl;
    20652067    else
    2066       cout << Verbose(1) << "Circumcircle for base line " << *BaseLine << " is too big!" << endl;
    2067   }
    2068 
    2069   cout << Verbose(1) << "INFO: Sorting candidate list ..." << endl;
     2068      cout << Verbose(2) << "Circumcircle for base line " << *BaseLine << " is too big!" << endl;
     2069  }
     2070
     2071  //cout << Verbose(2) << "INFO: Sorting candidate list ..." << endl;
    20702072  if (candidates->size() > 1) {
    20712073          candidates->unique();
     
    22632265      for (LC->n[2] = Nlower[2]; LC->n[2] <= Nupper[2]; LC->n[2]++) {
    22642266        List = LC->GetCurrentCell();
    2265         cout << Verbose(2) << "Current cell is " << LC->n[0] << ", " << LC->n[1] << ", " << LC->n[2] << " with No. " << LC->index << "." << endl;
     2267        //cout << Verbose(2) << "Current cell is " << LC->n[0] << ", " << LC->n[1] << ", " << LC->n[2] << " with No. " << LC->index << "." << endl;
    22662268        if (List != NULL) {
    22672269          for (LinkedAtoms::iterator Runner = List->begin(); Runner != List->end(); Runner++) {
    22682270            Candidate = (*Runner);
    2269           cout << Verbose(2) << "Current candidate is " << *Candidate << ": ";
    22702271            // check if we only have one unique point yet ...
    22712272            if (a != Candidate) {
     
    22962297                if (angle < Storage[0]) {
    22972298                  //cout << Verbose(1) << "Old values of Storage: %lf %lf \n", Storage[0], Storage[1]);
    2298                   cout << "Is a better candidate with distance " << norm << " and angle " << angle << " to oben " << Oben << ".\n";
     2299                  cout << Verbose(2) << "Current candidate is " << *Candidate << ": Is a better candidate with distance " << norm << " and angle " << angle << " to oben " << Oben << ".\n";
    22992300                  Opt_Candidate = Candidate;
    23002301                  Storage[0] = angle;
    23012302                  //cout << Verbose(1) << "Changing something in Storage: %lf %lf. \n", Storage[0], Storage[2]);
    23022303                } else {
    2303                   cout << "Looses with angle " << angle << " to a better candidate " << *Opt_Candidate << endl;
     2304                  //cout << Verbose(2) << "Current candidate is " << *Candidate << ": Looses with angle " << angle << " to a better candidate " << *Opt_Candidate << endl;
    23042305                }
    23052306              } else {
    2306                 cout << "Refused due to Radius " << norm << endl;
     2307                //cout << Verbose(2) << "Current candidate is " << *Candidate << ": Refused due to Radius " << norm << endl;
    23072308              }
    23082309            } else {
    2309               cout << " Candidate is equal to first endpoint " << *a << "." << endl;
     2310              //cout << Verbose(2) << "Current candidate is " << *Candidate << ": Candidate is equal to first endpoint." << *a << "." << endl;
    23102311            }
    23112312          }
     
    23542355        if (List != NULL) {
    23552356          for (LinkedAtoms::iterator Runner = List->begin();Runner != List->end();Runner++) {
    2356             cout << Verbose(2) << "Current atom is " << *(*Runner) << "." << endl;
    23572357            if ((*Runner)->x.x[i] > max_coordinate[i]) {
     2358              cout << Verbose(2) << "New maximal for axis " << i << " atom is " << *(*Runner) << " at " << (*Runner)->x << "." << endl;
    23582359              max_coordinate[i] = (*Runner)->x.x[i];
    23592360              MaxAtom[i] = (*Runner);
     
    23992400  // Now, oben and helper are two orthonormalized vectors in the plane defined by Chord (not normalized)
    24002401
    2401   cout << Verbose(2) << "Looking for third point candidates \n";
    24022402  // look in one direction of baseline for initial candidate
    24032403  CandidateList *Opt_Candidates = new CandidateList();
     
    24092409  AddTriangleLine(TPS[0], TPS[1], 0);
    24102410
    2411   cout << Verbose(1) << "Looking for third point candidates ...\n";
    2412   cout << Verbose(2) << "INFO: OldSphereCenter is at " << helper << ".\n";
     2411  //cout << Verbose(2) << "INFO: OldSphereCenter is at " << helper << ".\n";
    24132412  Find_third_point_for_Tesselation(
    24142413    Oben, SearchDirection, helper, BLS[0], NULL, *&Opt_Candidates, &ShortestAngle, RADIUS, LC
    24152414  );
    2416   cout << Verbose(1) << "Third Points are ";
     2415  cout << Verbose(1) << "List of third Points is ";
    24172416  for (CandidateList::iterator it = Opt_Candidates->begin(); it != Opt_Candidates->end(); ++it) {
    24182417      cout << " " << *(*it)->point;
     
    25092508    const double& RADIUS, int N, const char *tempbasename, LinkedCell *LC)
    25102509{
    2511   cout << Verbose(1) << "Begin of Find_next_suitable_triangle\n";
     2510  cout << Verbose(0) << "Begin of Find_next_suitable_triangle\n";
    25122511  ofstream *tempstream = NULL;
    25132512  char NumberName[255];
     
    25532552    OldSphereCenter.AddVector(&helper);
    25542553    OldSphereCenter.SubtractVector(&CircleCenter);
    2555     cout << Verbose(2) << "INFO: OldSphereCenter is at " << OldSphereCenter << "." << endl;
     2554    //cout << Verbose(2) << "INFO: OldSphereCenter is at " << OldSphereCenter << "." << endl;
    25562555
    25572556    // construct SearchDirection
     
    25702569
    25712570    // add third point
    2572     cout << Verbose(1) << "Looking for third point candidates for triangle ... " << endl;
    25732571    Find_third_point_for_Tesselation(
    25742572      T.NormalVector, SearchDirection, OldSphereCenter, &Line, ThirdNode, Opt_Candidates,
     
    26222620      cout << "--> New triangle with " << *BTS << " and normal vector " << BTS->NormalVector
    26232621        << " for this triangle ... " << endl;
    2624       cout << Verbose(1) << "We have "<< TrianglesOnBoundaryCount << " for line " << BaseRay << "." << endl;
     2622      //cout << Verbose(1) << "We have "<< TrianglesOnBoundaryCount << " for line " << *BaseRay << "." << endl;
    26252623          } else if (existentTrianglesCount == 1) { // If there is a planar region within the structure, we need this triangle a second time.
    26262624        AddTrianglePoint((*it)->point, 0);
     
    27222720  }
    27232721  delete(Opt_Candidates);
    2724   cout << Verbose(1) << "End of Find_next_suitable_triangle\n";
     2722  cout << Verbose(0) << "End of Find_next_suitable_triangle\n";
    27252723  return result;
    27262724};
     
    28082806      if (!failflag)
    28092807        cerr << "WARNING: Find_next_suitable_triangle failed." << endl;
    2810 
    2811       // we inserted new lines, hence show list with connected triangles
    2812       cout << Verbose(1) << "List of Baselines with connected triangles so far:" << endl;
    2813       for (testline = Tess->LinesOnBoundary.begin(); testline != Tess->LinesOnBoundary.end(); testline++) {
    2814         cout << Verbose(1) << *testline->second << "\t" << testline->second->TrianglesCount << endl;
    2815       }
    28162808    } else {
    2817       cout << Verbose(1) << "Line " << *baseline->second << " has " << baseline->second->TrianglesCount << " triangles adjacent" << endl;
     2809      //cout << Verbose(1) << "Line " << *baseline->second << " has " << baseline->second->TrianglesCount << " triangles adjacent" << endl;
    28182810      if (baseline->second->TrianglesCount != 2)
    28192811        cout << Verbose(1) << "ERROR: TESSELATION FINISHED WITH INVALID TRIANGLE COUNT!" << endl;
     
    28482840    cerr << "ERROR: Could definitively not find all necessary triangles!" << endl;
    28492841  }
     2842
     2843  cout << Verbose(2) << "Check: List of Baselines with not two connected triangles:" << endl;
     2844  int counter = 0;
     2845  for (testline = Tess->LinesOnBoundary.begin(); testline != Tess->LinesOnBoundary.end(); testline++) {
     2846    if (testline->second->TrianglesCount != 2) {
     2847      cout << Verbose(2) << *testline->second << "\t" << testline->second->TrianglesCount << endl;
     2848      counter++;
     2849    }
     2850  }
     2851  if (counter == 0)
     2852    cout << Verbose(2) << "None." << endl;
     2853
    28502854  if (freeTess)
    28512855    delete(Tess);
Note: See TracChangeset for help on using the changeset viewer.