Changeset 97445f for src/Descriptors/MoleculeOfAtomSelectionDescriptor.cpp
- Timestamp:
- Jul 24, 2015, 4:44:34 PM (10 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, Candidate_v1.7.0, 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:
- 795c0f
- Parents:
- 270bdf
- git-author:
- Frederik Heber <heber@…> (06/01/15 07:42:00)
- git-committer:
- Frederik Heber <heber@…> (07/24/15 16:44:34)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Descriptors/MoleculeOfAtomSelectionDescriptor.cpp
r270bdf r97445f 48 48 MoleculeOfAtomSelectionDescriptor_impl::~MoleculeOfAtomSelectionDescriptor_impl(){} 49 49 50 bool MoleculeOfAtomSelectionDescriptor_impl::predicate( std::pair<moleculeId_t,molecule*> molecule){50 bool MoleculeOfAtomSelectionDescriptor_impl::predicate(const std::pair<moleculeId_t,const molecule*> molecule) const{ 51 51 for (molecule::const_iterator iter = molecule.second->begin(); 52 52 iter != molecule.second->end(); … … 70 70 } 71 71 72 const molecule* MoleculeOfAtomSelectionDescriptor_impl::find() const { 73 const World::AtomSet &set = getSelectedAtoms(); 74 for (World::AtomSet::const_iterator iter = set.begin(); 75 iter != set.end(); 76 ++iter) { 77 if (iter->second->getMolecule()) 78 return iter->second->getMolecule(); 79 } 80 return 0; 81 } 82 72 83 std::vector<molecule*> MoleculeOfAtomSelectionDescriptor_impl::findAll(){ 73 84 std::vector<molecule*> res; … … 78 89 iter != set.end_internal(); 79 90 ++iter) { 80 if (iter->second->getMolecule()) { 91 if (iter->second->getMolecule() != NULL) { 92 // get as non-const version 81 93 molecule * const _mol = 82 94 World::getInstance().getMolecule( 83 95 MoleculeById(iter->second->getMolecule()->getId())); 96 inserter = temp.insert( _mol ); 97 if (inserter.second) 98 res.push_back(_mol); 99 } 100 } 101 return res; 102 } 103 104 std::vector<const molecule*> MoleculeOfAtomSelectionDescriptor_impl::findAll() const { 105 std::vector<const molecule*> res; 106 std::set<const molecule*> temp; 107 std::pair< std::set<const molecule*>::iterator, bool> inserter; 108 const World::AtomSet &set = getSelectedAtoms(); 109 for (World::AtomSet::const_iterator iter = set.begin(); 110 iter != set.end(); 111 ++iter) { 112 const molecule * const _mol = iter->second->getMolecule(); 113 if ( _mol != NULL ) { 84 114 inserter = temp.insert( _mol ); 85 115 if (inserter.second) … … 94 124 } 95 125 126 const World::AtomSet& MoleculeOfAtomSelectionDescriptor_impl::getSelectedAtoms() const{ 127 return World::getInstance().selectedAtoms; 128 } 129 96 130 MoleculeDescriptor MoleculesByAtomSelection(){ 97 131 return MoleculeDescriptor(MoleculeDescriptor::impl_ptr(new MoleculeOfAtomSelectionDescriptor_impl()));
Note:
See TracChangeset
for help on using the changeset viewer.
