Simpatico
v1.10
|
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, Dimension > | Matrix |
Typedef for internal matrix. More... | |
Public Member Functions | |
PointSymmetry () | |
Default constructor. More... | |
PointSymmetry (const PointSymmetry &other) | |
Copy constructor. More... | |
PointSymmetry & | operator= (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 PointSymmetry & | identity () |
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... | |
typedef FMatrix<int, Dimension, Dimension> Util::PointSymmetry::Matrix |
Typedef for internal matrix.
Definition at line 28 of file PointSymmetry.h.
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 | ) |
PointSymmetry & Util::PointSymmetry::operator= | ( | const PointSymmetry & | other | ) |
PointSymmetry Util::PointSymmetry::inverse | ( | ) | const |
Return the inverse of this symmetry element.
Definition at line 65 of file PointSymmetry.cpp.
References Util::Dimension.
|
inline |
Return an element of the matrix by reference.
Definition at line 170 of file PointSymmetry.h.
Referenced by McMd::StructureFactorGrid::readParameters(), McMd::StructureFactorPGrid::readParameters(), DdMd::StructureFactorGrid::readParameters(), McMd::IntraStructureFactorGrid::readParameters(), and McMd::StructureFactorPGrid::save().
|
inline |
Return an element of the matrix by value.
Definition at line 176 of file PointSymmetry.h.
|
inlinestatic |
Return the identity element.
Definition at line 182 of file PointSymmetry.h.
|
friend |
Are two PointSymmetry objects equivalent?
A | First object |
B | Second object |
Definition at line 96 of file PointSymmetry.cpp.
|
friend |
Are two PointSymmetry objects not equivalent?
A | First object |
B | Second object |
Definition at line 164 of file PointSymmetry.h.
|
friend |
Return the product A*B of two symmetry objects.
A | First object |
B | Second object |
Definition at line 112 of file PointSymmetry.cpp.
|
friend |
Return the IntVector product S*V of a rotation matrix and an IntVector.
S | PointSymmetry |
V | Integer Vector |
Definition at line 130 of file PointSymmetry.cpp.
|
friend |
Return the IntVector product V*S of an IntVector and a rotation matrix.
S | PointSymmetry |
V | Integer Vector |
Definition at line 146 of file PointSymmetry.cpp.
|
friend |
Output stream inserter for a PointSymmetry.
out | output stream |
A | PointSymmetry object to be output |
Definition at line 162 of file PointSymmetry.cpp.