sdr 0.7

net.cscott.sdr.calls
Class FormationList

java.lang.Object
  extended by net.cscott.sdr.calls.FormationList

public abstract class FormationList
extends Object

A list of common formations, specified with phantoms. The actual formation definitions are in the package-scope FormationListSlow, which is post-processed into FormationListFast. This class is a public wrapper for those definitions and contains doc tests on the formations.

Tests:
Almost all standard formations are maximally "breathed in". This includes single diamonds, which are defined on a 2x3 grid, but twin diamonds have unbreathed points. (EXPECT FAIL: our breather is pushing in the points of twin diamonds)
js> FormationList = FormationList.js(this); undefined;
js> for (f in Iterator(FormationList.all)) {
  >   if (!Breather.breathe(f).equals(f)) {
  >     print("Unbreathed formation: "+f.getName());
  >   }
  > }
js> // note: no output from the above
doctest failure running:
 for (f in Iterator(FormationList.all)) {
   if (!Breather.breathe(f).equals(f)) {
     print("Unbreathed formation: "+f.getName());
   }
 }
expected: 
actual: Unbreathed formation: RH TWIN DIAMONDS
Unbreathed formation: LH TWIN DIAMONDS
Unbreathed formation: RH TWIN FACING DIAMONDS
Unbreathed formation: LH TWIN FACING DIAMONDS
Unbreathed formation: TWIN GENERAL DIAMONDS

 (FormationList.java#142)
Canonical formations should be centered.
js> FormationList = FormationList.js(this); undefined;
js> for (f in Iterator(FormationList.all)) {
  >   if (!f.isCentered()) {
  >     print("Uncentered formation: "+f.getName());
  >   }
  > } ; undefined
js> // note no output from the above.
Canonical formations should be oriented so that "most" dancers are facing north or south. This seems to match standard diagrams best.
js> FormationList = FormationList.js(this); undefined;
js> ns = Rotation.fromAbsoluteString("|");
0 mod 1/2
js> for (f in Iterator(FormationList.all)) {
  >   facing = [f.location(d).facing for (d in Iterator(f.dancers()))]
  >   l=[(ns.includes(dir) || dir.includes(ns)) for each (dir in facing)]
  >   if ([b for each (b in l) if (b)].length <
  >       [b for each (b in l) if (!b)].length) {
  >     print("Unexpected orientation: "+f.getName());
  >   }
  > } ; undefined
js> // note no output from the above.
Formations in the formation list should be named to match their field name, except that underscores become spaces (and some other minor abbreviations/tweaks occur, see below).
js> flc = java.lang.Class.forName('net.cscott.sdr.calls.FormationList')
class net.cscott.sdr.calls.FormationList
js> flds = [f for each (f in flc.getFields()) if
  >         (java.lang.reflect.Modifier.isPublic(f.getModifiers()) &&
  >          java.lang.reflect.Modifier.isStatic(f.getModifiers()) &&
  >          !f.getName().equals("all"))]; undefined
js> FormationListJS = FormationListJS.initJS(this); undefined;
js> flds.every(function(f) {
  >    name = f.getName();
  >    return (FormationListJS[name].getName()
  >            .replace(' ','_').replace('-','_')
  >            .replace("1/4","QUARTER")
  >            .replace("3/4","THREE_QUARTER")
  >            .replace("1x2", "_1x2")
  >            .replace("1x4", "_1x4")
  >            .replace("1x8", "_1x8")
  >            .replace("2x2", "_2x2")
  >            .replace("2x4", "_2x4")
  >            .equals(name));
  > })
true
There should be a matcher for every formation. (Although there are more matchers than there are formations.)
js> FormationList = FormationList.js(this); undefined;
js> for (f in Iterator(FormationList.all)) {
  >   let name = (f.getName()
  >                .replace("1/4","QUARTER")
  >                .replace("3/4","THREE_QUARTER")
  >                .replace("1x2", "_1_X2")
  >                .replace("1x4", "_1_X4")
  >                .replace("1x8", "_1_X8")
  >                .replace("2x2", "_2_X2")
  >                .replace("2x4", "_2_X4"));
  >   try {
  >     if (Matcher.valueOf(name).toString() != f.getName())
  >        print("Matcher name mismatch: "+f.getName());
  >   } catch (e) {
  >     print("No matcher for "+f.getName());
  >   }
  > }; undefined
js> // note: no output
The "slow" and "fast" versions of the formations should be identical (modulo the exact identity of the phantom dancers)
js> FormationListSlow = FormationListJS.initJS(this, FormationListSlow)
[object FormationListJS]
js> FormationListFast = FormationListJS.initJS(this, FormationList)
[object FormationListJS]
js> len = FormationListSlow.all.size(); undefined
js> [f for (f in FormationListSlow)].length == len
true
js> FormationListFast.all.size() == len
true
js> [f for (f in FormationListFast)].length == len
true
js> function compare(a, b) {
  >    if (!a.getName().equals(b.getName())) return false;
  >    d1=a.sortedDancers(); d2=b.sortedDancers();
  >    if (d1.size() != d2.size()) return false;
  >    // make all phantoms equivalent
  >    m=new java.util.HashMap();
  >    for (let i=0; i<d1.size(); i++) {
  >      if (!(d1.get(i) instanceof PhantomDancer)) return false;
  >      if (!(d2.get(i) instanceof PhantomDancer)) return false;
  >      m.put(d1.get(i), d2.get(i));
  >    }
  >    aa=a.map(m);
  >    return aa.equals(b);
  > }
js> matches=0
0
js> for (f in FormationListFast) {
  >    if (compare(FormationListSlow[f], FormationListFast[f]))
  >      matches++;
  > }; matches == len;
true

Field Summary
static NamedTaggedFormation _1x2
          1x2 formation.
static NamedTaggedFormation _1x4
          1x4 formation.
static NamedTaggedFormation _1x8
          1x8 formation.
static NamedTaggedFormation _2x2
          2x2 formation.
static NamedTaggedFormation _2x4
          2x4 formation.
static List<NamedTaggedFormation> all
          List of all formations defined here.
static NamedTaggedFormation BACK_TO_BACK_COUPLES
          BACK TO BACK COUPLES formation.
static NamedTaggedFormation BACK_TO_BACK_DANCERS
          BACK TO BACK DANCERS formation.
static NamedTaggedFormation BUTTERFLY_DOUBLE_PASS_THRU
          BUTTERFLY DOUBLE PASS THRU formation.
static NamedTaggedFormation COMPLETED_DOUBLE_PASS_THRU
          COMPLETED DOUBLE PASS THRU formation.
static NamedTaggedFormation COMPLETED_SINGLE_DOUBLE_PASS_THRU
          COMPLETED SINGLE DOUBLE PASS THRU formation.
static NamedTaggedFormation COUPLE
          COUPLE formation.
static NamedTaggedFormation DOUBLE_PASS_THRU
          DOUBLE PASS THRU formation.
static NamedTaggedFormation EIGHT_CHAIN_THRU
          EIGHT CHAIN THRU formation.
static NamedTaggedFormation ENDS_IN_INVERTED_LINES
          ENDS IN INVERTED LINES formation.
static NamedTaggedFormation ENDS_OUT_INVERTED_LINES
          ENDS OUT INVERTED LINES formation.
static NamedTaggedFormation FACING_COUPLES
          FACING COUPLES formation.
static NamedTaggedFormation FACING_DANCERS
          FACING DANCERS formation.
static NamedTaggedFormation FACING_LINES
          FACING LINES formation.
static NamedTaggedFormation GENERAL_COLUMNS
          GENERAL COLUMNS formation.
static NamedTaggedFormation GENERAL_DIAMOND
          GENERAL DIAMOND formation.
static NamedTaggedFormation GENERAL_LINE
          GENERAL LINE formation.
static NamedTaggedFormation GENERAL_PARTNERS
          GENERAL PARTNERS formation.
static NamedTaggedFormation GENERAL_QUARTER_TAG
          GENERAL 1/4 TAG formation.
static NamedTaggedFormation GENERAL_SINGLE_QUARTER_TAG
          GENERAL SINGLE QUARTER TAG formation.
static NamedTaggedFormation GENERAL_TANDEM
          GENERAL TANDEM formation.
static NamedTaggedFormation GENERAL_TIDAL_LINE
          GENERAL TIDAL LINE formation.
static NamedTaggedFormation INVERTED_BOX
          INVERTED BOX formation.
static NamedTaggedFormation LEFT_AND_RIGHT_GRAND
          LEFT AND RIGHT GRAND formation.
static NamedTaggedFormation LH_ALAMO_RING
          LH ALAMO RING formation.
static NamedTaggedFormation LH_BOX
          LH BOX formation.
static NamedTaggedFormation LH_COLUMN
          LH COLUMN formation.
static NamedTaggedFormation LH_DIAMOND
          LH DIAMOND formation.
static NamedTaggedFormation LH_FACING_DIAMOND
          LH FACING DIAMOND formation.
static NamedTaggedFormation LH_IN_PINWHEEL
          LH IN PINWHEEL formation.
static NamedTaggedFormation LH_MINIWAVE
          LH MINIWAVE formation.
static NamedTaggedFormation LH_OCEAN_WAVE
          LH OCEAN WAVE formation.
static NamedTaggedFormation LH_OUT_PINWHEEL
          LH OUT PINWHEEL formation.
static NamedTaggedFormation LH_POINT_TO_POINT_DIAMONDS
          LH POINT-TO-POINT DIAMONDS formation.
static NamedTaggedFormation LH_POINT_TO_POINT_FACING_DIAMONDS
          LH POINT-TO-POINT FACING DIAMONDS formation.
static NamedTaggedFormation LH_QUARTER_LINE
          LH 1/4 LINE formation.
static NamedTaggedFormation LH_QUARTER_TAG
          LH 1/4 TAG formation.
static NamedTaggedFormation LH_SINGLE_PROMENADE
          LH SINGLE PROMENADE formation.
static NamedTaggedFormation LH_SINGLE_QUARTER_TAG
          LH SINGLE 1/4 TAG formation.
static NamedTaggedFormation LH_SINGLE_QUARTER_ZEE
          LH SINGLE 1/4 ZEE formation.
static NamedTaggedFormation LH_SINGLE_THREE_QUARTER_TAG
          LH SINGLE 3/4 TAG formation.
static NamedTaggedFormation LH_SINGLE_THREE_QUARTER_ZEE
          LH SINGLE 3/4 ZEE formation.
static NamedTaggedFormation LH_STAR
          LH STAR formation.
static NamedTaggedFormation LH_THREE_QUARTER_LINE
          LH 3/4 LINE formation.
static NamedTaggedFormation LH_THREE_QUARTER_TAG
          LH 3/4 TAG formation.
static NamedTaggedFormation LH_TIDAL_LINE
          LH TIDAL LINE formation.
static NamedTaggedFormation LH_TIDAL_TWO_FACED_LINE
          LH TIDAL TWO-FACED LINE formation.
static NamedTaggedFormation LH_TIDAL_WAVE
          LH TIDAL WAVE formation.
static NamedTaggedFormation LH_TWIN_DIAMONDS
          LH TWIN DIAMONDS formation.
static NamedTaggedFormation LH_TWIN_FACING_DIAMONDS
          LH TWIN FACING DIAMONDS formation.
static NamedTaggedFormation LH_TWO_FACED_LINE
          LH TWO-FACED LINE formation.
static NamedTaggedFormation LINES_FACING_OUT
          LINES FACING OUT formation.
static NamedTaggedFormation O_DOUBLE_PASS_THRU
          O DOUBLE PASS THRU formation.
static NamedTaggedFormation O_SPOTS
          O SPOTS formation.
static NamedTaggedFormation PARALLEL_GENERAL_LINES
          PARALLEL GENERAL LINES formation.
static NamedTaggedFormation PARALLEL_LH_TWO_FACED_LINES
          PARALLEL LH TWO-FACED LINES formation.
static NamedTaggedFormation PARALLEL_LH_WAVES
          PARALLEL LH WAVES formation.
static NamedTaggedFormation PARALLEL_RH_TWO_FACED_LINES
          PARALLEL RH TWO-FACED LINES formation.
static NamedTaggedFormation PARALLEL_RH_WAVES
          PARALLEL RH WAVES formation.
static NamedTaggedFormation POINT_TO_POINT_GENERAL_DIAMONDS
          POINT-TO-POINT GENERAL DIAMONDS formation.
static NamedTaggedFormation PROMENADE
          PROMENADE formation.
static NamedTaggedFormation REVERSE_SINGLE_FILE_PROMENADE
          REVERSE SINGLE FILE PROMENADE formation.
static NamedTaggedFormation RH_ALAMO_RING
          RH ALAMO RING formation.
static NamedTaggedFormation RH_BOX
          RH BOX formation.
static NamedTaggedFormation RH_COLUMN
          RH COLUMN formation.
static NamedTaggedFormation RH_DIAMOND
          RH DIAMOND formation.
static NamedTaggedFormation RH_FACING_DIAMOND
          RH FACING DIAMOND formation.
static NamedTaggedFormation RH_IN_PINWHEEL
          RH IN PINWHEEL formation.
static NamedTaggedFormation RH_MINIWAVE
          RH MINIWAVE formation.
static NamedTaggedFormation RH_OCEAN_WAVE
          RH OCEAN WAVE formation.
static NamedTaggedFormation RH_OUT_PINWHEEL
          RH OUT PINWHEEL formation.
static NamedTaggedFormation RH_POINT_TO_POINT_DIAMONDS
          RH POINT-TO-POINT DIAMONDS formation.
static NamedTaggedFormation RH_POINT_TO_POINT_FACING_DIAMONDS
          RH POINT-TO-POINT FACING DIAMONDS formation.
static NamedTaggedFormation RH_QUARTER_LINE
          RH 1/4 LINE formation.
static NamedTaggedFormation RH_QUARTER_TAG
          RH 1/4 TAG formation.
static NamedTaggedFormation RH_SINGLE_PROMENADE
          RH SINGLE PROMENADE formation.
static NamedTaggedFormation RH_SINGLE_QUARTER_TAG
          RH SINGLE 1/4 TAG formation.
static NamedTaggedFormation RH_SINGLE_QUARTER_ZEE
          RH SINGLE 1/4 ZEE formation.
static NamedTaggedFormation RH_SINGLE_THREE_QUARTER_TAG
          RH SINGLE 3/4 TAG formation.
static NamedTaggedFormation RH_SINGLE_THREE_QUARTER_ZEE
          RH SINGLE 3/4 ZEE formation.
static NamedTaggedFormation RH_STAR
          RH STAR formation.
static NamedTaggedFormation RH_THREE_QUARTER_LINE
          RH 3/4 LINE formation.
static NamedTaggedFormation RH_THREE_QUARTER_TAG
          RH 3/4 TAG formation.
static NamedTaggedFormation RH_TIDAL_LINE
          RH TIDAL LINE formation.
static NamedTaggedFormation RH_TIDAL_TWO_FACED_LINE
          RH TIDAL TWO-FACED LINE formation.
static NamedTaggedFormation RH_TIDAL_WAVE
          RH TIDAL WAVE formation.
static NamedTaggedFormation RH_TWIN_DIAMONDS
          RH TWIN DIAMONDS formation.
static NamedTaggedFormation RH_TWIN_FACING_DIAMONDS
          RH TWIN FACING DIAMONDS formation.
static NamedTaggedFormation RH_TWO_FACED_LINE
          RH TWO-FACED LINE formation.
static NamedTaggedFormation RIGHT_AND_LEFT_GRAND
          RIGHT AND LEFT GRAND formation.
static NamedTaggedFormation RIGHT_AND_LEFT_GRAND_DIAMOND
          RIGHT AND LEFT GRAND DIAMOND formation.
static NamedTaggedFormation SINGLE_DANCER
          SINGLE DANCER formation.
static NamedTaggedFormation SINGLE_DOUBLE_PASS_THRU
          SINGLE DOUBLE PASS THRU formation.
static NamedTaggedFormation SINGLE_FILE_PROMENADE
          SINGLE FILE PROMENADE formation.
static NamedTaggedFormation SINGLE_INVERTED_LINE
          SINGLE INVERTED LINE formation.
static NamedTaggedFormation SINGLE_STATIC_SQUARE
          SINGLE STATIC SQUARE formation.
static NamedTaggedFormation STAR_PROMENADE
          STAR PROMENADE formation.
static NamedTaggedFormation STATIC_SQUARE
          STATIC SQUARE formation.
static NamedTaggedFormation STATIC_SQUARE_FACING_OUT
          STATIC SQUARE FACING OUT formation.
static NamedTaggedFormation TANDEM
          TANDEM formation.
static NamedTaggedFormation TANDEM_COUPLES
          TANDEM COUPLES formation.
static NamedTaggedFormation THAR
          THAR formation.
static NamedTaggedFormation TRADE_BY
          TRADE BY formation.
static NamedTaggedFormation TWIN_GENERAL_DIAMONDS
          TWIN GENERAL DIAMONDS formation.
static NamedTaggedFormation WRONG_WAY_PROMENADE
          WRONG WAY PROMENADE formation.
static NamedTaggedFormation WRONG_WAY_STAR_PROMENADE
          WRONG WAY STAR PROMENADE formation.
static NamedTaggedFormation WRONG_WAY_THAR
          WRONG WAY THAR formation.
 
Constructor Summary
FormationList()
           
 
Method Summary
static org.mozilla.javascript.Scriptable js(org.mozilla.javascript.Scriptable scope)
          Javascript helper.
static void main(String[] args)
          Show all the defined formations.
static NamedTaggedFormation valueOf(String s)
          Return the named formation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SINGLE_DANCER

public static final NamedTaggedFormation SINGLE_DANCER
SINGLE DANCER formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.SINGLE_DANCER; tf.toStringDiagram('|');
|^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[]

GENERAL_PARTNERS

public static final NamedTaggedFormation GENERAL_PARTNERS
GENERAL PARTNERS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.GENERAL_PARTNERS; tf.toStringDiagram('|');
||    |
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[]
[]

GENERAL_TANDEM

public static final NamedTaggedFormation GENERAL_TANDEM
GENERAL TANDEM formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.GENERAL_TANDEM; tf.toStringDiagram('|');
||
|
||
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[]
[]

_1x2

public static final NamedTaggedFormation _1x2
1x2 formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList._1x2; tf.toStringDiagram('|');
|+    +
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[]
[]

COUPLE

public static final NamedTaggedFormation COUPLE
COUPLE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.COUPLE; tf.toStringDiagram('|');
|^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU]
[BELLE]

