#include <polymesh.hpp>
Inherits renderstack::shapes::polymesh.
Public Member Functions | |
truncated_octahedron (double r=1.0) |
Definition at line 146 of file polymesh.hpp.
renderstack::shapes::truncated_octahedron::truncated_octahedron | ( | double | r = 1.0 |
) |
Definition at line 1287 of file polymesh.cpp.
01288 { 01289 push_point( 0, r / sq5, r * 2 / sq5); 01290 push_point( r / sq5, 0, r * 2 / sq5); 01291 push_point( 0, -r / sq5, r * 2 / sq5); 01292 push_point( -r / sq5, 0, r * 2 / sq5); 01293 push_point( 0, r * 2 / sq5, r / sq5); 01294 push_point( -r / sq5, r * 2 / sq5, 0); 01295 push_point( 0, r * 2 / sq5, -r / sq5); 01296 push_point( r / sq5, r * 2 / sq5, 0); 01297 push_point( r * 2 / sq5, 0, r / sq5); 01298 push_point( r * 2 / sq5, r / sq5, 0); 01299 push_point( r * 2 / sq5, 0, -r / sq5); 01300 push_point( r * 2 / sq5, -r / sq5, 0); 01301 push_point( 0, -r * 2 / sq5, r / sq5); 01302 push_point( r / sq5, -r * 2 / sq5, 0); 01303 push_point( 0, -r * 2 / sq5, -r / sq5); 01304 push_point( -r / sq5, -r * 2 / sq5, 0); 01305 push_point(-r * 2 / sq5, 0, r / sq5); 01306 push_point(-r * 2 / sq5, -r / sq5, 0); 01307 push_point(-r * 2 / sq5, 0, -r / sq5); 01308 push_point(-r * 2 / sq5, r / sq5, 0); 01309 push_point( 0, r / sq5, -r * 2 / sq5); 01310 push_point( r / sq5, 0, -r * 2 / sq5); 01311 push_point( 0, -r / sq5, -r * 2 / sq5); 01312 push_point( -r / sq5, 0, -r * 2 / sq5); 01313 01314 make_polygon( 0, 1, 2, 3 ); 01315 make_polygon( 4, 5, 6, 7 ); 01316 make_polygon( 8, 9, 10, 11 ); 01317 make_polygon( 12, 13, 14, 15 ); 01318 make_polygon( 16, 17, 18, 19 ); 01319 make_polygon( 20, 21, 22, 23 ); 01320 01321 make_polygon( 0, 4, 7, 9, 8, 1 ); 01322 make_polygon( 1, 8, 11, 13, 12, 2 ); 01323 make_polygon( 2, 12, 15, 17, 16, 3 ); 01324 make_polygon( 3, 16, 19, 5, 4, 0 ); 01325 make_polygon( 20, 6, 7, 9, 10, 21 ); 01326 make_polygon( 21, 10, 11, 13, 14, 22 ); 01327 make_polygon( 22, 14, 15, 17, 18, 23 ); 01328 make_polygon( 23, 18, 19, 5, 6, 20 ); 01329 01330 build_mesh_from_geometry(); 01331 }