Changeset 029870 for src/LinkedCell


Ignore:
Timestamp:
Jan 2, 2012, 1:00:05 PM (13 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:
f55ae5
Parents:
402f2c
git-author:
Frederik Heber <heber@…> (12/19/11 16:17:02)
git-committer:
Frederik Heber <heber@…> (01/02/12 13:00:05)
Message:

FIX: LinkedCell and LinkedCell_Model now store _const_ TesselPoint ref in their lists and maps.

  • this mainly stemmed from changing LinkedCell_Model::addNode() and is required as World's lastChanged is a const ref (and we do not need to changed the object itself anyway, we are only bookkeeping!).
Location:
src/LinkedCell
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • src/LinkedCell/LinkedCell.cpp

    r402f2c r029870  
    5555 * @param point point to add
    5656 */
    57 void LinkedCell::LinkedCell::addPoint(TesselPoint *point)
     57void LinkedCell::LinkedCell::addPoint(const TesselPoint *point)
    5858{
    5959  push_back(point);
  • src/LinkedCell/LinkedCell.hpp

    r402f2c r029870  
    3434    const LinkedCellArray::index& getIndex(const size_t index) const;
    3535
    36     void addPoint(TesselPoint *point);
     36    void addPoint(const TesselPoint *point);
    3737    void deletePoint(const TesselPoint *point);
    3838
  • src/LinkedCell/LinkedCell_Model.cpp

    r402f2c r029870  
    269269 * @param Walker node to add
    270270 */
    271 void LinkedCell::LinkedCell_Model::addNode(TesselPoint *&Walker)
     271void LinkedCell::LinkedCell_Model::addNode(const TesselPoint *Walker)
    272272{
    273273  tripleIndex index = getIndexToVector(Walker->getPosition());
  • src/LinkedCell/LinkedCell_Model.hpp

    r402f2c r029870  
    6060    void applyBoundaryConditions(tripleIndex &index) const;
    6161
    62     void addNode(TesselPoint *&Walker);
     62    void addNode(const TesselPoint *Walker);
    6363    void deleteNode(const TesselPoint *Walker);
    6464    void moveNode(const TesselPoint *Walker);
     
    8989    typedef boost::subarray_gen<LinkedCellArray, NDIM-2>::type::iterator iterator1;
    9090
    91     typedef std::map<TesselPoint *, LinkedCell *> MapPointToCell;
     91    typedef std::map<const TesselPoint *, LinkedCell *> MapPointToCell;
    9292
    9393    //!> internal shape of multi_array
  • src/LinkedCell/types.hpp

    r402f2c r029870  
    3232
    3333  //!> linked list of tesselpoints
    34   typedef std::list<TesselPoint *> LinkedList;
     34  typedef std::list<const TesselPoint *> LinkedList;
    3535
    3636  //!> three-dimensional array of LinkedCell instances
  • src/LinkedCell/unittests/LinkedCellUnitTest.cpp

    r402f2c r029870  
    7171  // remove point
    7272  LinkedCell::LinkedCell::iterator iter = cell->begin();
    73   TesselPoint *OtherWalker = *iter;
     73  const TesselPoint *OtherWalker = *iter;
    7474  CPPUNIT_ASSERT(Walker == OtherWalker);
    7575  cell->erase(iter);
Note: See TracChangeset for help on using the changeset viewer.