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

Symmetry Class Reference

#include <MeasureSymmetry.h>

List of all members.

Public Methods

 Symmetry (AtomSel *sel, MoleculeList *mlist, int verbosity)
 ~Symmetry (void)
float score_inversion ()
float score_axis (const float *testaxis, int order)
 Check if vector testaxis defines a rotary axis of the given order. More...

float score_plane (const float *normal)
 Check if the given normal represents a mirror plane. More...

float score_rotary_reflection (const float *testaxis, int order)
 Get the score for given rotary reflection. More...

void impose (int have_inversion, int nplanes, const float *planev, int naxes, const float *axisv, const int *axisorder, int nrotrefl, const float *rotreflv, const int *rotreflorder)
 Impose certain symmetry elements on structure by wrapping coordinates around and averaging them. More...

int guess (float mysigma)
 Determine the symmetry pointgroup and order. More...

void get_pointgroup (char pg[8], int *order)
 Get the guessed pointgroup and order. More...

float get_rmsd ()
 Get RMSD between original and idealized coordinates. More...

float * get_inertia_axes ()
 Get the principal axes of inertia. More...

float * get_inertia_eigenvals ()
 Get eigenvalues of the principal axes of inertia. More...

int * get_inertia_unique ()
 Get a triple of flags telling if the axes of inertia are unique. More...

int get_axisorder (int n)
 Get order of specified axes. More...

int get_rotreflectorder (int n)
 Get order of specified rotary reflection. More...

Matrix4get_orientation ()
 Get transformation aligning molecule with GAMESS standard orientation. More...

const char * get_element_summary ()
 Get string summarizing symmetry elements. More...

const char * get_missing_elements ()
 Get string summarizing missing symmetry elements. More...

const char * get_additional_elements ()
 Get string summarizing symmetry elements additional to ideal ones. More...

void set_maxnumatoms (int n)
 Set the max. # of atoms used for finding symmetry elements. More...

void set_overlaptol (float tol)
 Set the max. # of atoms used for finding symmetry elements. More...

void set_checkbonds (int flag)
 Set flag whether to use bond order and orientation. More...

int numplanes ()
 Get total number of mirror planes. More...

int numaxes ()
 Get total number of rotation axes. More...

int numprimaryaxes ()
 Get number of equivalent primary axes. More...

int numrotreflect ()
 Get total number of rotary reflection axes. More...

int numS2n ()
 Return the unmber of S2N rotary reflection (Sn with even n). More...

int has_inversion ()
 Return 1 if inversion center is present, zero otherwise. More...

int is_spherical_top ()
 Return 1 if the molecule represents a spherical top. More...

int is_symmetric_top ()
 Return 1 if the molecule represents a symmetric top. More...

float * center_of_mass ()
 Return the center of mass. More...

float * plane (int i)
 Return pointer to the i-th plane. More...

float * axis (int i)
 Return pointer to the i-th axis. More...

float * rotreflect (int i)
 Return pointer to the i-th rotary reflection axis. More...

int get_planetype (int i)
 Return type of the i-th plane. More...

int get_axistype (int i)
 Return type of the i-th axis. More...

int get_rotrefltype (int i)
 Return type of the i-th axis. More...

float * idealpos (int i)
 Return pointer to the i-th atoms idealized coordinates. More...

int get_unique_atom (int i)
 Return a flag telling if atom i is considered unique. More...


Public Attributes

float sigma
float collintol
float orthogtol


Constructor & Destructor Documentation

Symmetry::Symmetry AtomSel   sel,
MoleculeList   mlist,
int    verbosity
 

Definition at line 224 of file MeasureSymmetry.C.

References assign_atoms, collintol, DEGTORAD, MAXORDERCN, NULL, orthogtol, POINTGROUP_UNKNOWN, AtomSel::selected, and sigma.

Symmetry::~Symmetry void   
 

Definition at line 301 of file MeasureSymmetry.C.

References bondlist::bondto, bondlist::length, and AtomSel::selected.


Member Function Documentation

float* Symmetry::axis int    i [inline]
 

Return pointer to the i-th axis.

Definition at line 419 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry, and vmd_volmap_ils.

float* Symmetry::center_of_mass   [inline]
 

Return the center of mass.

Definition at line 413 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

const char* Symmetry::get_additional_elements   [inline]
 

Get string summarizing symmetry elements additional to ideal ones.

Definition at line 377 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

int Symmetry::get_axisorder int    n
 

Get order of specified axes.

