Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:48:54

0001 #pragma once
0002 #include <string>
0003 
0004 /**
0005 DemoGeo
0006 =========
0007 
0008 DemoGeo is for high level definition of specific examples of geometry, 
0009 that provide tests of the CSG model and rendering thereof.
0010 
0011 **/
0012 
0013 struct CSGFoundry ; 
0014 struct CSGMaker ; 
0015 
0016 
0017 struct DemoGeo
0018 {
0019     CSGFoundry*  foundry ; 
0020     CSGMaker*    maker ; 
0021 
0022     DemoGeo(CSGFoundry* foundry_, const char* geom);
0023 
0024     void init(const char* name);
0025 
0026     void init_sphere_containing_grid_of_spheres(unsigned layers);
0027     void init_parade();
0028     void init_layered(const char* name, float outer, unsigned layers);
0029     void init_scaled(const char* solid_label_base, const char* demo_node_type, float outer, unsigned layers, unsigned num_gas);
0030     void init_clustered(const char* name);
0031     void init_maker(const char* name);
0032 
0033     void addInstance(unsigned gas_idx, float tx=0.f, float ty=0.f, float tz=0.f ) ;
0034 
0035     std::string desc() const ;
0036 
0037 };
0038 
0039