Antiprism 0.23
|
A set of transformations. More...
#include <symmetry.h>
Public Types | |
typedef set< mat3d > ::const_iterator | const_iterator |
A constant iterator over the set. | |
Public Member Functions | |
t_set & | add (const mat3d &tr) |
Add a transformation. | |
t_set & | clear () |
Clear all transformations. | |
t_set & | product (const t_set &s1, const t_set &s2) |
Set to direct product of two sets of transformations. | |
t_set & | product_with (const t_set &s) |
Set to direct product of current transformations with another set of transformations. | |
t_set & | conjugate (const mat3d &m) |
Set transformations to their conjugates by a given transformation. | |
t_set & | intersection (const t_set &s1, const t_set &s2) |
Intersection of two sets of transformations. | |
t_set & | subtract (const t_set &s) |
Subtract from current transformations any common to a second set of transformations. | |
t_set | lcoset (const mat3d &m) const |
Form the left coset with a given transformation. | |
t_set & | min_set (const t_set &tr_whole, const t_set &tr_part, const mat3d &pos=mat3d()) |
The minimum set of transformations that will generate one group of transformations from another. | |
const_iterator | begin () const |
Begin, for iterating through the set. | |
const_iterator | end () const |
End, for iterating through the set. | |
size_t | size () const |
Size, the number of transformations. | |
const set< mat3d > & | get_trans () const |
Get the underlying transformation set. | |
set< mat3d > & | get_trans () |
Get the underlying transformation set. | |
bool | is_set () const |
Check if there are transformations in the set. |
A set of transformations.
Add a transformation.
tr | transformation to add |
const_iterator t_set::begin | ( | ) | const [inline] |
Begin, for iterating through the set.
t_set& t_set::clear | ( | ) | [inline] |
Clear all transformations.
Remove all the transformations
Set transformations to their conjugates by a given transformation.
If the given transformation is M then each transformation T is set to MTM^-1.
m | the transformation to form the conjugates with. |
const_iterator t_set::end | ( | ) | const [inline] |
End, for iterating through the set.
const set<mat3d>& t_set::get_trans | ( | ) | const [inline] |
Get the underlying transformation set.
return The underlying transformation set
set<mat3d>& t_set::get_trans | ( | ) | [inline] |
Get the underlying transformation set.
return The underlying transformation set
Intersection of two sets of transformations.
Find the transformations that are common to both sets of transformations.
s1 | one of the sets. |
s2 | the other set. |
bool t_set::is_set | ( | ) | const [inline] |
Check if there are transformations in the set.
true
if set, otherwise false
Form the left coset with a given transformation.
If the given transformation is M then each transformation T is set to MT in the coset.
m | the transformation to form the left coset with. |
t_set & t_set::min_set | ( | const t_set & | tr_whole, |
const t_set & | tr_part, | ||
const mat3d & | pos = mat3d() |
||
) |
The minimum set of transformations that will generate one group of transformations from another.
tr_whole | the target group of transformations. |
tr_part | the group of transformations that will be used to generate the target group. |
pos | A transformation that will align
|
Set to direct product of two sets of transformations.
Each transformation of one set is combined with every transformation from the other set.
s1 | one of the sets. |
s2 | the other set. |
Set to direct product of current transformations with another set of transformations.
Each transformation of current set is combined with every transformation from the other set.
s | the other set. |
size_t t_set::size | ( | ) | const [inline] |
Size, the number of transformations.
Subtract from current transformations any common to a second set of transformations.
After this operation the two sets will have no transformations in common.
s | the second set. |