Definition at line 403 of file MeasureSymmetry.C.

References n, and numaxes.

Referenced by vmd_measure_symmetry, and vmd_volmap_ils.

int Symmetry::get_axistype int    i [inline]
 

Return type of the i-th axis.

Definition at line 428 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

const char* Symmetry::get_element_summary   [inline]
 

Get string summarizing symmetry elements.

Definition at line 371 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

float* Symmetry::get_inertia_axes   [inline]
 

Get the principal axes of inertia.

Definition at line 353 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

float* Symmetry::get_inertia_eigenvals   [inline]
 

Get eigenvalues of the principal axes of inertia.

Definition at line 356 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

int* Symmetry::get_inertia_unique   [inline]
 

Get a triple of flags telling if the axes of inertia are unique.

Definition at line 359 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

const char* Symmetry::get_missing_elements   [inline]
 

Get string summarizing missing symmetry elements.

Definition at line 374 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

Matrix4* Symmetry::get_orientation   [inline]
 

Get transformation aligning molecule with GAMESS standard orientation.

Definition at line 368 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

int Symmetry::get_planetype int    i [inline]
 

Return type of the i-th plane.

Definition at line 425 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

void Symmetry::get_pointgroup char    pg[8],
int *    order
 

Get the guessed pointgroup and order.

Definition at line 323 of file MeasureSymmetry.C.

References n, NULL, POINTGROUP_C1, POINTGROUP_CI, POINTGROUP_CINFV, POINTGROUP_CN, POINTGROUP_CNH, POINTGROUP_CNV, POINTGROUP_CS, POINTGROUP_DINFH, POINTGROUP_DN, POINTGROUP_DND, POINTGROUP_DNH, POINTGROUP_I, POINTGROUP_IH, POINTGROUP_KH, POINTGROUP_O, POINTGROUP_OH, POINTGROUP_S2N, POINTGROUP_T, POINTGROUP_TD, POINTGROUP_TH, and POINTGROUP_UNKNOWN.

Referenced by guess, vmd_measure_symmetry, and vmd_volmap_ils.

float Symmetry::get_rmsd   [inline]
 

Get RMSD between original and idealized coordinates.

Definition at line 350 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

int Symmetry::get_rotreflectorder int    n
 

Get order of specified rotary reflection.

Definition at line 409 of file MeasureSymmetry.C.

References n, and numrotreflect.

Referenced by vmd_measure_symmetry.

int Symmetry::get_rotrefltype int    i [inline]
 

Return type of the i-th axis.

Definition at line 431 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

int Symmetry::get_unique_atom int    i [inline]
 

Return a flag telling if atom i is considered unique.

Definition at line 437 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

int Symmetry::guess float    mysigma
 

Determine the symmetry pointgroup and order.

Definition at line 531 of file MeasureSymmetry.C.

References get_pointgroup, Best::idealcoor, Best::inversion, Best::linear, MEASURE_ERR_NOATOMS, MEASURE_ERR_NOSEL, MEASURE_NOERR, NULL, Best::planar, Best::pointgroup, POINTGROUP_KH, POINTGROUP_UNKNOWN, Best::pointgrouporder, AtomSel::selected, sigma, Best::sphericaltop, wkf_timer_create, wkf_timer_destroy, wkf_timer_start, wkf_timer_stop, wkf_timer_time, and wkf_timerhandle.

Referenced by vmd_measure_symmetry, and vmd_volmap_ils.

int Symmetry::has_inversion   [inline]
 

Return 1 if inversion center is present, zero otherwise.

Definition at line 404 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

float* Symmetry::idealpos int    i [inline]
 

Return pointer to the i-th atoms idealized coordinates.

Definition at line 434 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

void Symmetry::impose int    have_inversion,
int    nplanes,
const float *    planev,
int    naxes,
const float *    axisv,
const int *    axisorder,
int    nrotrefl,
const float *    rotreflv,
const int *    rotreflorder
 

Impose certain symmetry elements on structure by wrapping coordinates around and averaging them.

Definition at line 441 of file MeasureSymmetry.C.

References ResizeArray< Axis >::append, ResizeArray< Plane >::append, ResizeArray< Axis >::clear, ResizeArray< Plane >::clear, measure_inertia, norm, axis::order, axis::overlap, plane::overlap, AtomSel::selected, axis::type, plane::type, axis::v, plane::v, vec_copy, vec_normalize, axis::weight, and plane::weight.