FACING_DANCERS

public static final NamedTaggedFormation FACING_DANCERS
FACING DANCERS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.FACING_DANCERS; tf.toStringDiagram('|');
|v
|
|^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[TRAILER]
[TRAILER]

BACK_TO_BACK_DANCERS

public static final NamedTaggedFormation BACK_TO_BACK_DANCERS
BACK TO BACK DANCERS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.BACK_TO_BACK_DANCERS; tf.toStringDiagram('|');
|^
|
|v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[LEADER]
[LEADER]

TANDEM

public static final NamedTaggedFormation TANDEM
TANDEM formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.TANDEM; tf.toStringDiagram('|');
|^
|
|^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[LEADER]
[TRAILER]

RH_MINIWAVE

public static final NamedTaggedFormation RH_MINIWAVE
RH MINIWAVE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_MINIWAVE; tf.toStringDiagram('|');
|^    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU]
[BEAU]

LH_MINIWAVE

public static final NamedTaggedFormation LH_MINIWAVE
LH MINIWAVE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_MINIWAVE; tf.toStringDiagram('|');
|v    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE]
[BELLE]

GENERAL_LINE

public static final NamedTaggedFormation GENERAL_LINE
GENERAL LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.GENERAL_LINE; tf.toStringDiagram('|');
||    |    |    |
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[END]
[CENTER]
[CENTER]
[END]

