Interface[ GAMB | Source | Keywords | Summary | Ancestors | All Members | Descendants ]
| public: | |
| // construction methods. | |
| Interface(); | |
| void | addAdjacency(unsigned int index1, unsigned int index2, float dist); |
| void | buildHigherLevel(Interface& highLevelInterface, const vector< unsigned int>& group1, const vector< unsigned int>& group2); |
| class | Adjacency ; |
| // queries | |
| bool | isAdjacent(unsigned int index1, unsigned int index2) const; |
| bool | isInterface(unsigned int index1) const; |
| unsigned int | size() const; |
| unsigned int | adjacenciesNumber() const ; |
| unsigned int | neighboursNumber(unsigned int index1) const; |
| void | adjacencies(vector< Adjacency>& vAdj, unsigned int index1) const; |
| const ParticleAdjacency& | adjacencies(unsigned int index1) const; |
| void | neighboursIntersection(const ParticleAdjacency& pa1, const ParticleAdjacency& pa2, vector< unsigned int>& intersection) const; |
| void | neighboursIntersection(unsigned int index1, unsigned int index2, vector< unsigned int>& intersection) const; |
| void | neighboursUnion(const ParticleAdjacency& pa1, const ParticleAdjacency& pa2, vector< unsigned int>& nUnion) const; |
| void | neighboursUnion(unsigned int index1, unsigned int index2, vector< unsigned int>& nUnion) const; |
| class | iterator ; |
| protected: | |
| InterfaceAdjacency | interfaceAdjacency; |
| unsigned int | adjacencyCounter; |
Copyright: SAMBA group, Tel-Aviv Univ. Israel, 1997.
Interface();
Construct a new interface.
Interface();
void addAdjacency(unsigned int index1, unsigned int index2, float dist);
add a pair of adjacent particles to the interface
void addAdjacency(unsigned int index1, unsigned int index2, float dist);
void buildHigherLevel(Interface& highLevelInterface, const vector< unsigned int>& group1, const vector< unsigned int>& group2);
create high level interface: this function is usefull when we are given
atomic interface and want to get residue interface instead
void buildHigherLevel(Interface& highLevelInterface, const vector< unsigned int>& group1, const vector< unsigned int>& group2);
class Adjacency ;
Class that stores a pair of adjacent particles and their distance
class Adjacency {
public:
Adjacency() {}
Adjacency(unsigned int p1, unsigned int p2, float d):
particle1(p1), particle2(p2), distance(d) {}
Adjacency(const Interface::Adjacency& a):
particle1(a.particle1), particle2(a.particle2), distance(a.distance) {}
unsigned int first() const { return particle1; }
unsigned int second() const { return particle2; }
float dist() const { return distance; }
void setDistance(float dist) { distance = dist; }
friend ostream& operator<<(ostream& s, const Adjacency& adjacency) {
s << adjacency.first() << ' ' << adjacency.second() << ' ' <<adjacency.dist() <<endl;
return s;
}
protected:
unsigned int particle1, particle2;
float distance;
};
Function is currently defined inline.
bool isAdjacent(unsigned int index1, unsigned int index2) const;
Return true if the two particles are neighbours
bool isAdjacent(unsigned int index1, unsigned int index2) const;
bool isInterface(unsigned int index1) const;
Return true if the particles belongs to interface
bool isInterface(unsigned int index1) const;
unsigned int size() const;
Returns number of particles in interface
unsigned int size() const;
unsigned int adjacenciesNumber() const ;
Returns number of adjacencies (couples of particles in interface).
unsigned int adjacenciesNumber() const ;
Function is currently defined inline.
unsigned int neighboursNumber(unsigned int index1) const;
Returns number of neighbours of a given particle
unsigned int neighboursNumber(unsigned int index1) const;
void adjacencies(vector< Adjacency>& vAdj, unsigned int index1) const;
return all the neighbours of a given particle
void adjacencies(vector< Adjacency>& vAdj, unsigned int index1) const;
const ParticleAdjacency& adjacencies(unsigned int index1) const;
return ParticleAdjacency for a given index
const ParticleAdjacency& adjacencies(unsigned int index1) const;
void neighboursIntersection(const ParticleAdjacency& pa1, const ParticleAdjacency& pa2, vector< unsigned int>& intersection) const;
return the intersection of neighbours of two particle adjacencies
void neighboursIntersection(const ParticleAdjacency& pa1, const ParticleAdjacency& pa2, vector< unsigned int>& intersection) const;
void neighboursIntersection(unsigned int index1, unsigned int index2, vector< unsigned int>& intersection) const;
return the intersection of neighbours of two indices
void neighboursIntersection(unsigned int index1, unsigned int index2, vector< unsigned int>& intersection) const;
void neighboursUnion(const ParticleAdjacency& pa1, const ParticleAdjacency& pa2, vector< unsigned int>& nUnion) const;
return the union of neighbours of two particle adjacencies
void neighboursUnion(const ParticleAdjacency& pa1, const ParticleAdjacency& pa2, vector< unsigned int>& nUnion) const;
void neighboursUnion(unsigned int index1, unsigned int index2, vector< unsigned int>& nUnion) const;
return the union of neighbours of two indices
void neighboursUnion(unsigned int index1, unsigned int index2, vector< unsigned int>& nUnion) const;
class iterator ;
Interface iterator
class iterator {
public:
iterator();
iterator(InterfaceAdjacency::iterator iInterfaceAdjIt,
ParticleAdjacency::iterator iParticleAdjIt,
InterfaceAdjacency::iterator iInterfaceAdjacencyEnd);
iterator operator++();
const Adjacency& operator*() const;
bool operator==(const Interface::iterator& it1) const;
bool operator!=(const Interface::iterator& it1) const;
protected:
InterfaceAdjacency::iterator interfaceAdjIt;
ParticleAdjacency::iterator particleAdjIt;
InterfaceAdjacency::iterator interfaceAdjacencyEnd;
};
Function is currently defined inline.
InterfaceAdjacency interfaceAdjacency;
Interface container
InterfaceAdjacency interfaceAdjacency;
unsigned int adjacencyCounter;
Number of pairs in interface
unsigned int adjacencyCounter;
| public: | ||
|---|---|---|
| // construction methods. | ||
| void | addAdjacency(unsigned int index1, unsigned int index2, float dist); | |
| void | buildHigherLevel(Interface& highLevelInterface, const vector< unsigned int>& group1, const vector< unsigned int>& group2); | |
| class | Adjacency ; | |
| // queries | ||
| bool | isAdjacent(unsigned int index1, unsigned int index2) const; | |
| bool | isInterface(unsigned int index1) const; | |
| unsigned int | size() const; | |
| unsigned int | adjacenciesNumber() const ; | |
| unsigned int | neighboursNumber(unsigned int index1) const; | |
| void | adjacencies(vector< Adjacency>& vAdj, unsigned int index1) const; | |
| const ParticleAdjacency& | adjacencies(unsigned int index1) const; | |
| void | neighboursIntersection(const ParticleAdjacency& pa1, const ParticleAdjacency& pa2, vector< unsigned int>& intersection) const; | |
| void | neighboursIntersection(unsigned int index1, unsigned int index2, vector< unsigned int>& intersection) const; | |
| void | neighboursUnion(const ParticleAdjacency& pa1, const ParticleAdjacency& pa2, vector< unsigned int>& nUnion) const; | |
| void | neighboursUnion(unsigned int index1, unsigned int index2, vector< unsigned int>& nUnion) const; | |
| class | iterator ; | |
| protected: | ||
| InterfaceAdjacency | interfaceAdjacency; | |
| unsigned int | adjacencyCounter; | |
Report problems to jkotula@unimax.com