// *********** My Object for the object library ************ // Function: Draws a round tall table for a cafe-like environment. // // The colors of the table can be chosen by the user. // drawTable(...) takes 4 parameters in total. // It takes 4 different colors in the following order: // 1. color of the round top surface of the table // 2. color of the supporting main bar of the table // 3. color of the small outer bar toward the bottom of the table // 4. color of the round base of the table // // Note that there is no option for choosing the measurements of // individual components so that, by default, the proportion and // the shape of the table can remain the same as it was created. // Any affine transformations can be used to resize the table. // By default, the size of the round top surface of the table // is set to radius of 6.0 units with the thickness of 1.0 unit. The bar // that supports the table top surface is 20 times the thickness of // the top surface of the table. Then, the round base of the table // is smaller in scale (about radius of 4.7 units) than the top table surface // with the thickness of less than 1/3 the top table surface thickness. // The bottom surface of the round base ends at the end of the // table support since those two objects overlap. // This means that when objects are placed around this table, // it is good to keep in mind that, at most, the space this table will // occupy is 12.0 units horizontally (x, z direction) // and 21.0 units vertically (y direction). // // The origin of the table is at the bottom surface of the lowest // round base of the table and at the center of the region. // // Since it's a round table, all sides of the table look the same. // Therefore, by default, from positive Z-axis, you'll see one side // of the table - table top surface, supporting bar, and base. void gkim1DrawTable(twTriple _surfaceColor, twTriple _barColor, twTriple _smallBarColor, twTriple _baseColor);