_1x4

public static final NamedTaggedFormation _1x4
1x4 formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList._1x4; tf.toStringDiagram('|');
|+    +    +    +
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[END]
[CENTER]
[CENTER]
[END]

_2x2

public static final NamedTaggedFormation _2x2
2x2 formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList._2x2; tf.toStringDiagram('|');
|+    +
|
|+    +
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[]
[]
[]
[]

SINGLE_STATIC_SQUARE

public static final NamedTaggedFormation SINGLE_STATIC_SQUARE
SINGLE STATIC SQUARE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.SINGLE_STATIC_SQUARE; tf.toStringDiagram('|');
|     v
|
|>         <
|
|     ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[]
[]
[]
[]

FACING_COUPLES

public static final NamedTaggedFormation FACING_COUPLES
FACING COUPLES formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.FACING_COUPLES; tf.toStringDiagram('|');
|v    v
|
|^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER]
[BEAU, TRAILER]
[BEAU, TRAILER]
[BELLE, TRAILER]

BACK_TO_BACK_COUPLES

public static final NamedTaggedFormation BACK_TO_BACK_COUPLES
BACK TO BACK COUPLES formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.BACK_TO_BACK_COUPLES; tf.toStringDiagram('|');
|^    ^
|
|v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER]
[BELLE, LEADER]
[BELLE, LEADER]
[BEAU, LEADER]

TANDEM_COUPLES

public static final NamedTaggedFormation TANDEM_COUPLES
TANDEM COUPLES formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.TANDEM_COUPLES; tf.toStringDiagram('|');
|^    ^
|
|^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER]
[BELLE, LEADER]
[BEAU, TRAILER]
[BELLE, TRAILER]

RH_OCEAN_WAVE

public static final NamedTaggedFormation RH_OCEAN_WAVE
RH OCEAN WAVE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_OCEAN_WAVE; tf.toStringDiagram('|');
|^    v    ^    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BEAU, END]

LH_OCEAN_WAVE

public static final NamedTaggedFormation LH_OCEAN_WAVE
LH OCEAN WAVE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_OCEAN_WAVE; tf.toStringDiagram('|');
|v    ^    v    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BELLE, END]

RH_BOX

public static final NamedTaggedFormation RH_BOX
RH BOX formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_BOX; tf.toStringDiagram('|');
|^    v
|
|^    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER]
[BEAU, TRAILER]
[BEAU, TRAILER]
[BEAU, LEADER]

LH_BOX

public static final NamedTaggedFormation LH_BOX
LH BOX formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_BOX; tf.toStringDiagram('|');
|v    ^
|
|v    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER]
[BELLE, LEADER]
[BELLE, LEADER]
[BELLE, TRAILER]

INVERTED_BOX

public static final NamedTaggedFormation INVERTED_BOX
INVERTED BOX formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.INVERTED_BOX; tf.toStringDiagram('|');
|v    ^
|
|^    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER]
[BELLE, LEADER]
[BEAU, TRAILER]
[BEAU, LEADER]

RH_IN_PINWHEEL

public static final NamedTaggedFormation RH_IN_PINWHEEL
RH IN PINWHEEL formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_IN_PINWHEEL; tf.toStringDiagram('|');
|>    v
|
|^    <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, TRAILER]
[BEAU, TRAILER]
[BEAU, TRAILER]
[BEAU, TRAILER]

LH_IN_PINWHEEL

public static final NamedTaggedFormation LH_IN_PINWHEEL
LH IN PINWHEEL formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_IN_PINWHEEL; tf.toStringDiagram('|');
|v    <
|
|>    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER]
[BELLE, TRAILER]
[BELLE, TRAILER]
[BELLE, TRAILER]

RH_OUT_PINWHEEL

public static final NamedTaggedFormation RH_OUT_PINWHEEL
RH OUT PINWHEEL formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_OUT_PINWHEEL; tf.toStringDiagram('|');
|^    >
|
|<    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER]
[BEAU, LEADER]
[BEAU, LEADER]
[BEAU, LEADER]

LH_OUT_PINWHEEL

public static final NamedTaggedFormation LH_OUT_PINWHEEL
LH OUT PINWHEEL formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_OUT_PINWHEEL; tf.toStringDiagram('|');
|<    ^
|
|v    >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, LEADER]
[BELLE, LEADER]
[BELLE, LEADER]
[BELLE, LEADER]

RH_SINGLE_QUARTER_ZEE

