Bsoft 2.1.4
Bernard's software package
model_symmetry.h File Reference

Library routines used for model symmetry operations. More...

#include "rwmodel.h"
#include "View.h"
#include "UnitCell.h"
#include "Bstring.h"

Functions

long model_find_asymmetric_unit (Bmodel *model, string &symmetry_string)
 Set model component locations within the asymmetric unit. More...
 
long model_apply_point_group (Bmodel *model, string &symmetry_string, Vector3< double > origin, View ref_view, int flags=0)
 Applying symmetry to model components. More...
 
long models_apply_point_group (Bmodel *model, string &symmetry_string, Vector3< double > origin, View ref_view, int flags=0)
 Applying symmetry to model components. More...
 
long model_symmetrize (Bmodel *model, string &symmetry_string)
 Symmetrize a model. More...
 
long model_symmetry_related (Bmodel *model, string &symmetry_string)
 Generates a list of symmetry-related models. More...
 
int model_generate_lattice (Bmodel *model, UnitCell uc, Vector3< long > lattice)
 Generates unit cells from a set of coordinates. More...
 

Detailed Description

Library routines used for model symmetry operations.

Author
Bernard Heymann
Date
Created: 20060908
Modified: 20221109

Function Documentation

◆ model_apply_point_group()

long model_apply_point_group ( Bmodel model,
string &  symmetry_string,
Vector3< double >  origin,
View  ref_view,
int  flags 
)

Applying symmetry to model components.

Parameters
*modelmodel parameters.
&symmetry_stringsymmetry code.
origintransformation origin.
ref_viewreference view.
flags1=find asu.
Returns
long number of components (<0 means failure).
Only the first model is processed.

◆ model_find_asymmetric_unit()

long model_find_asymmetric_unit ( Bmodel model,
string &  symmetry_string 
)

Set model component locations within the asymmetric unit.

Parameters
*modelmodel parameters.
&symmetry_stringsymmetry code.
Returns
long number of components (<0 means failure).
Only the first model is processed.

◆ model_generate_lattice()

int model_generate_lattice ( Bmodel model,
UnitCell  uc,
Vector3< long >  lattice 
)

Generates unit cells from a set of coordinates.

Parameters
*modelmolecule group.
ucunit cell dimensions.
latticenumber of unit cells in each lattice direction.
Returns
int 0, <0 if error.
The input model is replicated to generate the requested number
of copies in each lattice direction.

◆ model_symmetrize()

long model_symmetrize ( Bmodel model,
string &  symmetry_string 
)

Symmetrize a model.

Parameters
*modelmodel parameters.
&symmetry_stringsymmetry code.
Returns
long error code (<0 means failure).
For each component, a new location is calculated from the average location
of the closest symmetry-related components.

◆ model_symmetry_related()

long model_symmetry_related ( Bmodel model,
string &  symmetry_string 
)

Generates a list of symmetry-related models.

Parameters
*modelmodel parameters.
&symmetry_stringsymmetry code.
Returns
long total number of components.
For each component, a new location is calculated from the average location
of the closest symmetry-related components.

◆ models_apply_point_group()

long models_apply_point_group ( Bmodel model,
string &  symmetry_string,
Vector3< double >  origin,
View  ref_view,
int  flags 
)

Applying symmetry to model components.

Parameters
*modelmodel parameters.
&symmetry_stringsymmetry code.
origintransformation origin.
ref_viewreference view.
flags1=find asu.
Returns
long error code (<0 means failure).
All models in the list are processed.