Up: Java Kali Source Code and Documentation

Class SymmetryGroup

Class SymmetryGroup

java.lang.Object
   |
   +----SymmetryGroup

class SymmetryGroup
extends Object
The SymmetryGroup class holds the data for a particular symmetry group. A symmetry group may be generated by

Kali always performs the generators in that order. Given a line segment upon which the group is to act, first the line segment is reflected (if a reflection is present), then the line and its reflection are glide reflected (if a glide reflection is present), then the images are rotated (if a rotation is present) and finally all images are translated according to whatever translations are present.

Note: all the math happens in the Panorama object; the SymmetryGroup object just holds the group data.

See Also:
SymmetryGroups, Panorama

Variable Index

 o glideReflectionType
If glideReflectionType != axis_none, do a glide reflection a distance 1/2 along the specified axis.
 o glideSegments
The locations of the glide segments.
 o gyrationPoints
The locations of the gyration points.
 o index
The index of the group (value is one of the constants defined Constants.java)
 o mirrorSegments
The locations of the mirror segments.
 o name
The name of the group (for debug printing, etc)
 o numGlideSegments
The number of glide segments (same as mirrorSegments.length).
 o numGyrationPoints
The number of gyration points (same as mirrorSegments.length).
 o numMirrorSegments
The number of mirror segments (same as mirrorSegments.length).
 o numTranslations
numTranslations tells how many independent translations are present.
 o reflectionType
reflectionType has one of the values AXIS_NONE, AXIS_X0, AXIS_X4, AXIS_Y0, or AXIS_Y4.
 o rotationOrder
rotationOrder gives the order of the rotation about the origin if a rotation is present.
 o translations

Constructor Index

 o SymmetryGroup(int, String, int, int, int)
Create a new SymmetryGroup object with the given data (and no mirror segments, glide segments, or gyration points).
 o SymmetryGroup(int, String, int, int, int, DVector[], Segment[], Segment[], DVector[])
Create a new SymmetryGroup object with the given data.

Method Index

 o toString()
Convert a SymmetryGroup to a string for printing

Variables

 o index
  public int index
The index of the group (value is one of the constants defined Constants.java)
 o name
  public String name
The name of the group (for debug printing, etc)
 o reflectionType
  public int reflectionType
reflectionType has one of the values AXIS_NONE, AXIS_X0, AXIS_X4, AXIS_Y0, or AXIS_Y4. If reflectionType != AXIS_NONE, do a reflection about the specified axis.
 o glideReflectionType
  public int glideReflectionType
If glideReflectionType != axis_none, do a glide reflection a distance 1/2 along the specified axis.
 o rotationOrder
  public int rotationOrder
rotationOrder gives the order of the rotation about the origin if a rotation is present. Otherwise it's zero.
 o numTranslations
  public int numTranslations
numTranslations tells how many independent translations are present. It will be 2 for a wallpaper group, 1 for a frieze group, and 0 for a rosette group. The array "translations" gives the translation vectors.
 o translations
  public DVector translations[]
 o numMirrorSegments
  public int numMirrorSegments
The number of mirror segments (same as mirrorSegments.length).
 o mirrorSegments
  public Segment mirrorSegments[]
The locations of the mirror segments. NOTE: currently Java Kali does not display these; they're included here because they were present in the Mac version, and a future version of Java Kali might display them.
 o numGlideSegments
  public int numGlideSegments
The number of glide segments (same as mirrorSegments.length).
 o glideSegments
  public Segment glideSegments[]
The locations of the glide segments.
 o numGyrationPoints
  public int numGyrationPoints
The number of gyration points (same as mirrorSegments.length).
 o gyrationPoints
  public DVector gyrationPoints[]
The locations of the gyration points.

Constructors

 o SymmetryGroup
  public SymmetryGroup(int index,
                       String name,
                       int reflectionType,
                       int glideReflectionType,
                       int rotationOrder)
Create a new SymmetryGroup object with the given data (and no mirror segments, glide segments, or gyration points).
 o SymmetryGroup
  public SymmetryGroup(int index,
                       String name,
                       int reflectionType,
                       int glideReflectionType,
                       int rotationOrder,
                       DVector translations[],
                       Segment mirrorSegments[],
                       Segment glideSegments[],
                       DVector gyrationPoints[])
Create a new SymmetryGroup object with the given data.

Methods

 o toString
  public String toString()
Convert a SymmetryGroup to a string for printing
Overrides:
toString in class Object


Up: Java Kali Source Code and Documentation

[HOME] The Geometry Center Home Page

Author: Mark Phillips
Comments to: webmaster@geom.umn.edu
Created: Sep 16 1996 --- Last modified: Sep 18 1996