public static final NamedTaggedFormation RH_SINGLE_QUARTER_ZEE
RH SINGLE 1/4 ZEE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_SINGLE_QUARTER_ZEE; tf.toStringDiagram('|');
|     v
|
|^    v
|
|^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, TRAILER]
[BEAU, LEADER, CENTER]
[BEAU, TRAILER, CENTER]
[BEAU, TRAILER]

LH_SINGLE_QUARTER_ZEE

public static final NamedTaggedFormation LH_SINGLE_QUARTER_ZEE
LH SINGLE 1/4 ZEE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_SINGLE_QUARTER_ZEE; tf.toStringDiagram('|');
|v
|
|v    ^
|
|     ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER]
[BELLE, LEADER, CENTER]
[BELLE, LEADER, CENTER]
[BELLE, TRAILER]

RH_SINGLE_THREE_QUARTER_ZEE

public static final NamedTaggedFormation RH_SINGLE_THREE_QUARTER_ZEE
RH SINGLE 3/4 ZEE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_SINGLE_THREE_QUARTER_ZEE; tf.toStringDiagram('|');
|^
|
|^    v
|
|     v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER]
[BEAU, TRAILER, CENTER]
[BEAU, TRAILER, CENTER]
[BEAU, LEADER]

LH_SINGLE_THREE_QUARTER_ZEE

public static final NamedTaggedFormation LH_SINGLE_THREE_QUARTER_ZEE
LH SINGLE 3/4 ZEE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_SINGLE_THREE_QUARTER_ZEE; tf.toStringDiagram('|');
|     ^
|
|v    ^
|
|v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, LEADER]
[BELLE, TRAILER, CENTER]
[BELLE, TRAILER, CENTER]
[BELLE, LEADER]

RH_TWO_FACED_LINE

public static final NamedTaggedFormation RH_TWO_FACED_LINE
RH TWO-FACED LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_TWO_FACED_LINE; tf.toStringDiagram('|');
|^    ^    v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BEAU, END]

LH_TWO_FACED_LINE

public static final NamedTaggedFormation LH_TWO_FACED_LINE
LH TWO-FACED LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_TWO_FACED_LINE; tf.toStringDiagram('|');
|v    v    ^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BELLE, END]

SINGLE_INVERTED_LINE

public static final NamedTaggedFormation SINGLE_INVERTED_LINE
SINGLE INVERTED LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.SINGLE_INVERTED_LINE; tf.toStringDiagram('|');
|v    ^    ^    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BELLE, CENTER]
[BEAU, CENTER]
[BEAU, END]

GENERAL_DIAMOND

public static final NamedTaggedFormation GENERAL_DIAMOND
GENERAL DIAMOND formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.GENERAL_DIAMOND; tf.toStringDiagram('|');
|  -
|
||    |
|
|  -
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[CENTER]
[CENTER]
[POINT]

RH_DIAMOND

public static final NamedTaggedFormation RH_DIAMOND
RH DIAMOND formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_DIAMOND; tf.toStringDiagram('|');
|  >
|
|^    v
|
|  <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[BEAU, CENTER]
[BEAU, CENTER]
[POINT]

RH_FACING_DIAMOND

public static final NamedTaggedFormation RH_FACING_DIAMOND
RH FACING DIAMOND formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_FACING_DIAMOND; tf.toStringDiagram('|');
|  <
|
|^    v
|
|  >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[BEAU, CENTER]
[BEAU, CENTER]
[POINT]

LH_DIAMOND

public static final NamedTaggedFormation LH_DIAMOND
LH DIAMOND formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_DIAMOND; tf.toStringDiagram('|');
|  <
|
|v    ^
|
|  >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[BELLE, CENTER]
[BELLE, CENTER]
[POINT]

LH_FACING_DIAMOND

public static final NamedTaggedFormation LH_FACING_DIAMOND
LH FACING DIAMOND formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_FACING_DIAMOND; tf.toStringDiagram('|');
|  >
|
|v    ^
|
|  <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[BELLE, CENTER]
[BELLE, CENTER]
[POINT]

RH_STAR

public static final NamedTaggedFormation RH_STAR
RH STAR formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_STAR; tf.toStringDiagram('|');
|  >
|^    v
|  <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[]
[]
[]
[]

LH_STAR

public static final NamedTaggedFormation LH_STAR
LH STAR formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_STAR; tf.toStringDiagram('|');
|  <
|v    ^
|  >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[]
[]
[]
[]

RH_SINGLE_PROMENADE

public static final NamedTaggedFormation RH_SINGLE_PROMENADE
RH SINGLE PROMENADE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_SINGLE_PROMENADE; tf.toStringDiagram('|');
|     >
|
|^         v
|
|     <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[]
[]
[]
[]

LH_SINGLE_PROMENADE

public static final NamedTaggedFormation LH_SINGLE_PROMENADE
LH SINGLE PROMENADE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_SINGLE_PROMENADE; tf.toStringDiagram('|');
|     <
|
|v         ^
|
|     >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[]
[]
[]
[]

GENERAL_SINGLE_QUARTER_TAG

public static final NamedTaggedFormation GENERAL_SINGLE_QUARTER_TAG
GENERAL SINGLE QUARTER TAG formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.GENERAL_SINGLE_QUARTER_TAG; tf.toStringDiagram('|');
|  |
|
||    |
|
|  |
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[END]
[CENTER]
[CENTER]
[END]

RH_SINGLE_QUARTER_TAG

public static final NamedTaggedFormation RH_SINGLE_QUARTER_TAG
RH SINGLE 1/4 TAG formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_SINGLE_QUARTER_TAG; tf.toStringDiagram('|');
|  v
|
|^    v
|
|  ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[END]
[BEAU, CENTER]
[BEAU, CENTER]
[END]

LH_SINGLE_QUARTER_TAG

public static final NamedTaggedFormation LH_SINGLE_QUARTER_TAG
LH SINGLE 1/4 TAG formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_SINGLE_QUARTER_TAG; tf.toStringDiagram('|');
|  v
|
|v    ^
|
|  ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[END]
[BELLE, CENTER]
[BELLE, CENTER]
[END]

RH_SINGLE_THREE_QUARTER_TAG

public static final NamedTaggedFormation RH_SINGLE_THREE_QUARTER_TAG
RH SINGLE 3/4 TAG formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_SINGLE_THREE_QUARTER_TAG; tf.toStringDiagram('|');
|  ^
|
|^    v
|
|  v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[END]
[BEAU, CENTER]
[BEAU, CENTER]
[END]

LH_SINGLE_THREE_QUARTER_TAG

public static final NamedTaggedFormation LH_SINGLE_THREE_QUARTER_TAG
LH SINGLE 3/4 TAG formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_SINGLE_THREE_QUARTER_TAG; tf.toStringDiagram('|');
|  ^
|
|v    ^
|
|  v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[END]
[BELLE, CENTER]
[BELLE, CENTER]
[END]

SINGLE_DOUBLE_PASS_THRU

public static final NamedTaggedFormation SINGLE_DOUBLE_PASS_THRU
SINGLE DOUBLE PASS THRU formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.SINGLE_DOUBLE_PASS_THRU; tf.toStringDiagram('|');
|v
|
|v
|
|^
|
|^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[TRAILER, END, NUMBER_4]
[LEADER, CENTER, NUMBER_3]
[LEADER, CENTER, NUMBER_3]
[TRAILER, END, NUMBER_4]

COMPLETED_SINGLE_DOUBLE_PASS_THRU

public static final NamedTaggedFormation COMPLETED_SINGLE_DOUBLE_PASS_THRU
COMPLETED SINGLE DOUBLE PASS THRU formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.COMPLETED_SINGLE_DOUBLE_PASS_THRU; tf.toStringDiagram('|');
|^
|
|^
|
|v
|
|v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[LEADER, END, NUMBER_1]
[TRAILER, CENTER, NUMBER_2]
[TRAILER, CENTER, NUMBER_2]
[LEADER, END, NUMBER_1]

_1x8

public static final NamedTaggedFormation _1x8
1x8 formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList._1x8; tf.toStringDiagram('|');
|+    +    +    +    +    +    +    +
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[OUTSIDE_4]
[OUTSIDE_4]
[CENTER]
[CENTER]
[CENTER]
[CENTER]
[OUTSIDE_4]
[OUTSIDE_4]

