Changeset 6ac7ee for src/vector.hpp
- Timestamp:
- Feb 9, 2009, 5:24:10 PM (16 years ago)
- 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:
- d8b94a
- Parents:
- 124df1
- git-author:
- Frederik Heber <heber@…> (02/09/09 15:55:37)
- git-committer:
- Frederik Heber <heber@…> (02/09/09 17:24:10)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/vector.hpp
-
Property mode
changed from
100644
to100755
r124df1 r6ac7ee 8 8 */ 9 9 class Vector { 10 11 10 public: 11 double x[NDIM]; 12 12 13 14 15 13 Vector(); 14 Vector(double x1, double x2, double x3); 15 ~Vector(); 16 16 17 double Distance(const Vector *y) const; 18 double DistanceSquared(const Vector *y) const; 19 double PeriodicDistance(const Vector *y, const double *cell_size) const; 20 double ScalarProduct(const Vector *y) const; 21 double Projection(const Vector *y) const; 22 double Norm() const ; 23 double Angle(Vector *y) const; 17 double Distance(const Vector *y) const; 18 double DistanceSquared(const Vector *y) const; 19 double PeriodicDistance(const Vector *y, const double *cell_size) const; 20 double PeriodicDistanceSquared(const Vector *y, const double *cell_size) const; 21 double ScalarProduct(const Vector *y) const; 22 double Projection(const Vector *y) const; 23 double Norm() const ; 24 double Angle(const Vector *y) const; 24 25 25 void AddVector(const Vector *y); 26 void SubtractVector(const Vector *y); 27 void CopyVector(const Vector *y); 28 void RotateVector(const Vector *y, const double alpha); 29 void VectorProduct(const Vector *y); 30 void ProjectOntoPlane(const Vector *y); 31 void Zero(); 32 void One(double one); 33 void Init(double x1, double x2, double x3); 34 void Normalize(); 35 void Translate(const Vector *x); 36 void Mirror(const Vector *x); 37 void Scale(double **factor); 38 void Scale(double *factor); 39 void Scale(double factor); 40 void MatrixMultiplication(double *M); 41 void InverseMatrixMultiplication(double *M); 42 void KeepPeriodic(ofstream *out, double *matrix); 43 void LinearCombinationOfVectors(const Vector *x1, const Vector *x2, const Vector *x3, double *factors); 44 45 double CutsPlaneAt(Vector *A, Vector *B, Vector *C); 46 bool GetOneNormalVector(const Vector *x1); 47 bool MakeNormalVector(const Vector *y1); 48 bool MakeNormalVector(const Vector *y1, const Vector *y2); 49 bool MakeNormalVector(const Vector *x1, const Vector *x2, const Vector *x3); 50 bool SolveSystem(Vector *x1, Vector *x2, Vector *y, double alpha, double beta, double c); 51 bool LSQdistance(Vector **vectors, int dim); 52 53 void AskPosition(double *cell_size, bool check); 54 bool Output(ofstream *out) const; 26 void AddVector(const Vector *y); 27 void SubtractVector(const Vector *y); 28 void CopyVector(const Vector *y); 29 void RotateVector(const Vector *y, const double alpha); 30 void VectorProduct(const Vector *y); 31 void ProjectOntoPlane(const Vector *y); 32 void Zero(); 33 void One(double one); 34 void Init(double x1, double x2, double x3); 35 void Normalize(); 36 void Translate(const Vector *x); 37 void Mirror(const Vector *x); 38 void Scale(double **factor); 39 void Scale(double *factor); 40 void Scale(double factor); 41 void MatrixMultiplication(double *M); 42 void InverseMatrixMultiplication(double *M); 43 void KeepPeriodic(ofstream *out, double *matrix); 44 void LinearCombinationOfVectors(const Vector *x1, const Vector *x2, const Vector *x3, double *factors); 45 double CutsPlaneAt(Vector *A, Vector *B, Vector *C); 46 bool GetOneNormalVector(const Vector *x1); 47 bool MakeNormalVector(const Vector *y1); 48 bool MakeNormalVector(const Vector *y1, const Vector *y2); 49 bool MakeNormalVector(const Vector *x1, const Vector *x2, const Vector *x3); 50 bool SolveSystem(Vector *x1, Vector *x2, Vector *y, double alpha, double beta, double c); 51 bool LSQdistance(Vector **vectors, int dim); 52 void AskPosition(double *cell_size, bool check); 53 bool Output(ofstream *out) const; 55 54 }; 56 55 57 o fstream& operator<<(ofstream& ost, Vector&m);58 Vector& operator+=(Vector& a, const Vector& b);59 Vector& operator*=(Vector& a, const double m);60 Vector& operator*(const Vector& a, const double m);61 Vector& operator+(const Vector& a, const Vector& b);56 ostream & operator << (ostream& ost, Vector &m); 57 //Vector& operator+=(Vector& a, const Vector& b); 58 //Vector& operator*=(Vector& a, const double m); 59 //Vector& operator*(const Vector& a, const double m); 60 //Vector& operator+(const Vector& a, const Vector& b); 62 61 63 62 #endif /*VECTOR_HPP_*/ -
Property mode
changed from
Note:
See TracChangeset
for help on using the changeset viewer.