Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

MeasureSymmetry.C File Reference

#include <stdio.h>
#include <math.h>
#include "utilities.h"
#include "Measure.h"
#include "MeasureSymmetry.h"
#include "AtomSel.h"
#include "Matrix4.h"
#include "MoleculeList.h"
#include "SpatialSearch.h"
#include "MoleculeGraphics.h"

Go to the source code of this file.

Compounds

struct  PointGroupDefinition

Defines

#define POINTGROUP_UNKNOWN   0
#define POINTGROUP_C1   1
#define POINTGROUP_CN   2
#define POINTGROUP_CNV   3
#define POINTGROUP_CNH   4
#define POINTGROUP_CINFV   5
#define POINTGROUP_DN   6
#define POINTGROUP_DND   7
#define POINTGROUP_DNH   8
#define POINTGROUP_DINFH   9
#define POINTGROUP_CI   10
#define POINTGROUP_CS   11
#define POINTGROUP_S2N   12
#define POINTGROUP_T   13
#define POINTGROUP_TD   14
#define POINTGROUP_TH   15
#define POINTGROUP_O   16
#define POINTGROUP_OH   17
#define POINTGROUP_I   18
#define POINTGROUP_IH   19
#define POINTGROUP_KH   20
#define OVERLAPCUTOFF   0.4
#define BONDSUMTOL   1.5
#define INFINITE_ORDER   -1
#define PRELIMINARY_C2   -2
#define VERTICALPLANE   1
#define DIHEDRALPLANE   3
#define HORIZONTALPLANE   4
#define TETRAHEDRON   -4
#define OCTAHEDRON   -8
#define DODECAHEDRON   -12
#define NUMPOINTGROUPS   (sizeof(pgdefinitions)/sizeof(PointGroupDefinition))

Functions

bool coplanar (const float *normal1, const float *normal2, float tol)
bool collinear (const float *axis1, const float *axis2, float tol)
bool orthogonal (const float *axis1, const float *axis2, float tol)
void align_plane_with_axis (const float *normal, const float *axis, float *alignedplane)
void assign_atoms (AtomSel *sel, MoleculeList *mlist, float *(&mycoor), int *(&atomtype))
float trans_overlap (int *atomtype, float *(&coor), int numcoor, const Matrix4 *trans, float sigma, bool skipident, int maxnatoms, float &overlappermatch)
float trans_overlap (int *atomtype, float *(&coor), int numcoor, const Matrix4 *trans, float sigma, bool skipident, int maxnatoms)
int measure_trans_overlap (AtomSel *sel, MoleculeList *mlist, const Matrix4 *trans, float sigma, bool skipident, int maxnatoms, float &overlap)
 Calculate the structural overlap of a selection with a copy of itself that is transformed according to a given transformation matrix. Returns the normalized sum over all gaussian function values of the pair distances between atoms in the original and the transformed selection. More...

int measure_pointset_overlap (const float *posA, int natomsA, int *flagsA, const float *posB, int natomsB, int *flagsB, float sigma, float pairdist, float &overlap)

Variables

PointGroupDefinition pgdefinitions []


Define Documentation

#define BONDSUMTOL   1.5
 

Definition at line 69 of file MeasureSymmetry.C.

#define DIHEDRALPLANE   3
 

Definition at line 74 of file MeasureSymmetry.C.

#define DODECAHEDRON   -12
 

Definition at line 79 of file MeasureSymmetry.C.

#define HORIZONTALPLANE   4
 

Definition at line 75 of file MeasureSymmetry.C.

#define INFINITE_ORDER   -1
 

Definition at line 70 of file MeasureSymmetry.C.

#define NUMPOINTGROUPS   (sizeof(pgdefinitions)/sizeof(PointGroupDefinition))
 

Definition at line 158 of file MeasureSymmetry.C.

#define OCTAHEDRON   -8
 

Definition at line 78 of file MeasureSymmetry.C.

#define OVERLAPCUTOFF   0.4
 

Definition at line 68 of file MeasureSymmetry.C.

#define POINTGROUP_C1   1
 

Definition at line 47 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_CI   10
 

Definition at line 56 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_CINFV   5
 

Definition at line 51 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_CN   2
 

Definition at line 48 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_CNH   4
 

Definition at line 50 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_CNV   3
 

Definition at line 49 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_CS   11
 