_2x4

public static final NamedTaggedFormation _2x4
2x4 formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList._2x4; tf.toStringDiagram('|');
|+    +    +    +
|
|+    +    +    +
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[OUTSIDE_4]
[CENTER]
[CENTER]
[OUTSIDE_4]
[OUTSIDE_4]
[CENTER]
[CENTER]
[OUTSIDE_4]

PARALLEL_GENERAL_LINES

public static final NamedTaggedFormation PARALLEL_GENERAL_LINES
PARALLEL GENERAL LINES formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.PARALLEL_GENERAL_LINES; tf.toStringDiagram('|');
||    |    |    |
|
||    |    |    |
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[OUTSIDE_4]
[CENTER]
[CENTER]
[OUTSIDE_4]
[OUTSIDE_4]
[CENTER]
[CENTER]
[OUTSIDE_4]

GENERAL_COLUMNS

public static final NamedTaggedFormation GENERAL_COLUMNS
GENERAL COLUMNS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.GENERAL_COLUMNS; tf.toStringDiagram('|');
||    |
|
||    |
|
||    |
|
||    |
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[OUTSIDE_4]
[OUTSIDE_4]
[CENTER]
[CENTER]
[CENTER]
[CENTER]
[OUTSIDE_4]
[OUTSIDE_4]

STATIC_SQUARE

public static final NamedTaggedFormation STATIC_SQUARE
STATIC SQUARE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.STATIC_SQUARE; tf.toStringDiagram('|');
|     v    v
|
|>              <
|
|>              <
|
|     ^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE]
[BEAU]
[BEAU]
[BELLE]
[BELLE]
[BEAU]
[BEAU]
[BELLE]

STATIC_SQUARE_FACING_OUT

public static final NamedTaggedFormation STATIC_SQUARE_FACING_OUT
STATIC SQUARE FACING OUT formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.STATIC_SQUARE_FACING_OUT; tf.toStringDiagram('|');
|     ^    ^
|
|<              >
|
|<              >
|
|     v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU]
[BELLE]
[BELLE]
[BEAU]
[BEAU]
[BELLE]
[BELLE]
[BEAU]

SINGLE_FILE_PROMENADE

public static final NamedTaggedFormation SINGLE_FILE_PROMENADE
SINGLE FILE PROMENADE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.SINGLE_FILE_PROMENADE; tf.toStringDiagram('|');
|     <    <
|
|v              ^
|
|v              ^
|
|     >    >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[LEADER]
[TRAILER]
[TRAILER]
[LEADER]
[LEADER]
[TRAILER]
[TRAILER]
[LEADER]

REVERSE_SINGLE_FILE_PROMENADE

public static final NamedTaggedFormation REVERSE_SINGLE_FILE_PROMENADE
REVERSE SINGLE FILE PROMENADE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.REVERSE_SINGLE_FILE_PROMENADE; tf.toStringDiagram('|');
|     >    >
|
|^              v
|
|^              v
|
|     <    <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[TRAILER]
[LEADER]
[LEADER]
[TRAILER]
[TRAILER]
[LEADER]
[LEADER]
[TRAILER]

RH_ALAMO_RING

public static final NamedTaggedFormation RH_ALAMO_RING
RH ALAMO RING formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_ALAMO_RING; tf.toStringDiagram('|');
|     ^    v
|
|>              >
|
|<              <
|
|     ^    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU]
[BEAU]
[BEAU]
[BEAU]
[BEAU]
[BEAU]
[BEAU]
[BEAU]

LH_ALAMO_RING

public static final NamedTaggedFormation LH_ALAMO_RING
LH ALAMO RING formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_ALAMO_RING; tf.toStringDiagram('|');
|     v    ^
|
|<              <
|
|>              >
|
|     v    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE]
[BELLE]
[BELLE]
[BELLE]
[BELLE]
[BELLE]
[BELLE]
[BELLE]

O_SPOTS

public static final NamedTaggedFormation O_SPOTS
O SPOTS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.O_SPOTS; tf.toStringDiagram('|');
|     o    o
|
|o              o
|
|o              o
|
|     o    o
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[]
[]
[]
[]
[]
[]
[]
[]

PROMENADE

public static final NamedTaggedFormation PROMENADE
PROMENADE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.PROMENADE; tf.toStringDiagram('|');
|          <
|
|          <
|
|v    v         ^    ^
|
|          >
|
|          >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BEAU, CENTER]
[BELLE, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BELLE, END]
[BEAU, CENTER]
[BELLE, END]

WRONG_WAY_PROMENADE

public static final NamedTaggedFormation WRONG_WAY_PROMENADE
WRONG WAY PROMENADE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.WRONG_WAY_PROMENADE; tf.toStringDiagram('|');
|          >
|
|          >
|
|^    ^         v    v
|
|          <
|
|          <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, END]
[BELLE, CENTER]
[BEAU, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BEAU, END]
[BELLE, CENTER]
[BEAU, END]

STAR_PROMENADE

public static final NamedTaggedFormation STAR_PROMENADE
STAR PROMENADE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.STAR_PROMENADE; tf.toStringDiagram('|');
|       <
|
|       <
|v    v    ^    ^
|       >
|
|       >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BEAU, CENTER]
[BELLE, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BELLE, END]
[BEAU, CENTER]
[BELLE, END]

WRONG_WAY_STAR_PROMENADE

public static final NamedTaggedFormation WRONG_WAY_STAR_PROMENADE
WRONG WAY STAR PROMENADE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.WRONG_WAY_STAR_PROMENADE; tf.toStringDiagram('|');
|       >
|
|       >
|^    ^    v    v
|       <
|
|       <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, END]
[BELLE, CENTER]
[BEAU, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BEAU, END]
[BELLE, CENTER]
[BEAU, END]

THAR

public static final NamedTaggedFormation THAR
THAR formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.THAR; tf.toStringDiagram('|');
|       <
|
|       >
|v    ^    v    ^
|       <
|
|       >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BELLE, CENTER]
[BELLE, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BELLE, END]
[BELLE, CENTER]
[BELLE, END]

WRONG_WAY_THAR

public static final NamedTaggedFormation WRONG_WAY_THAR
WRONG WAY THAR formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.WRONG_WAY_THAR; tf.toStringDiagram('|');
|       >
|
|       <
|^    v    ^    v
|       >
|
|       <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, END]
[BEAU, CENTER]
[BEAU, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BEAU, END]
[BEAU, CENTER]
[BEAU, END]

RIGHT_AND_LEFT_GRAND

public static final NamedTaggedFormation RIGHT_AND_LEFT_GRAND
RIGHT AND LEFT GRAND formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RIGHT_AND_LEFT_GRAND; tf.toStringDiagram('|');
|          >
|
|          <
|
|^    v         ^    v
|
|          >
|
|          <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, END]
[BEAU, CENTER]
[BEAU, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BEAU, END]
[BEAU, CENTER]
[BEAU, END]

RIGHT_AND_LEFT_GRAND_DIAMOND

public static final NamedTaggedFormation RIGHT_AND_LEFT_GRAND_DIAMOND
RIGHT AND LEFT GRAND DIAMOND formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RIGHT_AND_LEFT_GRAND_DIAMOND; tf.toStringDiagram('|');
|       >
|
|       <
|
|^    v    ^    v
|
|       >
|
|       <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, POINT, END]
[BEAU, POINT, CENTER]
[BEAU, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BEAU, END]
[BEAU, POINT, CENTER]
[BEAU, POINT, END]

LEFT_AND_RIGHT_GRAND

public static final NamedTaggedFormation LEFT_AND_RIGHT_GRAND
LEFT AND RIGHT GRAND formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LEFT_AND_RIGHT_GRAND; tf.toStringDiagram('|');
|          <
|
|          >
|
|v    ^         v    ^
|
|          <
|
|          >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BELLE, CENTER]
[BELLE, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BELLE, END]
[BELLE, CENTER]
[BELLE, END]

FACING_LINES

