source: molecuilder/src/Descriptors/AtomIdDescriptor.cpp@ 973c03

Last change on this file since 973c03 was 973c03, checked in by Tillmann Crueger <crueger@…>, 16 years ago

Improved Descriptor mechanism to allow calculations using descriptors.

  • Property mode set to 100644
File size: 936 bytes
Line 
1/*
2 * AtomIdDescriptor.cpp
3 *
4 * Created on: Feb 5, 2010
5 * Author: crueger
6 */
7
8#include "AtomIdDescriptor.hpp"
9
10#include "atom.hpp"
11
12using namespace std;
13
14AtomIdDescriptor::AtomIdDescriptor(int _id) :
15 id(_id)
16{}
17
18AtomIdDescriptor::~AtomIdDescriptor()
19{}
20
21bool AtomIdDescriptor::predicate(std::pair<int,atom*> atom) {
22 return atom.second->getId()==id;
23}
24
25AtomDescriptor::desc_ptr AtomIdDescriptor::clone() const{
26 return desc_ptr(new AtomIdDescriptor(id));
27}
28
29#if 0
30
31// so far the lookuptable for Atoms-by-id does not work, since atoms don't get an ID upon creation.
32// instead of this we rely on walking through all atoms.
33
34atom *AtomIdDescriptor::find(){
35 map<int,atom*> atoms = getAtoms();
36 map<int,atom*>::iterator res = atoms.find(id);
37 return (res!=atoms.end())?((*res).second):0;
38}
39
40vector<atom*> AtomIdDescriptor::findAll(){
41 atom *res = find();
42 return (res)?(vector<atom*>(1,res)):(vector<atom*>());
43}
44
45#endif
Note: See TracBrowser for help on using the repository browser.