Changeset 783e88


Ignore:
Timestamp:
Apr 6, 2011, 1:50:41 PM (14 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:
00bb38
Parents:
8b9c43
git-author:
Frederik Heber <heber@…> (04/01/11 21:30:33)
git-committer:
Frederik Heber <heber@…> (04/06/11 13:50:41)
Message:

Removed LinearDependenceException, MultipleSolutionsException and MathException from Exceptions.

Location:
src
Files:
5 deleted
12 edited

Legend:

Unmodified
Added
Removed
  • src/BoundaryTriangleSet.cpp

    r8b9c43 r783e88  
    3434#include "CodePatterns/Log.hpp"
    3535#include "CodePatterns/Verbose.hpp"
     36#include "LinearAlgebra/Exceptions.hpp"
    3637#include "LinearAlgebra/Line.hpp"
    3738#include "LinearAlgebra/Plane.hpp"
     
    186187    return true;
    187188  }
    188   catch (MathException &excp) {
    189     Log() << Verbose(1) << excp;
     189  catch (LinearAlgebraException &excp) {
     190    Log() << Verbose(1) << boost::diagnostic_information(excp);
    190191    DoeLog(1) && (eLog() << Verbose(1) << "Alas! Intersection with plane failed - at least numerically - the intersection is not on the plane!" << endl);
    191192    return false;
     
    218219    ClosestPoint = Plane(NormalVector, (endpoints[0]->node->getPosition())).GetIntersection(l);
    219220  }
    220   catch (MathException &excp) {
     221  catch (LinearAlgebraException &excp) {
    221222    (ClosestPoint) = (x);
    222223  }
  • src/Exceptions/Makefile.am

    r8b9c43 r783e88  
    1010  CustomException.cpp \
    1111  IllegalTypeException.cpp \
    12   LinearDependenceException.cpp \
    13   MathException.cpp \
    1412  MissingValueException.cpp \
    1513  NotOnSurfaceException.cpp \
     
    2119  CustomException.hpp \
    2220  IllegalTypeException.hpp \
    23   LinearDependenceException.hpp \
    24   MathException.hpp \
    2521  MissingValueException.hpp \
    2622  NotOnSurfaceException.hpp \
  • src/LinearAlgebra/Exceptions.hpp

    r8b9c43 r783e88  
    3636typedef boost::error_info<struct tag_LinearAlgebraVector, const Vector* const> LinearAlgebraVector;
    3737
     38/** Exception information for LinearAlgebraException: vector.
     39 */
     40typedef boost::error_info<
     41    struct tag_LinearAlgebraVectorPair,
     42    const std::pair<const Vector* const, const Vector* const> > LinearAlgebraVectorPair;
     43
    3844/** ============================ Specific exceptions ====================== */
     45
     46/** Exception thrown when two vectors are parallel, i.e. linear dependent.
     47 */
     48struct LinearDependenceException : virtual LinearAlgebraException { };
     49
     50/** Exception thrown when are matrix is not invertiable, i.e. its determinant is NULL.
     51 */
     52struct MultipleSolutionsException : virtual LinearAlgebraException { };
     53
     54/** Exception thrown when are matrix is not invertiable, i.e. its determinant is NULL.
     55 */
     56struct NotInvertibleException : virtual LinearAlgebraException { };
    3957
    4058/** Exception thrown when two lines are skew, i.e. do not intersect.
    4159 */
    4260struct SkewException : virtual LinearAlgebraException { };
    43 
    44 /** Exception thrown when are matrix is not invertiable, i.e. its determinant is NULL.
    45  */
    46 struct NotInvertibleException : virtual LinearAlgebraException { };
    4761
    4862/** Exception thrown when a vector with only zero components is invalidly encountered.
  • src/LinearAlgebra/Line.cpp

    r8b9c43 r783e88  
    2929#include "CodePatterns/Log.hpp"
    3030#include "CodePatterns/Verbose.hpp"
    31 #include "Exceptions/LinearDependenceException.hpp"
    32 #include "Exceptions.hpp"
    3331#include "LinearAlgebra/defs.hpp"
     32#include "LinearAlgebra/Exceptions.hpp"
    3433#include "LinearAlgebra/MatrixContent.hpp"
    3534#include "LinearAlgebra/Plane.hpp"
     
    151150   res.Zero();
    152151   Log() << Verbose(1) << "At least one of the lines is ill-defined, i.e. offset equals second vector." << endl;
    153    throw LinearDependenceException(__FILE__,__LINE__);
     152   throw LinearDependenceException() << LinearAlgebraVectorPair( make_pair(&a, &b) );
    154153  }
    155154
     
    175174    Log() << Verbose(1) << "Lines are parallel." << endl;
    176175    res.Zero();
    177     throw LinearDependenceException(__FILE__,__LINE__);
     176    throw LinearDependenceException() << LinearAlgebraVectorPair( make_pair(&a, &b) );
    178177  }
    179178
     
    304303Line makeLineThrough(const Vector &x1, const Vector &x2){
    305304  if(x1==x2){
    306     throw LinearDependenceException(__FILE__,__LINE__);
     305    throw LinearDependenceException() << LinearAlgebraVectorPair( make_pair(&x1, &x2) );
    307306  }
    308307  return Line(x1,x1-x2);
  • src/LinearAlgebra/Plane.cpp

    r8b9c43 r783e88  
    2727#include "CodePatterns/Log.hpp"
    2828#include "CodePatterns/Verbose.hpp"
    29 #include "Exceptions/MultipleSolutionsException.hpp"
    3029#include "LinearAlgebra/defs.hpp"
    3130#include "LinearAlgebra/Exceptions.hpp"
     
    4140  normalVector(new Vector())
    4241{
    43   Vector x1 = y1 -y2;
    44   Vector x2 = y3 -y2;
    45   if ((fabs(x1.Norm()) <= LINALG_MYEPSILON()) || (fabs(x2.Norm()) <= LINALG_MYEPSILON()) || (fabs(x1.Angle(x2)) <= LINALG_MYEPSILON())) {
    46     throw LinearDependenceException(__FILE__,__LINE__);
     42  Vector x1 = y1 - y2;
     43  Vector x2 = y3 - y2;
     44  if ((x1.Norm() <= LINALG_MYEPSILON())) {
     45    throw LinearDependenceException() << LinearAlgebraVectorPair( make_pair(&y1, &y2) );
     46  }
     47  if ((x2.Norm() <= LINALG_MYEPSILON())) {
     48    throw LinearDependenceException() << LinearAlgebraVectorPair( make_pair(&y2, &y3) );
     49  }
     50  if((fabs(x1.Angle(x2)) <= LINALG_MYEPSILON())) {
     51    throw LinearDependenceException() << LinearAlgebraVectorPair( make_pair(&x1, &x2) );
    4752  }
    4853//  Log() << Verbose(4) << "relative, first plane coordinates:";
     
    6974  Vector x1 = y1;
    7075  Vector x2 = y2;
    71   if ((fabs(x1.Norm()) <= LINALG_MYEPSILON())) {
     76  if ((x1.Norm() <= LINALG_MYEPSILON())) {
    7277    throw ZeroVectorException() << LinearAlgebraVector(&x1);
    7378  }
    74   if ((fabs(x2.Norm()) <= LINALG_MYEPSILON())) {
     79  if ((x2.Norm() <= LINALG_MYEPSILON())) {
    7580    throw ZeroVectorException() << LinearAlgebraVector(&x2);
    7681  }
    7782  if((fabs(x1.Angle(x2)) <= LINALG_MYEPSILON())) {
    78     throw LinearDependenceException(__FILE__,__LINE__);
     83    throw LinearDependenceException() << LinearAlgebraVectorPair( make_pair(&x1, &x2) );
    7984  }
    8085//  Log() << Verbose(4) << "relative, first plane coordinates:";
     
    181186  Vector res;
    182187
    183   double factor1 = getNormal().ScalarProduct(line.getDirection());
     188  res = getNormal();
     189  const Vector direction = line.getDirection();
     190  double factor1 = res.ScalarProduct(direction);
    184191  if(fabs(factor1) <= LINALG_MYEPSILON()){
    185192    // the plane is parallel... under all circumstances this is bad luck
    186193    // we no have either no or infinite solutions
    187194    if(isContained(line.getOrigin())){
    188       throw MultipleSolutionsException<Vector>(__FILE__,__LINE__,line.getOrigin());
     195      const Vector origin = line.getOrigin();
     196      throw MultipleSolutionsException() << LinearAlgebraVector(&origin);
    189197    }
    190198    else{
    191       throw LinearDependenceException(__FILE__,__LINE__);
     199      throw LinearDependenceException() << LinearAlgebraVectorPair( make_pair(&res,  &direction) );
    192200    }
    193201  }
  • src/LinearAlgebra/Plane.hpp

    r8b9c43 r783e88  
    2121#include "LinearAlgebra/Exceptions.hpp"
    2222#include "LinearAlgebra/Space.hpp"
    23 #include "Exceptions/LinearDependenceException.hpp"
    2423
    2524class Vector;
  • src/LinearAlgebra/Vector.cpp

    r8b9c43 r783e88  
    2121#include "CodePatterns/Assert.hpp"
    2222#include "CodePatterns/Verbose.hpp"
    23 #include "Exceptions/MathException.hpp"
    2423#include "LinearAlgebra/defs.hpp"
    2524#include "LinearAlgebra/fast_functions.hpp"
  • src/LinearAlgebra/unittests/LineUnitTest.cpp

    r8b9c43 r783e88  
    2121#include "LinearAlgebra/Exceptions.hpp"
    2222#include "LinearAlgebra/Vector.hpp"
    23 #include "Exceptions/LinearDependenceException.hpp"
    2423
    2524#include <cppunit/CompilerOutputter.h>
  • src/LinearAlgebra/unittests/VectorUnitTest.cpp

    r8b9c43 r783e88  
    2727
    2828#include "CodePatterns/Log.hpp"
    29 #include "Exceptions/LinearDependenceException.hpp"
    3029#include "LinearAlgebra/defs.hpp"
    3130#include "LinearAlgebra/Plane.hpp"
  • src/LinearAlgebra/vector_ops.cpp

    r8b9c43 r783e88  
    2020#include "CodePatterns/MemDebug.hpp"
    2121
    22 #include "Exceptions/LinearDependenceException.hpp"
    2322#include "CodePatterns/Info.hpp"
    2423#include "CodePatterns/Log.hpp"
  • src/molecule.cpp

    r8b9c43 r783e88  
    3333#include "config.hpp"
    3434#include "element.hpp"
    35 #include "Exceptions/LinearDependenceException.hpp"
    3635#include "graph.hpp"
    3736#include "Graph/BondGraph.hpp"
     37#include "LinearAlgebra/Exceptions.hpp"
    3838#include "LinearAlgebra/leastsquaremin.hpp"
    3939#include "LinearAlgebra/Plane.hpp"
     
    431431        // determine the plane of these two with the *origin
    432432        try {
    433           Orthovector1 =Plane(TopOrigin->getPosition(), FirstOtherAtom->getPosition(), SecondOtherAtom->getPosition()).getNormal();
     433          Orthovector1 = Plane(TopOrigin->getPosition(), FirstOtherAtom->getPosition(), SecondOtherAtom->getPosition()).getNormal();
    434434        }
    435435        catch(LinearDependenceException &excp){
    436           Log() << Verbose(0) << excp;
     436          Log() << Verbose(0) << boost::diagnostic_information(excp);
    437437          // TODO: figure out what to do with the Orthovector in this case
    438438          AllWentWell = false;
     
    528528      }
    529529      catch(LinearDependenceException &excp) {
    530         Log() << Verbose(0) << excp;
     530        Log() << Verbose(0) << boost::diagnostic_information(excp);
    531531        AllWentWell = false;
    532532      }
  • src/tesselation.cpp

    r8b9c43 r783e88  
    3333#include "CodePatterns/Log.hpp"
    3434#include "CodePatterns/Verbose.hpp"
    35 #include "Exceptions/LinearDependenceException.hpp"
    3635#include "Helpers/helpers.hpp"
    3736#include "IPointCloud.hpp"
     37#include "LinearAlgebra/Exceptions.hpp"
     38#include "LinearAlgebra/Line.hpp"
     39#include "LinearAlgebra/Plane.hpp"
    3840#include "LinearAlgebra/Vector.hpp"
    39 #include "LinearAlgebra/Line.hpp"
    4041#include "LinearAlgebra/vector_ops.hpp"
    41 #include "LinearAlgebra/Plane.hpp"
    4242#include "linkedcell.hpp"
    4343#include "PointCloudAdaptor.hpp"
     
    21272127                  }
    21282128                  catch (LinearDependenceException &excp){
    2129                     Log() << Verbose(1) << excp;
     2129                    Log() << Verbose(1) << boost::diagnostic_information(excp);
    21302130                    Log() << Verbose(1) << "REJECT: Three points from " << *CandidateLine.BaseLine << " and Candidate " << *Candidate << " are linear-dependent." << endl;
    21312131                  }
Note: See TracChangeset for help on using the changeset viewer.