public static final NamedTaggedFormation FACING_LINES
FACING LINES formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.FACING_LINES; tf.toStringDiagram('|');
|v    v    v    v
|
|^    ^    ^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER, END]
[BEAU, TRAILER, CENTER]
[BELLE, TRAILER, CENTER]
[BEAU, TRAILER, END]
[BEAU, TRAILER, END]
[BELLE, TRAILER, CENTER]
[BEAU, TRAILER, CENTER]
[BELLE, TRAILER, END]

EIGHT_CHAIN_THRU

public static final NamedTaggedFormation EIGHT_CHAIN_THRU
EIGHT CHAIN THRU formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.EIGHT_CHAIN_THRU; tf.toStringDiagram('|');
|v    v
|
|^    ^
|
|v    v
|
|^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER, END, NUMBER_4]
[BEAU, TRAILER, END, NUMBER_4]
[BEAU, TRAILER, CENTER, NUMBER_2]
[BELLE, TRAILER, CENTER, NUMBER_2]
[BELLE, TRAILER, CENTER, NUMBER_2]
[BEAU, TRAILER, CENTER, NUMBER_2]
[BEAU, TRAILER, END, NUMBER_4]
[BELLE, TRAILER, END, NUMBER_4]

TRADE_BY

public static final NamedTaggedFormation TRADE_BY
TRADE BY formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.TRADE_BY; tf.toStringDiagram('|');
|^    ^
|
|v    v
|
|^    ^
|
|v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER, END, NUMBER_1]
[BELLE, LEADER, END, NUMBER_1]
[BELLE, LEADER, CENTER, NUMBER_3]
[BEAU, LEADER, CENTER, NUMBER_3]
[BEAU, LEADER, CENTER, NUMBER_3]
[BELLE, LEADER, CENTER, NUMBER_3]
[BELLE, LEADER, END, NUMBER_1]
[BEAU, LEADER, END, NUMBER_1]

DOUBLE_PASS_THRU

public static final NamedTaggedFormation DOUBLE_PASS_THRU
DOUBLE PASS THRU formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.DOUBLE_PASS_THRU; tf.toStringDiagram('|');
|v    v
|
|v    v
|
|^    ^
|
|^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER, END, NUMBER_4]
[BEAU, TRAILER, END, NUMBER_4]
[BELLE, LEADER, CENTER, NUMBER_3]
[BEAU, LEADER, CENTER, NUMBER_3]
[BEAU, LEADER, CENTER, NUMBER_3]
[BELLE, LEADER, CENTER, NUMBER_3]
[BEAU, TRAILER, END, NUMBER_4]
[BELLE, TRAILER, END, NUMBER_4]

COMPLETED_DOUBLE_PASS_THRU

public static final NamedTaggedFormation COMPLETED_DOUBLE_PASS_THRU
COMPLETED DOUBLE PASS THRU formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.COMPLETED_DOUBLE_PASS_THRU; tf.toStringDiagram('|');
|^    ^
|
|^    ^
|
|v    v
|
|v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER, END, NUMBER_1]
[BELLE, LEADER, END, NUMBER_1]
[BEAU, TRAILER, CENTER, NUMBER_2]
[BELLE, TRAILER, CENTER, NUMBER_2]
[BELLE, TRAILER, CENTER, NUMBER_2]
[BEAU, TRAILER, CENTER, NUMBER_2]
[BELLE, LEADER, END, NUMBER_1]
[BEAU, LEADER, END, NUMBER_1]

LINES_FACING_OUT

public static final NamedTaggedFormation LINES_FACING_OUT
LINES FACING OUT formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LINES_FACING_OUT; tf.toStringDiagram('|');
|^    ^    ^    ^
|
|v    v    v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER, END]
[BELLE, LEADER, CENTER]
[BEAU, LEADER, CENTER]
[BELLE, LEADER, END]
[BELLE, LEADER, END]
[BEAU, LEADER, CENTER]
[BELLE, LEADER, CENTER]
[BEAU, LEADER, END]

PARALLEL_RH_WAVES

public static final NamedTaggedFormation PARALLEL_RH_WAVES
PARALLEL RH WAVES formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.PARALLEL_RH_WAVES; tf.toStringDiagram('|');
|^    v    ^    v
|
|^    v    ^    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER, END]
[BEAU, TRAILER, CENTER]
[BEAU, LEADER, CENTER]
[BEAU, TRAILER, END]
[BEAU, TRAILER, END]
[BEAU, LEADER, CENTER]
[BEAU, TRAILER, CENTER]
[BEAU, LEADER, END]

PARALLEL_LH_WAVES

public static final NamedTaggedFormation PARALLEL_LH_WAVES
PARALLEL LH WAVES formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.PARALLEL_LH_WAVES; tf.toStringDiagram('|');
|v    ^    v    ^
|
|v    ^    v    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER, END]
[BELLE, LEADER, CENTER]
[BELLE, TRAILER, CENTER]
[BELLE, LEADER, END]
[BELLE, LEADER, END]
[BELLE, TRAILER, CENTER]
[BELLE, LEADER, CENTER]
[BELLE, TRAILER, END]

PARALLEL_RH_TWO_FACED_LINES

public static final NamedTaggedFormation PARALLEL_RH_TWO_FACED_LINES
PARALLEL RH TWO-FACED LINES formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.PARALLEL_RH_TWO_FACED_LINES; tf.toStringDiagram('|');
|^    ^    v    v
|
|^    ^    v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER, END]
[BELLE, LEADER, CENTER]
[BELLE, TRAILER, CENTER]
[BEAU, TRAILER, END]
[BEAU, TRAILER, END]
[BELLE, TRAILER, CENTER]
[BELLE, LEADER, CENTER]
[BEAU, LEADER, END]

PARALLEL_LH_TWO_FACED_LINES

public static final NamedTaggedFormation PARALLEL_LH_TWO_FACED_LINES
PARALLEL LH TWO-FACED LINES formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.PARALLEL_LH_TWO_FACED_LINES; tf.toStringDiagram('|');
|v    v    ^    ^
|
|v    v    ^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER, END]
[BEAU, TRAILER, CENTER]
[BEAU, LEADER, CENTER]
[BELLE, LEADER, END]
[BELLE, LEADER, END]
[BEAU, LEADER, CENTER]
[BEAU, TRAILER, CENTER]
[BELLE, TRAILER, END]

RH_COLUMN

public static final NamedTaggedFormation RH_COLUMN
RH COLUMN formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_COLUMN; tf.toStringDiagram('|');
|^    v
|
|^    v
|
|^    v
|
|^    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER, END, NUMBER_1]
[BEAU, TRAILER, END, NUMBER_4]
[BEAU, TRAILER, CENTER, NUMBER_2]
[BEAU, LEADER, CENTER, NUMBER_3]
[BEAU, LEADER, CENTER, NUMBER_3]
[BEAU, TRAILER, CENTER, NUMBER_2]
[BEAU, TRAILER, END, NUMBER_4]
[BEAU, LEADER, END, NUMBER_1]

LH_COLUMN

public static final NamedTaggedFormation LH_COLUMN
LH COLUMN formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_COLUMN; tf.toStringDiagram('|');
|v    ^
|
|v    ^
|
|v    ^
|
|v    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER, END, NUMBER_4]
[BELLE, LEADER, END, NUMBER_1]
[BELLE, LEADER, CENTER, NUMBER_3]
[BELLE, TRAILER, CENTER, NUMBER_2]
[BELLE, TRAILER, CENTER, NUMBER_2]
[BELLE, LEADER, CENTER, NUMBER_3]
[BELLE, LEADER, END, NUMBER_1]
[BELLE, TRAILER, END, NUMBER_4]

ENDS_IN_INVERTED_LINES

public static final NamedTaggedFormation ENDS_IN_INVERTED_LINES
ENDS IN INVERTED LINES formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.ENDS_IN_INVERTED_LINES; tf.toStringDiagram('|');
|v    ^    ^    v
|
|^    v    v    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, TRAILER, END]
[BELLE, LEADER, CENTER]
[BEAU, LEADER, CENTER]
[BEAU, TRAILER, END]
[BEAU, TRAILER, END]
[BEAU, LEADER, CENTER]
[BELLE, LEADER, CENTER]
[BELLE, TRAILER, END]

ENDS_OUT_INVERTED_LINES

