Antiprism 0.23

- Main Page
- Classes
- Files

- File List
- File Members

Classes | Functions

# base/symmetry.h File Reference

symmetry and transformation handling More...

`#include <vector>`
`#include <set>`
`#include <string>`
`#include <math.h>`
`#include "mat3d.h"`
Include dependency graph for symmetry.h:
This graph shows which files directly or indirectly include this file:

## Classes
class | t_set
| A set of transformations. More...
class | iso_type
| Class for an isometry. More...
class | sch_sym_autos
| Class for a set of automorphisms: transformations maintaining symmetry alignment. More...
class | sch_sym
| Class for symmetry elements in Schoenflies notation. More...
class | sch_axis
| Class for a principal axis or mirror symmetry in Schoenflies notation. More...
## Functions
t_set | operator* (const t_set &s1, const t_set &s2)
| Form direct product of two sets of transformations.
t_set & | operator*= (t_set &s1, const t_set &s2)
| Form direct product of two sets of transformations.
t_set | operator+ (const t_set &s, const mat3d &m)
| Add a transformation.
t_set & | operator+= (t_set &s, const mat3d &m)
| Add a transformation.
int | compare (const t_set &t0, const t_set &t1)
| Compare two t_sets for order.
void | get_equiv_elems (const geom_if &geom, const t_set &ts, vector< vector< set< int > > > *equiv_sets)
| Get sets of elements that are equivalent under a set of transformations.

## Detailed Description

symmetry and transformation handling

## Function Documentation

int compare | ( | const t_set & | t0,
|  | const t_set & | t1
| ) |  |

Compare two t_sets for order.

Returns -1, 0, or 1 to indicate less, equal or greater. Order by size, and if equal compare matrices sequentially until not equal, and if all equal return 0.

Parameters:

  t0 | first t_set
  t1 | second t_set

Returns:
  -1, 0, or 1 to indicate t0 is less, equal or greater than t1

void get_equiv_elems | ( | const geom_if & | geom,
|  | const t_set & | ts,
|  | vector< vector< set< int > > > * | equiv_sets
| ) |  |

Get sets of elements that are equivalent under a set of transformations.

Parameters:

  geom | the geometry.
  ts | the set of transfromations to apply.
  equiv_sets | vectors of sets of equivalent elements for vertices (0), edges (1) and faces (2).

t_set operator* | ( | const t_set & | s1,
|  | const t_set & | s2
| ) |  |

Form direct product of two sets of transformations.

Each transformation from one set is combined with every transformation from the other set.

Parameters:

  s1 | one of the sets.
  s2 | the other set.

Returns:
  The direct productof the two sets.

t_set& operator*= | ( | t_set & | s1,
|  | const t_set & | s2
| ) |  |

Form direct product of two sets of transformations.

Each transformation of the first set is combined with every transformation from the second set and the result added to the first set.

Parameters:

  s1 | the first set.
  s2 | the second set.

Returns:
  A reference to s1 with the direct product of transformations set.

t_set operator+ | ( | const t_set & | s,
|  | const mat3d & | m
| ) |  |

Add a transformation.

Parameters:

  s | a set of transformations.
  m | the transformation to add.

Returns:
  A copy of
  - s with
  - m added.

t_set& operator+= | ( | t_set & | s,
|  | const mat3d & | m
| ) |  |

Add a transformation.

Parameters:

  s | a set of transformations.
  m | the transformation to add.

Returns:
  A refernce to
  - s with
  - m added.