#include <MeasureSymmetry.h>
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...  
Matrix4 *  get_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 ith plane. More...  
float *  axis (int i) 
Return pointer to the ith axis. More...  
float *  rotreflect (int i) 
Return pointer to the ith rotary reflection axis. More...  
int  get_planetype (int i) 
Return type of the ith plane. More...  
int  get_axistype (int i) 
Return type of the ith axis. More...  
int  get_rotrefltype (int i) 
Return type of the ith axis. More...  
float *  idealpos (int i) 
Return pointer to the ith 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 

Definition at line 224 of file MeasureSymmetry.C. References assign_atoms, collintol, DEGTORAD, MAXORDERCN, NULL, orthogtol, POINTGROUP_UNKNOWN, AtomSel::selected, and sigma. 

Definition at line 301 of file MeasureSymmetry.C. References bondlist::bondto, bondlist::length, and AtomSel::selected. 

Return pointer to the ith axis.
Definition at line 419 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry, and vmd_volmap_ils. 

Return the center of mass.
Definition at line 413 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Get string summarizing symmetry elements additional to ideal ones.
Definition at line 377 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Get order of specified axes.
Definition at line 403 of file MeasureSymmetry.C. Referenced by vmd_measure_symmetry, and vmd_volmap_ils. 

Return type of the ith axis.
Definition at line 428 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Get string summarizing symmetry elements.
Definition at line 371 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Get the principal axes of inertia.
Definition at line 353 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Get eigenvalues of the principal axes of inertia.
Definition at line 356 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

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. 

Get string summarizing missing symmetry elements.
Definition at line 374 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Get transformation aligning molecule with GAMESS standard orientation.
Definition at line 368 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Return type of the ith plane.
Definition at line 425 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

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. 

Get RMSD between original and idealized coordinates.
Definition at line 350 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Get order of specified rotary reflection.
Definition at line 409 of file MeasureSymmetry.C. References n, and numrotreflect. Referenced by vmd_measure_symmetry. 

Return type of the ith axis.
Definition at line 431 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Return a flag telling if atom i is considered unique.
Definition at line 437 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

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. 

Return 1 if inversion center is present, zero otherwise.
Definition at line 404 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Return pointer to the ith atoms idealized coordinates.
Definition at line 434 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

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. 

Return 1 if the molecule represents a spherical top.
Definition at line 407 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Return 1 if the molecule represents a symmetric top.
Definition at line 410 of file MeasureSymmetry.h. 

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. 

Get total number of mirror planes.
Definition at line 389 of file MeasureSymmetry.h. References ResizeArray::num. Referenced by vmd_measure_symmetry. 

Get number of equivalent primary axes.
Definition at line 424 of file MeasureSymmetry.C. References numaxes. 

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. 

Return the unmber of S2N rotary reflection (Sn with even n).
Definition at line 415 of file MeasureSymmetry.C. References numrotreflect. 

Return pointer to the ith plane.
Definition at line 416 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

Return pointer to the ith rotary reflection axis.
Definition at line 422 of file MeasureSymmetry.h. Referenced by vmd_measure_symmetry. 

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. 

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. 

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. 

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. 

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. 

Set the max. # of atoms used for finding symmetry elements.
Definition at line 380 of file MeasureSymmetry.h. References n. 

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. 

Definition at line 320 of file MeasureSymmetry.h. Referenced by Symmetry. 

Definition at line 321 of file MeasureSymmetry.h. Referenced by Symmetry. 

Definition at line 319 of file MeasureSymmetry.h. Referenced by guess, score_axis, score_inversion, score_plane, score_rotary_reflection, set_overlaptol, and Symmetry. 