[ GAMB | Source | Keywords | Summary | Ancestors | All Members | Descendants ]
public: | |
SurfacePoint(); | |
SurfacePoint(const SurfacePoint& t); | |
explicit | SurfacePoint(const Vector3& newPos, const Vector3& norm, const float surface , const short atomIndex1 , const short atomIndex2 , const short atomIndex3 ); |
explicit | SurfacePoint(const char* const shouRec); |
Vector3 | normal() const; |
float | surfaceArea() const; |
void | setAtomIndices(const short atomIndex1 , const short atomIndex2 , const short atomIndex3 ); |
short | atomIndex(const unsigned short indx) const; |
bool | atomIndicesGTE(const unsigned short atomIndex) const; |
bool | atomIndicesLT(const unsigned short atomIndex) const; |
SurfaceType | surfaceType() const; |
void | orient(const Vector3& v); |
bool | adjacentTo(const SurfacePoint& sp) const; |
SurfacePoint& | operator*=(const Matrix3 &); |
SurfacePoint& | operator*=(const RigidTrans3 &); |
SurfacePoint& | operator-=(const Vector3 &); |
protected: |
Back to the top of SurfacePoint
Copyright: SAMBA group, Tel-Aviv Univ. Israel, 1997.
Back to the top of SurfacePoint
Back to the top of SurfacePoint
The class also holds a parameter which designates which fragment or part of the molecule the surface point belongs to. This is useful for hinge- flexible molecules.
Back to the top of SurfacePoint
Back to the top of SurfacePoint
SurfacePoint();
Creates a Surface Point with 0-position and a general empty normal
SurfacePoint();
Back to the top of SurfacePoint
SurfacePoint(const SurfacePoint& t);
copy constructor
SurfacePoint(const SurfacePoint& t);
Back to the top of SurfacePoint
explicit SurfacePoint(const Vector3& newPos, const Vector3& norm, const float surface , const short atomIndex1 , const short atomIndex2 , const short atomIndex3 );
Creates a point with a given position newPos and a given normal and
a given type
explicit SurfacePoint(const Vector3& newPos, const Vector3& norm, const float surface=0, const short atomIndex1 = -1, const short atomIndex2 = -1, const short atomIndex3 = -1);
Back to the top of SurfacePoint
explicit SurfacePoint(const char* const shouRec);
Construcs a surface point using a Shou surface format record.
explicit SurfacePoint(const char* const shouRec);
Back to the top of SurfacePoint
Vector3 normal() const;
Returns normal of surface point.
Vector3 normal() const;
Back to the top of SurfacePoint
float surfaceArea() const;
Returns area of surface represented by surface point and normal
float surfaceArea() const;
Back to the top of SurfacePoint
void setAtomIndices(const short atomIndex1 , const short atomIndex2 , const short atomIndex3 );
Set the atom indices of the surface point. This method allows the class
user to set the indices of the atoms from which the surface point was
calculated. These indices are read in through the shou file but user may
update them at will.
void setAtomIndices(const short atomIndex1 = -1, const short atomIndex2 = -1, const short atomIndex3 = -1);
Back to the top of SurfacePoint
short atomIndex(const unsigned short indx) const;
Returns atom's indices that participated in the creation of the Shou
surface critical points. Up to 3 atoms may define a surface point
depeneding on the surface point type (Caps = 1, Belts = 2, Pits = 3)
indx may take value of 0..2. If less then 3 atoms defined the surface
point then atomIndex will return a -1.
short atomIndex(const unsigned short indx) const;
Back to the top of SurfacePoint
bool atomIndicesGTE(const unsigned short atomIndex) const;
Returns true if all atom indices are greater than or equal to the given
atom index. Disregards undefined atom indices (i.e. for caps and belts).
bool atomIndicesGTE(const unsigned short atomIndex) const;
Back to the top of SurfacePoint
bool atomIndicesLT(const unsigned short atomIndex) const;
Returns true if all atom indices are less than the given
atom index. Disregards undefined atom indices (i.e. for caps and belts).
bool atomIndicesLT(const unsigned short atomIndex) const;
Back to the top of SurfacePoint
SurfaceType surfaceType() const;
Returns surface type (caps, pits or belts)
SurfaceType surfaceType() const;
Back to the top of SurfacePoint
void orient(const Vector3& v);
Changing a point orientation with a new normal
void orient(const Vector3& v);
Back to the top of SurfacePoint
bool adjacentTo(const SurfacePoint& sp) const;
Defines symmetric adjacency relation. This relation stems from a
natural triangulation of the protein surface resulting directly from
the defintion of the Shou surface. The triangulation is such that every
cap point is adjacent to all belts and pits surrounding it, every belt
is adjacent to its two pits and two caps neighbors and hence every pit
is adjacent to its three caps and three belts in its immediate
neighborhood.
bool adjacentTo(const SurfacePoint& sp) const;
Back to the top of SurfacePoint
SurfacePoint& operator*=(const Matrix3 &);
Shift SurfacePoint position and normal using a linear tranfromation
SurfacePoint& operator*=(const Matrix3 &);
Back to the top of SurfacePoint
SurfacePoint& operator*=(const RigidTrans3 &);
shift SurfacePoint position and normal using a rigid transformation
SurfacePoint& operator*=(const RigidTrans3 &);
Back to the top of SurfacePoint
SurfacePoint& operator-=(const Vector3 &);
Shift surface point's position using vector subtraction. normal
doesn't chnage
SurfacePoint& operator-=(const Vector3 &);
Back to the top of SurfacePoint
public: | ||
---|---|---|
// define real type. | ||
typedef float | real; | |
// Inspection. | ||
Vector3 | position() const ; | |
real | x() const ; | |
real | x(const unsigned short coord) const ; | |
bool | isZero() const ; | |
real | norm() const ; | |
real | norm2() const ; | |
real | dist(const Vector3& p) const ; | |
real | dist2(const Vector3& p) const ; | |
const real& | operator[](const unsigned short coord) const ; | |
Vector3 | getPerpendicularVector() const ; | |
Vector3 | getUnitVector() const ; | |
// Operators. | ||
bool | operator==(const Vector3& v) const ; | |
friend Vector3 | operator+(const Vector3& p1, const Vector3& p2) ; | |
friend Vector3 | operator-(const Vector3& p1, const Vector3& p2) ; | |
friend Vector3 | operator-(const Vector3& p) ; | |
friend real | operator*(const Vector3& p1, const Vector3& p2) ; | |
friend Vector3 | operator*(const Vector3& p, const real& m) ; | |
friend Vector3 | operator*(const real& m, const Vector3& p) ; | |
friend Vector3 | operator/(const Vector3& p, const real& m) ; | |
friend Vector3 | operator&(const Vector3& p1, const Vector3& p2) ; | |
friend real | operator|(const Vector3& p1, const Vector3& p2) ; | |
friend real | operator^(const Vector3& p1, const Vector3& p2) ; | |
Vector3& | operator+=(const Vector3& p) ; | |
Vector3& | operator-=(const Vector3& p) ; | |
Vector3& | operator*=(const real& m) ; | |
Vector3& | operator/=(const real& m) ; | |
friend ostream& | operator<<(ostream& s, const Vector3& v) ; | |
friend istream& | operator>>(istream& s, Vector3& v) ; | |
void | output(FILE* outputFile) const ; | |
explicit | SurfacePoint(const Vector3& newPos, const Vector3& norm, const float surface , const short atomIndex1 , const short atomIndex2 , const short atomIndex3 ); | |
explicit | SurfacePoint(const char* const shouRec); | |
Vector3 | normal() const; | |
float | surfaceArea() const; | |
void | setAtomIndices(const short atomIndex1 , const short atomIndex2 , const short atomIndex3 ); | |
short | atomIndex(const unsigned short indx) const; | |
bool | atomIndicesGTE(const unsigned short atomIndex) const; | |
bool | atomIndicesLT(const unsigned short atomIndex) const; | |
SurfaceType | surfaceType() const; | |
void | orient(const Vector3& v); | |
bool | adjacentTo(const SurfacePoint& sp) const; | |
SurfacePoint& | operator*=(const Matrix3 &); | |
SurfacePoint& | operator*=(const RigidTrans3 &); | |
SurfacePoint& | operator-=(const Vector3 &); | |
protected: |
Back to the top of SurfacePoint
Back to the top of SurfacePoint
Back to the top of SurfacePoint
Report problems to jkotula@unimax.com