public static final NamedTaggedFormation ENDS_OUT_INVERTED_LINES
ENDS OUT INVERTED LINES formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.ENDS_OUT_INVERTED_LINES; tf.toStringDiagram('|');
|^    v    v    ^
|
|v    ^    ^    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, LEADER, END]
[BEAU, TRAILER, CENTER]
[BELLE, TRAILER, CENTER]
[BELLE, LEADER, END]
[BELLE, LEADER, END]
[BELLE, TRAILER, CENTER]
[BEAU, TRAILER, CENTER]
[BEAU, LEADER, END]

GENERAL_QUARTER_TAG

public static final NamedTaggedFormation GENERAL_QUARTER_TAG
GENERAL 1/4 TAG formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.GENERAL_QUARTER_TAG; tf.toStringDiagram('|');
|     |    |
|
||    |    |    |
|
|     |    |
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[OUTSIDE_4]
[OUTSIDE_4]
[CENTER]
[CENTER]
[CENTER]
[CENTER]
[OUTSIDE_4]
[OUTSIDE_4]

RH_QUARTER_TAG

public static final NamedTaggedFormation RH_QUARTER_TAG
RH 1/4 TAG formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_QUARTER_TAG; tf.toStringDiagram('|');
|     v    v
|
|^    v    ^    v
|
|     ^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END, CENTER_6, OUTSIDE_6]
[BEAU, END, CENTER_6, OUTSIDE_6]
[BEAU, CENTER, OUTSIDE_6]
[BEAU, CENTER, VERY_CENTER, CENTER_6]
[BEAU, CENTER, VERY_CENTER, CENTER_6]
[BEAU, CENTER, OUTSIDE_6]
[BEAU, END, CENTER_6, OUTSIDE_6]
[BELLE, END, CENTER_6, OUTSIDE_6]

LH_QUARTER_TAG

public static final NamedTaggedFormation LH_QUARTER_TAG
LH 1/4 TAG formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_QUARTER_TAG; tf.toStringDiagram('|');
|     v    v
|
|v    ^    v    ^
|
|     ^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END, CENTER_6, OUTSIDE_6]
[BEAU, END, CENTER_6, OUTSIDE_6]
[BELLE, CENTER, OUTSIDE_6]
[BELLE, CENTER, VERY_CENTER, CENTER_6]
[BELLE, CENTER, VERY_CENTER, CENTER_6]
[BELLE, CENTER, OUTSIDE_6]
[BEAU, END, CENTER_6, OUTSIDE_6]
[BELLE, END, CENTER_6, OUTSIDE_6]

RH_THREE_QUARTER_TAG

public static final NamedTaggedFormation RH_THREE_QUARTER_TAG
RH 3/4 TAG formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_THREE_QUARTER_TAG; tf.toStringDiagram('|');
|     ^    ^
|
|^    v    ^    v
|
|     v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, END, CENTER_6, OUTSIDE_6]
[BELLE, END, CENTER_6, OUTSIDE_6]
[BEAU, CENTER, OUTSIDE_6]
[BEAU, CENTER, VERY_CENTER, CENTER_6]
[BEAU, CENTER, VERY_CENTER, CENTER_6]
[BEAU, CENTER, OUTSIDE_6]
[BELLE, END, CENTER_6, OUTSIDE_6]
[BEAU, END, CENTER_6, OUTSIDE_6]

LH_THREE_QUARTER_TAG

public static final NamedTaggedFormation LH_THREE_QUARTER_TAG
LH 3/4 TAG formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_THREE_QUARTER_TAG; tf.toStringDiagram('|');
|     ^    ^
|
|v    ^    v    ^
|
|     v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, END, CENTER_6, OUTSIDE_6]
[BELLE, END, CENTER_6, OUTSIDE_6]
[BELLE, CENTER, OUTSIDE_6]
[BELLE, CENTER, VERY_CENTER, CENTER_6]
[BELLE, CENTER, VERY_CENTER, CENTER_6]
[BELLE, CENTER, OUTSIDE_6]
[BELLE, END, CENTER_6, OUTSIDE_6]
[BEAU, END, CENTER_6, OUTSIDE_6]

RH_QUARTER_LINE

public static final NamedTaggedFormation RH_QUARTER_LINE
RH 1/4 LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_QUARTER_LINE; tf.toStringDiagram('|');
|     v    v
|
|^    ^    v    v
|
|     ^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, CENTER_6, OUTSIDE_6]
[BEAU, CENTER_6, OUTSIDE_6]
[BEAU, OUTSIDE_6]
[BELLE, VERY_CENTER, CENTER_6]
[BELLE, VERY_CENTER, CENTER_6]
[BEAU, OUTSIDE_6]
[BEAU, CENTER_6, OUTSIDE_6]
[BELLE, CENTER_6, OUTSIDE_6]

LH_QUARTER_LINE

public static final NamedTaggedFormation LH_QUARTER_LINE
LH 1/4 LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_QUARTER_LINE; tf.toStringDiagram('|');
|     v    v
|
|v    v    ^    ^
|
|     ^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, CENTER_6, OUTSIDE_6]
[BEAU, CENTER_6, OUTSIDE_6]
[BELLE, OUTSIDE_6]
[BEAU, VERY_CENTER, CENTER_6]
[BEAU, VERY_CENTER, CENTER_6]
[BELLE, OUTSIDE_6]
[BEAU, CENTER_6, OUTSIDE_6]
[BELLE, CENTER_6, OUTSIDE_6]

RH_THREE_QUARTER_LINE

public static final NamedTaggedFormation RH_THREE_QUARTER_LINE
RH 3/4 LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_THREE_QUARTER_LINE; tf.toStringDiagram('|');
|     ^    ^
|
|^    ^    v    v
|
|     v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, CENTER_6, OUTSIDE_6]
[BELLE, CENTER_6, OUTSIDE_6]
[BEAU, OUTSIDE_6]
[BELLE, VERY_CENTER, CENTER_6]
[BELLE, VERY_CENTER, CENTER_6]
[BEAU, OUTSIDE_6]
[BELLE, CENTER_6, OUTSIDE_6]
[BEAU, CENTER_6, OUTSIDE_6]

LH_THREE_QUARTER_LINE

public static final NamedTaggedFormation LH_THREE_QUARTER_LINE
LH 3/4 LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_THREE_QUARTER_LINE; tf.toStringDiagram('|');
|     ^    ^
|
|v    v    ^    ^
|
|     v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, CENTER_6, OUTSIDE_6]
[BELLE, CENTER_6, OUTSIDE_6]
[BELLE, OUTSIDE_6]
[BEAU, VERY_CENTER, CENTER_6]
[BEAU, VERY_CENTER, CENTER_6]
[BELLE, OUTSIDE_6]
[BELLE, CENTER_6, OUTSIDE_6]
[BEAU, CENTER_6, OUTSIDE_6]

RH_TWIN_DIAMONDS

public static final NamedTaggedFormation RH_TWIN_DIAMONDS
RH TWIN DIAMONDS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_TWIN_DIAMONDS; tf.toStringDiagram('|');
|  >         >
|
|^    v    ^    v
|
|  <         <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[POINT]
[BEAU, CENTER, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BEAU, CENTER, END]
[POINT]
[POINT]

LH_TWIN_DIAMONDS

public static final NamedTaggedFormation LH_TWIN_DIAMONDS
LH TWIN DIAMONDS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_TWIN_DIAMONDS; tf.toStringDiagram('|');
|  <         <
|
|v    ^    v    ^
|
|  >         >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[POINT]
[BELLE, CENTER, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BELLE, CENTER, END]
[POINT]
[POINT]

RH_POINT_TO_POINT_DIAMONDS

public static final NamedTaggedFormation RH_POINT_TO_POINT_DIAMONDS
RH POINT-TO-POINT DIAMONDS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_POINT_TO_POINT_DIAMONDS; tf.toStringDiagram('|');
|  >
|
|^    v
|
|  <
|
|  >
|
|^    v
|
|  <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[BEAU, CENTER]
[BEAU, CENTER]
[BELLE, POINT]
[BELLE, POINT]
[BEAU, CENTER]
[BEAU, CENTER]
[POINT]

RH_POINT_TO_POINT_FACING_DIAMONDS

