f0
2.5
2.5
0.0
30.0
7.0
1.0
f1
-2.5
2.5
0.0
30.0
7.0
1.0
f2
0.0
-2.5
0.0
30.0
7.0
1.0
f3
0.0
0.0
0.0
10.0
11.0
7.0
// Place fountain blocks
block = map.get_block("X4");
block.location:x = 4.0*256.0;
block.location:y = 2.0*256.0 + 10.0;
block.location:z = 5.0*256.0;
block = map.get_block("X1");
block.location:x = 5.0*256.0;
block.location:y = 2.0*256.0 + 10.0;
block.location:z = 5.0*256.0;
block = map.get_block("X3");
block.location:x = 4.0*256.0;
block.location:y = 2.0*256.0 + 10.0;
block.location:z = 4.0*256.0;
block = map.get_block("X2");
block.location:x = 5.0*256.0;
block.location:y = 2.0*256.0 + 10.0;
block.location:z = 4.0*256.0;
//CircleWater(block, Nvertices, Xcenter, Ycenter, Zcenter, Rinner, Router )
// define large pool wave
circle = map.get_block("c0");
CircleWater(circle, 31, 0.0, 0.0, 0.0, 8.0, 300.0);
TranslateBlockAbsolute(circle, 5.0*256.0, 2.0*256.0+60.0, 5.0*256.0 );
//***************************
// Water Arm 1
//***************************
// ElbowWater(block, Nvertices, Xoffset, Ystart, Yend, Zstart, Zend, Rinit, Rfinal)
elbow = map.get_block("e0");
ElbowWater(elbow, 15, 0.0, 187.5, 48.0, 14.0, 145.0, 4.5, 9.0 );
elbow.rotate_y(45);
// Translate(block, Xcenter, Ycenter, Zcenter)
TranslateBlockAbsolute(elbow, 5.0*256.0, 2.0*256.0+10.0, 5.0*256.0);
// define inner splash circle
circle = map.get_block("s0");
CircleWater(circle, 15, 0, 0, 0, 2.0, 17.0);
TranslateBlockAbsolute(circle, 5.0*256.0+102.0, 2.0*256.0+65.0, 5.0*256.0+102.0);
// define outer splash circle
circle = map.get_block("s1");
CircleWater(circle, 15, 0, 0, 0, 2.0, 30.0);
TranslateBlockAbsolute(circle, 5.0*256.0+102.0, 2.0*256.0+60.0, 5.0*256.0+102.0);
//***************************
// Water Arm 2
//***************************
// ElbowWater(block, Nvertices, Xoffset, Ystart, Yend, Zstart, Zend, Rinit, Rfinal)
elbow = map.get_block("e2");
ElbowWater(elbow, 15, 0.0, 187.5, 48.0, 14.0, 145.0, 4.5, 9.0 );
elbow.rotate_y(135);
// Translate(block, Xcenter, Ycenter, Zcenter)
TranslateBlockAbsolute(elbow, 5.0*256.0, 2.0*256.0+10.0, 5.0*256.0);
// define inner splash circle
circle = map.get_block("s2");
CircleWater(circle, 15, 0, 0, 0, 2.0, 17.0);
TranslateBlockAbsolute(circle, 5.0*256.0+102.0, 2.0*256.0+65.0, 5.0*256.0-102.0);
// define outer splash circle
circle = map.get_block("s3");
CircleWater(circle, 15, 0, 0, 0, 2.0, 30.0);
TranslateBlockAbsolute(circle, 5.0*256.0+102.0, 2.0*256.0+60.0, 5.0*256.0-102.0);
//***************************
// Water Arm 3
//***************************
// ElbowWater(block, Nvertices, Xoffset, Ystart, Yend, Zstart, Zend, Rinit, Rfinal)
elbow = map.get_block("e4");
ElbowWater(elbow, 15, 0.0, 187.5, 48.0, 14.0, 145.0, 4.5, 9.0 );
elbow.rotate_y(225);
// Translate(block, Xcenter, Ycenter, Zcenter)
TranslateBlockAbsolute(elbow, 5.0*256.0, 2.0*256.0+10.0, 5.0*256.0);
// define inner splash circle
circle = map.get_block("s4");
CircleWater(circle, 15, 0, 0, 0, 2.0, 17.0);
TranslateBlockAbsolute(circle, 5.0*256.0-102.0, 2.0*256.0+65.0, 5.0*256.0-102.0);
// define outer splash circle
circle = map.get_block("s5");
CircleWater(circle, 15, 0, 0, 0, 2.0, 30.0);
TranslateBlockAbsolute(circle, 5.0*256.0-102.0, 2.0*256.0+60.0, 5.0*256.0-102.0);
//***************************
// Water Arm 4
//***************************
// ElbowWater(block, Nvertices, Xoffset, Ystart, Yend, Zstart, Zend, Rinit, Rfinal)
elbow = map.get_block("e6");
ElbowWater(elbow, 15, 0.0, 187.5, 48.0, 14.0, 145.0, 4.5, 9.0 );
elbow.rotate_y(315);
// Translate(block, Xcenter, Ycenter, Zcenter)
TranslateBlockAbsolute(elbow, 5.0*256.0, 2.0*256.0+10.0, 5.0*256.0);
// define inner splash circle
circle = map.get_block("s6");
CircleWater(circle, 15, 0, 0, 0, 2.0, 17.0);
TranslateBlockAbsolute(circle, 5.0*256.0-102.0, 2.0*256.0+65.0, 5.0*256.0+102.0);
// define outer splash circle
circle = map.get_block("s7");
CircleWater(circle, 15, 0, 0, 0, 2.0, 30.0);
TranslateBlockAbsolute(circle, 5.0*256.0-102.0, 2.0*256.0+60.0, 5.0*256.0+102.0);
//***************************
// Define the Torch Fire
//***************************
// define the pedestal base
firebase = map.get_block("tg");
TranslateBlockAbsolute(firebase, 5.0*256.0, 2.85*256.0, 5.0*256.0);
// define Torch Fire
for n=0 to 4 {
map.set_block(1,7,1,torchfireVert[n].symbol);
fire = map.get_block(torchfireVert[n].symbol);
// TubeWater(block, Nvertices, Xoffset, Yoffset, Zstart, Zend, Rinit, Rfinal )
TubeWater(fire, 15, torchfireVert[n].xcen, torchfireVert[n].ycen, torchfireVert[n].zstart, torchfireVert[n].zend, torchfireVert[n].rinner, torchfireVert[n].router);
fire.rotate_x(90);
fire.rotate_z(180);
fire.rotate_y(180); // handles moving the seam away from the viewer (where sides of flat water meet when wrapped around a tube)
TranslateBlockAbsolute(fire, 5.0*256.0, 2.897*256.0, 5.0*256.0);
}
X4 X1 .. .. c0 .. e0 s0 s1 ..
X3 X2 .. .. .. .. e2 s2 s3 ..
.. .. .. .. .. .. e4 s4 s5 ..
.. .. .. .. .. .. e6 s6 s7 ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. tg .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
fg fg fg fg fg fg fg fg fg fg
fg fg fg fg fg fg fg fg fg fg
fg fg fg fg fg fg fg fg fg fg
fg fg fg fg fg fg fg fg fg fg
fg fg fg fg t1 t2 fg fg fg fg
fg fg fg fg t4 t3 fg fg fg fg
fg fg fg fg fg fg fg fg fg fg
fg fg fg fg fg fg fg fg fg fg
fg fg fg fg fg fg fg fg fg fg
fg fg fg fg fg fg fg fg fg fg
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. tg .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. ..