Definition at line 57 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_DINFH   9
 

Definition at line 55 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_DN   6
 

Definition at line 52 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_DND   7
 

Definition at line 53 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_DNH   8
 

Definition at line 54 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_I   18
 

Definition at line 64 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_IH   19
 

Definition at line 65 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_KH   20
 

Definition at line 66 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_O   16
 

Definition at line 62 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_OH   17
 

Definition at line 63 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_S2N   12
 

Definition at line 58 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_T   13
 

Definition at line 59 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_TD   14
 

Definition at line 60 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_TH   15
 

Definition at line 61 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, and Symmetry::guess.

#define POINTGROUP_UNKNOWN   0
 

Definition at line 46 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup, Symmetry::guess, and Symmetry::Symmetry.

#define PRELIMINARY_C2   -2
 

Definition at line 71 of file MeasureSymmetry.C.

#define TETRAHEDRON   -4
 

Definition at line 77 of file MeasureSymmetry.C.

#define VERTICALPLANE   1
 

Definition at line 73 of file MeasureSymmetry.C.


Function Documentation

void align_plane_with_axis const float *    normal,
const float *    axis,
float *    alignedplane
[static]
 

Definition at line 2484 of file MeasureSymmetry.C.

References cross_prod, and vec_normalize.

void assign_atoms AtomSel   sel,
MoleculeList   mlist,
float *&    mycoor,
int *&    atomtype
[static]
 

Definition at line 2615 of file MeasureSymmetry.C.

References BaseMolecule::atom, MolAtom::atomicnumber, MolAtom::bonds, MolAtom::bondTo, AtomSel::coordinates, BaseMolecule::getbondorder, MoleculeList::mol_from_id, AtomSel::molid, AtomSel::num_atoms, AtomSel::on, AtomSel::selected, and vec_copy.

Referenced by measure_trans_overlap, and Symmetry::Symmetry.

bool collinear const float *    axis1,
const float *    axis2,
float    tol
[inline, static]
 

Definition at line 2473 of file MeasureSymmetry.C.

References dot_prod.

Referenced by coplanar.

bool coplanar const float *    normal1,
const float *    normal2,
float    tol
[inline, static]
 

Definition at line 2469 of file MeasureSymmetry.C.

References collinear.

int measure_pointset_overlap const float *    posA,
int    natomsA,
int   flagsA,
const float *    posB,
int    natomsB,
int   flagsB,
float    sigma,
float    pairdist,
float &    overlap
 

Definition at line 2877 of file MeasureSymmetry.C.

References GridSearchPair::ind1, GridSearchPair::ind2, MEASURE_NOERR, GridSearchPair::next, and vmd_gridsearch3.

int measure_trans_overlap AtomSel   sel,
MoleculeList   mlist,
const Matrix4   trans,
float    sigma,
bool    skipident,
int    maxnatoms,
float &    overlap
 

Calculate the structural overlap of a selection with a copy of itself that is transformed according to a given transformation matrix. Returns the normalized sum over all gaussian function values of the pair distances between atoms in the original and the transformed selection.

Definition at line 2855 of file MeasureSymmetry.C.

References assign_atoms, MEASURE_ERR_NOATOMS, MEASURE_ERR_NOSEL, MEASURE_NOERR, AtomSel::num_atoms, AtomSel::selected, and trans_overlap.

bool orthogonal const float *    axis1,
const float *    axis2,
float    tol
[inline, static]
 

Definition at line 2478 of file MeasureSymmetry.C.

References dot_prod.

Referenced by Symmetry::guess.

float trans_overlap int   atomtype,
float *&    coor,
int    numcoor,
const Matrix4   trans,
float    sigma,
bool    skipident,
int    maxnatoms
[inline, static]
 

Definition at line 2714 of file MeasureSymmetry.C.

Referenced by measure_trans_overlap.

float trans_overlap int   atomtype,
float *&    coor,
int    numcoor,
const Matrix4   trans,
float    sigma,
bool    skipident,
int    maxnatoms,
float &    overlappermatch
[static]
 

Definition at line 2720 of file MeasureSymmetry.C.

References distance, distance2, Matrix4::multpoint3d, and vmd_random.


Variable Documentation

PointGroupDefinition pgdefinitions[]
 

Definition at line 97 of file MeasureSymmetry.C.


Generated on Thu Jul 24 01:27:49 2008 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002