rule "Free Quad (1)"

quality 1

mappoints
(0, 0);
(1, 0);

maplines
(1, 2) del;

newpoints
(1, 1) { 1 X2 } { };
(0, 1) { } { };

newlines
(3, 2);
(4, 3);
(1, 4);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 1.5) { 1.5 X2 } { };
(-0.5, 1.5) { -0.5 X2 } { };

elements
(1, 2, 3, 4);

endrule




rule "Free Quad (5)"

quality 5

mappoints
(0, 0);
(1, 0);

maplines
(1, 2) del;

newpoints
(1, 1) { 1 X2 } { };
(0, 1) { } { };

newlines
(3, 2);
(4, 3);
(1, 4);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 1.5) { 1.5 X2 } { };
(-0.5, 1.5) { -0.5 X2 } { };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(1, 1) { 1 X2 } { };
(0, 1) { } { };

elements
(1, 2, 3, 4);

endrule








rule "Quad Right (1)"

quality 1

mappoints
(0, 0);
(1, 0);
(1, 1);

maplines
(1, 2) del;
(2, 3) del;

newpoints
(0, 1) { } { 1 y3 };

newlines
(1, 4);
(4, 3);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1, 1) { 1 X3 } { 1 Y3 };
(-0.5, 1.5) { } { 1.5 Y3 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(1, 1) { 1 X3 } { 1 Y3 };
(0, 1) { } { 1 Y3 };

elements
(1, 2, 3, 4);

endrule



rule "Quad P Right (2)"

quality 2

mappoints
(0, 0);
(1, 0);
(1, 1);

maplines
(1, 2) del;

newpoints
(0, 1) { -1 X2, 1 X3 } { 1 Y3 };

newlines
(1, 4);
(4, 3);
(3, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.2, 0.5) { 0.7 X2, 0.5 X3 } { 0.5 Y3 };
(1, 1) { 1 X3 } { 1 Y3 };
(-0.5, 1.5) { -2 X2, 1.5 X3 } { 1.5 Y3 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(1, 0.5) { 0.5 X2, 0.5 X3 } { 0.5 Y3 };
(1, 1) { 1 X3 } { 1 Y3 };
(0, 1) { -1 X2, 1 X3 } { 1 Y3 };

elements
(1, 2, 3, 4);


orientations
(1, 2, 3);


endrule


rule "Quad Right PL (2)"

quality 2

mappoints
(0, 0);
(1, 0);
(1, 1);
(0, 1);

maplines
(1, 2) del;
(2, 3) del;

newpoints

newlines
(1, 4);
(4, 3);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1, 1) { 1 X3 } { 1 Y3 };
(0.5, 1.2) { -0.1 X2, 0.6 X3, 0.6 X4 } { -0.1 Y2, 0.6 Y3, 0.6 Y4 };
(0, 1) { 1 X4 } { 1 Y4 };
(-0.2, 0.5) { -0.1 X2, -0.1 X3, 0.6 X4 } { -0.1 Y2, -0.1 Y3, 0.6 Y4 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(1, 1) { 1 X3 } { 1 Y3 };
(0.5, 1) { 0.5 X3, 0.5 X4 } { 0.5 Y3, 0.5 Y4 };
(0, 1) { 1 X4 } { 1 Y4 };
(0, 0.5) { 0.5 X4 } { 0.5 Y4 };

elements
(1, 2, 3, 4);

orientations
(1, 2, 3);
(1, 3, 4);
(1, 2, 4);
(4, 2, 3);


endrule









rule "Left Quad (1)"

quality 1

mappoints
(0, 0);
(1, 0);
(0, 1);

maplines
(1, 2) del;
(3, 1) del;

newpoints
(1, 1) { 1 X2, 1 X3 } { 1 Y3 };

newlines
(3, 4);
(4, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 1.5) { 1.5 X2, 1.5 X3 } { 1.5 Y3 };
(0, 1) { 1 X3 } { 1 Y3 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(1, 1) { 1 X2, 1 X3 } { 1 Y3 };
(0, 1) { 1 X3 } { 1 Y3 };

elements
(1, 2, 4, 3);

endrule



rule "Left P Quad (2)"

quality 2

mappoints
(0, 0);
(1, 0);
(0, 1);

maplines
(1, 2) del;

newpoints
(1, 1) { 1 X2, 1 X3 } { 1 Y3 };

newlines
(1, 3);
(3, 4);
(4, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 1.5) { 1.5 X2, 1.5 X3 } { 1.5 Y3 };
(0, 1) { 1 X3 } { 1 Y3 };
(-0.2, 0.6) { -0.2 X2, 0.6 X3 } { 0.6 Y3 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(1, 1) { 1 X2, 1 X3 } { 1 Y3 };
(0, 1) { 1 X3 } { 1 Y3 };
(0, 0.5) { 0.5 X3 } { 0.5 Y3 };

elements
(1, 2, 4, 3);

endrule





rule "Left Quad RP (2)"

quality 2

mappoints
(0, 0);
(1, 0);
(0, 1);
(1, 1);

maplines
(1, 2) del;
(3, 1) del;

newpoints

newlines
(3, 4);
(4, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.2, 0.5) { 0.6 X2, 0.6 X4, -0.1 X3 } { 0.6 Y2, 0.6 Y4, -0.1 Y3 };
(1, 1) { 1 X4 } { 1 Y4 };
(0.5, 1.2) { -0.1 X2, 0.6 X3, 0.6 X4 } { -0.1 Y2, 0.6 Y3, 0.6 Y4 };
(0, 1) { 1 X3 } { 1 Y3 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(1, 0.5) { 0.5 X2, 0.5 X4 } { 0.5 Y2, 0.5 Y4 };
(1, 1) { 1 X4 } { 1 Y4 };
(0.5, 1) { 0.5 X3, 0.5 X4 } { 0.5 Y3, 0.5 Y4 };
(0, 1) { 1 X3 } { 1 Y3 };

elements
(1, 2, 4, 3);

orientations
(1, 2, 4);
(1, 4, 3);

endrule






rule "Two left (1)"

quality 1

mappoints
(0, 0);
(1, 0);
(1, 1);
(0, 1);

maplines
(1, 2) del;
(3, 4) del;
(4, 1) del;

newpoints

newlines
(3, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 0.5) { 0.75 X2, 0.75 X3, -0.25 X4 } { 0.75 Y3, -0.25 Y4 };
(1, 1) { 1 X3 } { 1 Y3 };
(0, 1) { 1 X4 } { 1 Y4 };


freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(1, 0.5) { 0.5 X2, 0.5 X3 } { 0.5 Y3 };
(1, 1) { 1 X3 } { 1 Y3 };
(0, 1) { 1 X4 } { 1 Y4 };

elements
(1, 2, 3, 4);

endrule




rule "Two Right (1)"

quality 1

mappoints
(0, 0);
(1, 0);
(1, 1);
(0, 1);

maplines
(1, 2) del;
(2, 3) del;
(3, 4) del;

newpoints

newlines
(1, 4);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1, 1) { 1 X3 } { 1 Y3 };
(0, 1) { 1 X4 } { 1 Y4 };
(-0.5, 0.5) { -0.25 X2, -0.25 X3, 0.75 X4 } { -0.25 Y3, 0.75 Y4 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(1, 1) { 1 X3 } { 1 Y3 };
(0, 1) { 1 X4 } { 1 Y4 };
(0, 0.5) { 0.5 X4 } { 0.5 Y4 };

elements
(1, 2, 3, 4);

endrule
















rule "Right 120 (1)"

quality 1000

mappoints
(0, 0);
(1, 0);
(1.5, 0.866);

maplines
(1, 2) del;
(2, 3) del;

newpoints
(0.5, 0.866) { 1 X3, -1 X2 } { 1 Y3 };

newlines
(1, 4);
(4, 3);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 0.866) { 1 X3 } { 1 Y3 };
(1, 1.732) { -2 X2, 2 X3 } { 2 Y3 };
(0, 1.732) { -3 X2, 2 X3 } { 2 Y3 };
(-0.5, 0.866) { -2 X2, 1 X3 } {1 Y3 };

elements
(1, 2, 4);
(2, 3, 4);

endrule




rule "Left 120 (1)"

quality 1000

mappoints
(0, 0);
(1, 0);
(-0.5, 0.866);

maplines
(1, 2) del;
(3, 1) del;

newpoints
(0.5, 0.866) { 1 X3, 1 X2 } { 1 Y3 };

newlines
(3, 4);
(4, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 0.866) { 2 X2, 1 X3 } { 1 Y3 };
(1, 1.732) { 2 X2, 2 X3 } { 2 Y3 };
(0, 1.732) { -1 X2, 2 X3 } { 2 Y3 };
(-0.5, 0.866) { 1 X3 } {1 Y3 };

elements
(1, 2, 4);
(2, 3, 4);

endrule




rule "Left Right (1)"

quality 1

mappoints
(0, 0);
(1, 0);
(1, 1);
(0, 1);

maplines
(1, 2) del;
(2, 3) del;
(4, 1) del;


newlines
(4, 3);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1, 1) { 1 X3 } { 1 Y3 };
(0.5, 1.5) { -0.25 X2, 0.75 X3, 0.75 X4 } { 0.75 Y3, 0.75 Y4 };
(0, 1) { 1 X4 } { 1 Y4 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(1, 1) { 1 X3 } { 1 Y3 };
(0.5, 1) { 0.5 X3, 0.5 X4 } { 0.5 Y3, 0.5 Y4 };
(0, 1) { 1 X4 } { 1 Y4 };


elements
(1, 2, 3, 4);

endrule





rule "Fill Quad"

quality 1

mappoints
(0, 0);
(1, 0);
(1, 1);
(0, 1);

maplines
(1, 2) del;
(2, 3) del;
(3, 4) del;
(4, 1) del;

newpoints

newlines

freearea
(0, 0);
(1, 0) { 1 X2 } { 1 Y2 };
(1, 1) { 1 X3 } { 1 Y3 };
(0, 1) { 1 X4 } { 1 Y4 };

elements
(1, 2, 3, 4);

endrule




rule "Fill Triangle"

quality 10

mappoints
(0, 0);
(1, 0);
(0.5, 0.86);

maplines
(1, 2) del;
(2, 3) del;
(3, 1) del;

newpoints

newlines

freearea
(0, 0);
(1, 0) { 1 X2 } { 1 Y2 };
(0.5, 0.86) { 1 X3 } { 1 Y3 };

elements
(1, 2, 3);

endrule



rule "Right 60 (1)"

quality 10

mappoints
(0, 0);
(1, 0) { 0.5, 0, 1.0 };
(0.5, 0.866) { 0.6, 0, 0.8 };

maplines
(1, 2) del;
(2, 3) del;

newpoints

newlines
(1, 3);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(0.5, 0.866) { 1 X3 } { 1 Y3 };
(-0.125, 0.6495) { -0.5 X2, 0.75 X3 } { -0.5 Y2, 0.75 Y3 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(0.5, 0.866) { 1 X3 } { 1 Y3 };
(0.25, 0.433) { 0.5 X3 } { 0.5 Y3 };

elements
(1, 2, 3);

endrule




rule "Vis A Vis (2)"

quality 2

mappoints
(0, 0);
(1, 0);
(1, 1);
(0, 1);

maplines
(1, 2) del;
(3, 4) del;

newpoints

newlines
(1, 4);
(3, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 0.5) { 0.75 X2, 0.75 X3, -0.25 X4 } { 0.75 Y3, -0.25 Y4 };
(1, 1) { 1 X3 } { 1 Y3 };
(0, 1) { 1 X4 } { 1 Y4 };
(-0.5, 0.5) { -0.25 X2, -0.25 X3, 0.75 X4 } { -0.25 Y3, 0.75 Y4 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(1, 0.5) { 0.5 X2, 0.5 X3 } { 0.5 Y3 };
(1, 1) { 1 X3 } { 1 Y3 };
(0, 1) { 1 X4 } { 1 Y4 };
(0, 0.5) { 0.5 X4 } { 0.5 Y4 };

elements
(1, 2, 3, 4);

orientations
(1, 3, 4);
(2, 3, 4);
(1, 2, 3);
(1, 2, 4);

endrule






rule "2 h Vis A Vis (1)"

quality 3000

mappoints
(0, 0);
(1, 0);
(1, 1.732);
(0, 1.732);

maplines
(1, 2) del;
(3, 4) del;

newpoints
(0.5, 0.866) { 0.25 X3, 0.25 X4 } { 0.25 Y2, 0.25 Y3, 0.25 Y4 };

newlines
(1, 5);
(5, 4);
(3, 5);
(5, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { 1 Y2 };
(1.5, 0.866) { 0.75 X2, 0.75 X3, -0.25 X4 } { 0.75 Y2, 0.75 Y3, -0.25 Y4 };
(1, 1.732) { 1 X3 } { 1 Y3 };
(0, 1.732) { 1 X4 } { 1 Y4 };
(-0.5, 0.866) { 0.75 X4, -0.25 X2, -0.25 X3 } { 0.75 Y4, -0.25 Y3 };

elements
(1, 2, 5);
(3, 4, 5);

endrule