Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   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"
#include "Inform.h"
#include "WKFUtils.h"

Go to the source code of this file.

Compounds

struct  Best
class  Combinations
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 MINATOMDIST   0.6
#define VERTICALPLANE   1
#define DIHEDRALPLANE   3
#define HORIZONTALPLANE   4
#define INFINITE_ORDER   -1
#define PRELIMINARY_C2   -2
#define TETRAHEDRON   -4
#define OCTAHEDRON   -8
#define DODECAHEDRON   -12
#define NUMPOINTGROUPS   (sizeof(pgdefinitions)/sizeof(PointGroupDefinition))

Functions

bool collinear (const float *axis1, const float *axis2, float tol)
bool orthogonal (const float *axis1, const float *axis2, float tol)
bool behind_plane (const float *normal, const float *coor)
int isprime (int x)
int numprimefactors (int x)
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 fac (int n)
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 77 of file MeasureSymmetry.C.

#define DIHEDRALPLANE   3
 

Definition at line 85 of file MeasureSymmetry.C.

#define DODECAHEDRON   -12
 

Definition at line 95 of file MeasureSymmetry.C.

#define HORIZONTALPLANE   4
 

Definition at line 86 of file MeasureSymmetry.C.

#define INFINITE_ORDER   -1
 

Definition at line 89 of file MeasureSymmetry.C.

#define MINATOMDIST   0.6
 

Definition at line 81 of file MeasureSymmetry.C.

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

Definition at line 221 of file MeasureSymmetry.C.

#define OCTAHEDRON   -8
 

Definition at line 94 of file MeasureSymmetry.C.

#define OVERLAPCUTOFF   0.4
 

Definition at line 70 of file MeasureSymmetry.C.

#define POINTGROUP_C1   1
 

Definition at line 49 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_CI   10
 

Definition at line 58 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_CINFV   5
 

Definition at line 53 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_CN   2
 

Definition at line 50 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_CNH   4
 

Definition at line 52 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_CNV   3
 

Definition at line 51 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_CS   11
 

Definition at line 59 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_DINFH   9
 

Definition at line 57 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_DN   6
 

Definition at line 54 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_DND   7
 

Definition at line 55 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_DNH   8
 

Definition at line 56 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_I   18
 

Definition at line 66 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_IH   19
 

Definition at line 67 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_KH   20
 

Definition at line 68 of file MeasureSymmetry.C.

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

#define POINTGROUP_O   16
 

Definition at line 64 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_OH   17
 

Definition at line 65 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_S2N   12
 

Definition at line 60 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_T   13
 

Definition at line 61 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_TD   14
 

Definition at line 62 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_TH   15
 

Definition at line 63 of file MeasureSymmetry.C.

Referenced by Symmetry::get_pointgroup.

#define POINTGROUP_UNKNOWN   0
 

Definition at line 48 of file MeasureSymmetry.C.

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

#define PRELIMINARY_C2   -2
 

Definition at line 90 of file MeasureSymmetry.C.

#define TETRAHEDRON   -4
 

Definition at line 93 of file MeasureSymmetry.C.

#define VERTICALPLANE   1
 

Definition at line 84 of file MeasureSymmetry.C.


Function Documentation

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

Definition at line 3959 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 4156 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 behind_plane const float *    normal,
const float *    coor
[inline, static]
 

Definition at line 3954 of file MeasureSymmetry.C.

References dot_prod.

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

Definition at line 3944 of file MeasureSymmetry.C.

References dot_prod.

int fac int    n [static]
 

Definition at line 1217 of file MeasureSymmetry.C.

References n.

int isprime int    x [static]
 

Definition at line 3968 of file MeasureSymmetry.C.

Referenced by numprimefactors.

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 4417 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 4395 of file MeasureSymmetry.C.

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

int numprimefactors int    x [static]
 

Definition at line 3978 of file MeasureSymmetry.C.

References isprime.

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

Definition at line 3949 of file MeasureSymmetry.C.

References dot_prod.

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

Definition at line 4257 of file MeasureSymmetry.C.

Referenced by measure_trans_overlap, Symmetry::score_axis, Symmetry::score_inversion, Symmetry::score_plane, and Symmetry::score_rotary_reflection.

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

Definition at line 4264 of file MeasureSymmetry.C.

References distance, distance2, and Matrix4::multpoint3d.


Variable Documentation

PointGroupDefinition pgdefinitions[]
 

Definition at line 159 of file MeasureSymmetry.C.


Generated on Tue Apr 23 04:24:35 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002