/** * The Constants interface is simply a trick that allows us to define * certain global constants in a single file. Classes that need * access to these values should be declared with "implements * Constants" in their class declaration lines. */ public interface Constants { // // The AXIS_ values give the possible axes for elementary // reflections and glide reflections. // static final int AXIS_NONE = 1; // no symmetry of the given type static final int AXIS_X0 = 2; // x == 0 static final int AXIS_X4 = 3; // x == 1/4 static final int AXIS_Y0 = 4; // y == 0 static final int AXIS_Y4 = 5; // y == 1/4 static final int GROUPTYPE_WALLPAPER = 0; static final int GROUPTYPE_FRIEZE = 1; static final int GROUPTYPE_ROSETTE = 2; // The GROUP_ values define names for the wallpaper groups // using Conway's notation. // // 'o' stands for "wallpaper", // 'f' stands for "frieze", and // 'r' stands for "rosette". // // I've had to deviate from Conway's notation to express // everything using only letters and numbers. // // Conway's this // notation enum // // ¥ t ("torus") // o o // * x // ° i ("infinity") // // IMPORTANT NOTE: parts of the Kali source code make use of the // fact that the values of these GROUP_* constants are consectuve // integers starting with 0; in particular, these values are used // as indices into arrays of objects corresponding to the groups. // // // wallpaper groups // static final int GROUP_w2222 = 0; static final int GROUP_w333 = 1; static final int GROUP_w442 = 2; static final int GROUP_w632 = 3; static final int GROUP_wx2222 = 4; static final int GROUP_wx333 = 5; static final int GROUP_wx442 = 6; static final int GROUP_wx632 = 7; static final int GROUP_w4x2 = 8; static final int GROUP_w3x3 = 9; static final int GROUP_w2x22 = 10; static final int GROUP_w22x = 11; static final int GROUP_wxx = 12; static final int GROUP_wxo = 13; static final int GROUP_woo = 14; static final int GROUP_w22o = 15; static final int GROUP_wt = 16; // // frieze groups // static final int GROUP_fii = 17; static final int GROUP_fix = 18; static final int GROUP_fxii = 19; static final int GROUP_f22i = 20; static final int GROUP_fx22i = 21; static final int GROUP_f2xi = 22; static final int GROUP_fio = 23; // // rosette groups // static final int GROUP_r1 = 24; static final int GROUP_r2 = 25; static final int GROUP_r3 = 26; static final int GROUP_r4 = 27; static final int GROUP_r5 = 28; static final int GROUP_r6 = 29; static final int GROUP_rx1 = 30; static final int GROUP_rx2 = 31; static final int GROUP_rx3 = 32; static final int GROUP_rx4 = 33; static final int GROUP_rx5 = 34; static final int GROUP_rx6 = 35; // // Some math constants // static final double ROOT2 = 1.41421356237309504880; static final double ROOT3 = 1.73205080756887729352; static final double COS2PIOVER5 = 0.30901699437494742410; static final double SIN2PIOVER5 = 0.95105651629515357211; static final double MIN_TRANSLATION = 10.0; static final double MIN_AREA = 100.0; static final double MIN_ALTITUDE = 5.0; }