public class DiscreteGroupUtility extends Object
Modifier and Type | Field and Description |
---|---|
static int |
badcount |
static double[][] |
bigSquare |
static String[] |
genInvNames |
static String[] |
genNames |
static Logger |
logger |
static String |
resourceDir |
static String |
triangleGroupFiles |
Constructor and Description |
---|
DiscreteGroupUtility() |
Modifier and Type | Method and Description |
---|---|
static de.jreality.scene.IndexedFaceSet |
actOnIndexedFaceSet(DiscreteGroup dg,
de.jreality.scene.IndexedFaceSet ifs)
Create a new instance of
IndexedFaceSet which represents the orbit of
the given IndexedFaceSet under the action of the group dg. |
static void |
addWordLabels(WingedEdge dirDom) |
static DiscreteGroupElement[] |
applyConstraint(DiscreteGroupConstraint dgc,
DiscreteGroupElement[] list)
Filter out and return as an array, those elements of the input list list which
satisfy the constraint dgc.
|
static void |
applyConstraint(DiscreteGroupConstraint dgc,
de.jreality.scene.SceneGraphComponent sgc,
int metric)
Bit of a hack: process the scene graph component's children; first create a
DiscreteGroupElement
which contains the transformation of the child, and set its word to the name
of the transformation. |
static void |
conjugate(DiscreteGroup dg,
de.jreality.math.Matrix conj) |
protected static double |
distanceOriginMoved(int sig,
DiscreteGroupElement o1) |
protected static double |
distancePointMoved(int sig,
double[] point,
DiscreteGroupElement o1) |
static DiscreteGroupElement |
elementFromWord(DiscreteGroup dg,
String word) |
static DiscreteGroupElement[] |
generateElements(DiscreteGroup dg,
DiscreteGroupConstraint constraint) |
static DiscreteGroupElement[] |
generateElements(DiscreteGroup dg,
DiscreteGroupConstraint constraint,
List<String> dupList) |
static DiscreteGroupElement |
getCanonicalRepresentative(double[] canpt,
double[] pt,
WingedEdge dirdom,
DiscreteGroup dg) |
static double[] |
getCanonicalRepresentative(WingedEdge dd,
DiscreteGroupElement dge,
double[] point,
double tol) |
static double[] |
getCanonicalRepresentative(WingedEdge dd,
double[] point,
double tol)
Calculate the point within the dirichlet domain represented by the WingedEdge instance dd
which is equivalent under a group element to the point point.
|
static double[] |
getCanonicalRepresentative2(double[] canpt,
double[] pt,
DiscreteGroupElement dge,
de.jreality.scene.IndexedFaceSet fd,
WallpaperGroup dg) |
static String[] |
getDuplicates(DiscreteGroup dg,
DiscreteGroupConstraint dgc) |
static DiscreteGroupElement |
getElementForWord(DiscreteGroupElement[] gens,
String word)
Creates the 4x4 matrix associated to the given word in the generators.
|
static de.jreality.scene.SceneGraphComponent |
getElKit() |
static String |
invertWord(DiscreteGroup dg,
String word) |
static void |
sort(DiscreteGroupElement[] list,
double[] center,
int sig) |
static void |
sort(DiscreteGroupElement[] list,
int sig)
A convenience method which sorts an array of DiscreteGroupElement's based on the
distance which it moves the origin.
|
static DiscreteGroup |
Star222()
A simple example group
|
static DiscreteGroup |
trivialGroup()
Returns the trivial group consisting of the identity element
|
public static int badcount
public static double[][] bigSquare
public static String[] genInvNames
public static String[] genNames
public static Logger logger
public static String resourceDir
public static String triangleGroupFiles
public static de.jreality.scene.IndexedFaceSet actOnIndexedFaceSet(DiscreteGroup dg, de.jreality.scene.IndexedFaceSet ifs)
IndexedFaceSet
which represents the orbit of
the given IndexedFaceSet under the action of the group dg.dg
- ifs
- public static void addWordLabels(WingedEdge dirDom)
public static DiscreteGroupElement[] applyConstraint(DiscreteGroupConstraint dgc, DiscreteGroupElement[] list)
dgc
- list
- public static void applyConstraint(DiscreteGroupConstraint dgc, de.jreality.scene.SceneGraphComponent sgc, int metric)
DiscreteGroupElement
which contains the transformation of the child, and set its word to the name
of the transformation. Then set the component's visibility based on whether the
constraint accepts this dge.dgc
- sgc
- metric
- public static void conjugate(DiscreteGroup dg, de.jreality.math.Matrix conj)
protected static double distanceOriginMoved(int sig, DiscreteGroupElement o1)
protected static double distancePointMoved(int sig, double[] point, DiscreteGroupElement o1)
public static DiscreteGroupElement elementFromWord(DiscreteGroup dg, String word)
public static DiscreteGroupElement[] generateElements(DiscreteGroup dg, DiscreteGroupConstraint constraint)
public static DiscreteGroupElement[] generateElements(DiscreteGroup dg, DiscreteGroupConstraint constraint, List<String> dupList)
public static DiscreteGroupElement getCanonicalRepresentative(double[] canpt, double[] pt, WingedEdge dirdom, DiscreteGroup dg)
public static double[] getCanonicalRepresentative(WingedEdge dd, DiscreteGroupElement dge, double[] point, double tol)
public static double[] getCanonicalRepresentative(WingedEdge dd, double[] point, double tol)
public static double[] getCanonicalRepresentative2(double[] canpt, double[] pt, DiscreteGroupElement dge, de.jreality.scene.IndexedFaceSet fd, WallpaperGroup dg)
public static String[] getDuplicates(DiscreteGroup dg, DiscreteGroupConstraint dgc)
public static DiscreteGroupElement getElementForWord(DiscreteGroupElement[] gens, String word)
gens
- word
- public static de.jreality.scene.SceneGraphComponent getElKit()
public static String invertWord(DiscreteGroup dg, String word)
public static void sort(DiscreteGroupElement[] list, double[] center, int sig)
public static void sort(DiscreteGroupElement[] list, int sig)
list
- sig
- public static DiscreteGroup Star222()
public static DiscreteGroup trivialGroup()