Referenced by vmd_measure_symmetry.

int Symmetry::is_spherical_top   [inline]
 

Return 1 if the molecule represents a spherical top.

Definition at line 407 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

int Symmetry::is_symmetric_top   [inline]
 

Return 1 if the molecule represents a symmetric top.

Definition at line 410 of file MeasureSymmetry.h.

int Symmetry::numaxes   [inline]
 

Get total number of rotation axes.

Definition at line 392 of file MeasureSymmetry.h.

References ResizeArray::num.

Referenced by get_axisorder, numprimaryaxes, vmd_measure_symmetry, and vmd_volmap_ils.

int Symmetry::numplanes   [inline]
 

Get total number of mirror planes.

Definition at line 389 of file MeasureSymmetry.h.

References ResizeArray::num.

Referenced by vmd_measure_symmetry.

int Symmetry::numprimaryaxes  
 

Get number of equivalent primary axes.

Definition at line 424 of file MeasureSymmetry.C.

References numaxes.

int Symmetry::numrotreflect   [inline]
 

Get total number of rotary reflection axes.

Definition at line 398 of file MeasureSymmetry.h.

References ResizeArray::num.

Referenced by get_rotreflectorder, numS2n, and vmd_measure_symmetry.

int Symmetry::numS2n  
 

Return the unmber of S2N rotary reflection (Sn with even n).

Definition at line 415 of file MeasureSymmetry.C.

References numrotreflect.

float* Symmetry::plane int    i [inline]
 

Return pointer to the i-th plane.

Definition at line 416 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

float* Symmetry::rotreflect int    i [inline]
 

Return pointer to the i-th rotary reflection axis.

Definition at line 422 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry.

float Symmetry::score_axis const float *    testaxis,
int    order
 

Check if vector testaxis defines a rotary axis of the given order.

Definition at line 1698 of file MeasureSymmetry.C.

References NOSKIP_IDENTICAL, Matrix4::rotate_axis, AtomSel::selected, sigma, trans_overlap, Matrix4::translate, and VMD_TWOPI.

Referenced by vmd_measure_symmetry.

float Symmetry::score_inversion  
 

Definition at line 1589 of file MeasureSymmetry.C.

References NOSKIP_IDENTICAL, Matrix4::scale, AtomSel::selected, sigma, trans_overlap, and Matrix4::translate.

Referenced by vmd_measure_symmetry.

float Symmetry::score_plane const float *    normal
 

Check if the given normal represents a mirror plane.

Definition at line 1619 of file MeasureSymmetry.C.

References NOSKIP_IDENTICAL, Matrix4::rotate_axis, Matrix4::scale, AtomSel::selected, sigma, trans_overlap, Matrix4::translate, and VMD_PI.

Referenced by vmd_measure_symmetry.

float Symmetry::score_rotary_reflection const float *    testaxis,
int    order
 

Get the score for given rotary reflection.

Definition at line 1762 of file MeasureSymmetry.C.

References NOSKIP_IDENTICAL, Matrix4::rotate_axis, Matrix4::scale, AtomSel::selected, sigma, trans_overlap, Matrix4::translate, VMD_PI, and VMD_TWOPI.

Referenced by vmd_measure_symmetry.

void Symmetry::set_checkbonds int    flag [inline]
 

Set flag whether to use bond order and orientation.

Definition at line 386 of file MeasureSymmetry.h.

Referenced by vmd_measure_symmetry, and vmd_volmap_ils.

void Symmetry::set_maxnumatoms int    n [inline]
 

Set the max. # of atoms used for finding symmetry elements.

Definition at line 380 of file MeasureSymmetry.h.

References n.

void Symmetry::set_overlaptol float    tol [inline]
 

Set the max. # of atoms used for finding symmetry elements.

Definition at line 383 of file MeasureSymmetry.h.

References sigma.

Referenced by vmd_measure_symmetry, and vmd_volmap_ils.


Member Data Documentation

float Symmetry::collintol
 

Definition at line 320 of file MeasureSymmetry.h.

Referenced by Symmetry.

float Symmetry::orthogtol
 

Definition at line 321 of file MeasureSymmetry.h.

Referenced by Symmetry.

float Symmetry::sigma
 

Definition at line 319 of file MeasureSymmetry.h.

Referenced by guess, score_axis, score_inversion, score_plane, score_rotary_reflection, set_overlaptol, and Symmetry.


The documentation for this class was generated from the following files:
Generated on Thu Apr 18 02:47:26 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002