public static final NamedTaggedFormation RH_POINT_TO_POINT_FACING_DIAMONDS
RH POINT-TO-POINT FACING DIAMONDS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_POINT_TO_POINT_FACING_DIAMONDS; tf.toStringDiagram('|');
|  <
|
|^    v
|
|  >
|
|  <
|
|^    v
|
|  >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[BEAU, CENTER]
[BEAU, CENTER]
[BEAU, POINT]
[BEAU, POINT]
[BEAU, CENTER]
[BEAU, CENTER]
[POINT]

LH_POINT_TO_POINT_DIAMONDS

public static final NamedTaggedFormation LH_POINT_TO_POINT_DIAMONDS
LH POINT-TO-POINT DIAMONDS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_POINT_TO_POINT_DIAMONDS; tf.toStringDiagram('|');
|  <
|
|v    ^
|
|  >
|
|  <
|
|v    ^
|
|  >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[BELLE, CENTER]
[BELLE, CENTER]
[BEAU, POINT]
[BEAU, POINT]
[BELLE, CENTER]
[BELLE, CENTER]
[POINT]

LH_POINT_TO_POINT_FACING_DIAMONDS

public static final NamedTaggedFormation LH_POINT_TO_POINT_FACING_DIAMONDS
LH POINT-TO-POINT FACING DIAMONDS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_POINT_TO_POINT_FACING_DIAMONDS; tf.toStringDiagram('|');
|  >
|
|v    ^
|
|  <
|
|  >
|
|v    ^
|
|  <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[BELLE, CENTER]
[BELLE, CENTER]
[BELLE, POINT]
[BELLE, POINT]
[BELLE, CENTER]
[BELLE, CENTER]
[POINT]

RH_TWIN_FACING_DIAMONDS

public static final NamedTaggedFormation RH_TWIN_FACING_DIAMONDS
RH TWIN FACING DIAMONDS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_TWIN_FACING_DIAMONDS; tf.toStringDiagram('|');
|  <         <
|
|^    v    ^    v
|
|  >         >
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[POINT]
[BEAU, CENTER, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BEAU, CENTER, END]
[POINT]
[POINT]

LH_TWIN_FACING_DIAMONDS

public static final NamedTaggedFormation LH_TWIN_FACING_DIAMONDS
LH TWIN FACING DIAMONDS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_TWIN_FACING_DIAMONDS; tf.toStringDiagram('|');
|  >         >
|
|v    ^    v    ^
|
|  <         <
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[POINT]
[BELLE, CENTER, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BELLE, CENTER, END]
[POINT]
[POINT]

TWIN_GENERAL_DIAMONDS

public static final NamedTaggedFormation TWIN_GENERAL_DIAMONDS
TWIN GENERAL DIAMONDS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.TWIN_GENERAL_DIAMONDS; tf.toStringDiagram('|');
|  -         -
|
||    |    |    |
|
|  -         -
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[POINT]
[CENTER]
[CENTER]
[CENTER]
[CENTER]
[POINT]
[POINT]

POINT_TO_POINT_GENERAL_DIAMONDS

public static final NamedTaggedFormation POINT_TO_POINT_GENERAL_DIAMONDS
POINT-TO-POINT GENERAL DIAMONDS formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.POINT_TO_POINT_GENERAL_DIAMONDS; tf.toStringDiagram('|');
|  -
|
||    |
|
|  -
|
|  -
|
||    |
|
|  -
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[POINT]
[CENTER]
[CENTER]
[POINT]
[POINT]
[CENTER]
[CENTER]
[POINT]

RH_TIDAL_WAVE

public static final NamedTaggedFormation RH_TIDAL_WAVE
RH TIDAL WAVE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_TIDAL_WAVE; tf.toStringDiagram('|');
|^    v    ^    v    ^    v    ^    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BEAU, END]
[BEAU, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BEAU, END]

LH_TIDAL_WAVE

public static final NamedTaggedFormation LH_TIDAL_WAVE
LH TIDAL WAVE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_TIDAL_WAVE; tf.toStringDiagram('|');
|v    ^    v    ^    v    ^    v    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BELLE, END]
[BELLE, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BELLE, END]

RH_TIDAL_TWO_FACED_LINE

public static final NamedTaggedFormation RH_TIDAL_TWO_FACED_LINE
RH TIDAL TWO-FACED LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_TIDAL_TWO_FACED_LINE; tf.toStringDiagram('|');
|^    ^    v    v    ^    ^    v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BEAU, END]
[BEAU, END]
[BELLE, CENTER]
[BELLE, CENTER]
[BEAU, END]

LH_TIDAL_TWO_FACED_LINE

public static final NamedTaggedFormation LH_TIDAL_TWO_FACED_LINE
LH TIDAL TWO-FACED LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_TIDAL_TWO_FACED_LINE; tf.toStringDiagram('|');
|v    v    ^    ^    v    v    ^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BELLE, END]
[BELLE, END]
[BEAU, CENTER]
[BEAU, CENTER]
[BELLE, END]

RH_TIDAL_LINE

public static final NamedTaggedFormation RH_TIDAL_LINE
RH TIDAL LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.RH_TIDAL_LINE; tf.toStringDiagram('|');
|^    ^    ^    ^    v    v    v    v
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BEAU, END]
[BELLE, CENTER]
[BEAU, CENTER]
[BELLE, END]
[BELLE, END]
[BEAU, CENTER]
[BELLE, CENTER]
[BEAU, END]

LH_TIDAL_LINE

public static final NamedTaggedFormation LH_TIDAL_LINE
LH TIDAL LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.LH_TIDAL_LINE; tf.toStringDiagram('|');
|v    v    v    v    ^    ^    ^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BEAU, CENTER]
[BELLE, CENTER]
[BEAU, END]
[BEAU, END]
[BELLE, CENTER]
[BEAU, CENTER]
[BELLE, END]

GENERAL_TIDAL_LINE

public static final NamedTaggedFormation GENERAL_TIDAL_LINE
GENERAL TIDAL LINE formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.GENERAL_TIDAL_LINE; tf.toStringDiagram('|');
||    |    |    |    |    |    |    |
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[OUTSIDE_4]
[OUTSIDE_4]
[CENTER]
[CENTER]
[CENTER]
[CENTER]
[OUTSIDE_4]
[OUTSIDE_4]

O_DOUBLE_PASS_THRU

public static final NamedTaggedFormation O_DOUBLE_PASS_THRU
O DOUBLE PASS THRU formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.O_DOUBLE_PASS_THRU; tf.toStringDiagram('|');
|     v    v
|
|v              v
|
|^              ^
|
|     ^    ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BEAU, END]
[BELLE, TRAILER, CENTER]
[BEAU, TRAILER, CENTER]
[BEAU, TRAILER, CENTER]
[BELLE, TRAILER, CENTER]
[BEAU, END]
[BELLE, END]

BUTTERFLY_DOUBLE_PASS_THRU

public static final NamedTaggedFormation BUTTERFLY_DOUBLE_PASS_THRU
BUTTERFLY DOUBLE PASS THRU formation.

Tests:
js> FormationList = FormationList.js(this); undefined;
js> tf = FormationList.BUTTERFLY_DOUBLE_PASS_THRU; tf.toStringDiagram('|');
|v              v
|
|     v    v
|
|     ^    ^
|
|^              ^
js> [tf.tags(dd) for each (dd in Iterator(tf.sortedDancers())) ].join('\n');
[BELLE, END]
[BEAU, END]
[BELLE, TRAILER, CENTER]
[BEAU, TRAILER, CENTER]
[BEAU, TRAILER, CENTER]
[BELLE, TRAILER, CENTER]
[BEAU, END]
[BELLE, END]

all

public static final List<NamedTaggedFormation> all
List of all formations defined here.

Constructor Detail

FormationList

public FormationList()
Method Detail

valueOf

public static NamedTaggedFormation valueOf(String s)
Return the named formation. Case-insensitive.


js

public static org.mozilla.javascript.Scriptable js(org.mozilla.javascript.Scriptable scope)
Javascript helper.

See Also:
FormationListJS

main

public static void main(String[] args)
                 throws Exception
Show all the defined formations.

Throws:
Exception

sdr 0.7

Copyright © 2006-2009 C. Scott Ananian