Simpatico  v1.10
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Friends
Util::PointSymmetry Class Reference

Detailed Description

A PointSymmetry represents a crystallographic point group symmetry.

Crystallographic point group symmetries included 2, 3, and 4 fold rotations about axes, reflections through planes and inversion. Each such symmetry may be represented by a matrix of integers.

Definition at line 22 of file PointSymmetry.h.

#include <PointSymmetry.h>

Public Types

typedef FMatrix< int, Dimension, DimensionMatrix
 Typedef for internal matrix. More...
 

Public Member Functions

 PointSymmetry ()
 Default constructor. More...
 
 PointSymmetry (const PointSymmetry &other)
 Copy constructor. More...
 
PointSymmetryoperator= (const PointSymmetry &other)
 Assignment operator. More...
 
PointSymmetry inverse () const
 Return the inverse of this symmetry element. More...
 
int & R (int i, int j)
 Return an element of the matrix by reference. More...
 
int R (int i, int j) const
 Return an element of the matrix by value. More...
 

Static Public Member Functions

static const PointSymmetryidentity ()
 Return the identity element. More...
 

Friends

bool operator== (const PointSymmetry &A, const PointSymmetry &B)
 Are two PointSymmetry objects equivalent? More...
 
bool operator!= (const PointSymmetry &A, const PointSymmetry &B)
 Are two PointSymmetry objects not equivalent? More...
 
PointSymmetry operator* (const PointSymmetry &A, const PointSymmetry &B)
 Return the product A*B of two symmetry objects. More...
 
IntVector operator* (const PointSymmetry &S, const IntVector &V)
 Return the IntVector product S*V of a rotation matrix and an IntVector. More...
 
IntVector operator* (const IntVector &V, const PointSymmetry &S)
 Return the IntVector product V*S of an IntVector and a rotation matrix. More...
 
std::ostream & operator<< (std::ostream &out, const PointSymmetry &A)
 Output stream inserter for a PointSymmetry. More...
 

Member Typedef Documentation

Typedef for internal matrix.

Definition at line 28 of file PointSymmetry.h.

Constructor & Destructor Documentation

Util::PointSymmetry::PointSymmetry ( )

Default constructor.

All elements of the rotation matrix are initialized to zero.

Definition at line 21 of file PointSymmetry.cpp.

References Util::Dimension.

Util::PointSymmetry::PointSymmetry ( const PointSymmetry other)

Copy constructor.

Definition at line 35 of file PointSymmetry.cpp.

References Util::Dimension.

Member Function Documentation

PointSymmetry & Util::PointSymmetry::operator= ( const PointSymmetry other)

Assignment operator.

Definition at line 80 of file PointSymmetry.cpp.

References Util::Dimension.

PointSymmetry Util::PointSymmetry::inverse ( ) const

Return the inverse of this symmetry element.

Definition at line 65 of file PointSymmetry.cpp.

References Util::Dimension.

int & Util::PointSymmetry::R ( int  i,
int  j 
)
inline
int Util::PointSymmetry::R ( int  i,
int  j 
) const
inline

Return an element of the matrix by value.

Definition at line 176 of file PointSymmetry.h.

const PointSymmetry & Util::PointSymmetry::identity ( )
inlinestatic

Return the identity element.

Definition at line 182 of file PointSymmetry.h.

Friends And Related Function Documentation

bool operator== ( const PointSymmetry A,
const PointSymmetry B 
)
friend

Are two PointSymmetry objects equivalent?

Parameters
AFirst object
BSecond object
Returns
True if A == B, false otherwise

Definition at line 96 of file PointSymmetry.cpp.

bool operator!= ( const PointSymmetry A,
const PointSymmetry B 
)
friend

Are two PointSymmetry objects not equivalent?

Parameters
AFirst object
BSecond object
Returns
True if A != B, false otherwise

Definition at line 164 of file PointSymmetry.h.

PointSymmetry operator* ( const PointSymmetry A,
const PointSymmetry B 
)
friend

Return the product A*B of two symmetry objects.

Parameters
AFirst object
BSecond object
Returns
product A*B

Definition at line 112 of file PointSymmetry.cpp.

IntVector operator* ( const PointSymmetry S,
const IntVector V 
)
friend

Return the IntVector product S*V of a rotation matrix and an IntVector.

Parameters
SPointSymmetry
VInteger Vector
Returns
product S*V

Definition at line 130 of file PointSymmetry.cpp.

IntVector operator* ( const IntVector V,
const PointSymmetry S 
)
friend

Return the IntVector product V*S of an IntVector and a rotation matrix.

Parameters
SPointSymmetry
VInteger Vector
Returns
product S*V

Definition at line 146 of file PointSymmetry.cpp.

std::ostream& operator<< ( std::ostream &  out,
const PointSymmetry A 
)
friend

Output stream inserter for a PointSymmetry.

Parameters
outoutput stream
APointSymmetry object to be output
Returns
modified output stream

Definition at line 162 of file PointSymmetry.cpp.


The documentation for this class was generated from the following files: