File indexing completed on 2026-04-09 07:48:53
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include "SSys.hh"
0010 #include "SSim.hh"
0011 #include "SName.h"
0012
0013 #include "OPTICKS_LOG.hh"
0014 #include "scuda.h"
0015 #include "CSGFoundry.h"
0016
0017
0018 void test_getNumName( const SName* id )
0019 {
0020 LOG(info) << " id.getNumName " << id->getNumName() ;
0021 }
0022
0023 void test_getName( const SName* id )
0024 {
0025 for(unsigned i=0 ; i < id->getNumName() ; i++)
0026 {
0027 const char* name = id->getName(i);
0028 LOG(info) << std::setw(4) << i << " : " << name ;
0029 }
0030 }
0031
0032
0033
0034 void test_findIndex( const SName* id )
0035 {
0036 for(unsigned i=0 ; i < id->getNumName() ; i++)
0037 {
0038 const char* name = id->getName(i);
0039 unsigned count = 0 ;
0040 int idx = id->findIndex(name, count);
0041 char msg = idx == int(i) && count == 1 ? ' ' : '*' ;
0042 LOG(info)
0043 << " i " << std::setw(4) << i
0044 << " idx " << std::setw(4) << idx
0045 << " count " << std::setw(4) << count
0046 << " "
0047 << msg
0048 << " "
0049 << name
0050 ;
0051
0052 }
0053 }
0054
0055
0056 void test_getAbbr( const SName* id )
0057 {
0058 for(unsigned i=0 ; i < id->getNumName() ; i++)
0059 {
0060 const char* name = id->getName(i);
0061 const char* abbr = id->getAbbr(i);
0062 LOG(info)
0063 << std::setw(4) << i
0064 << " "
0065 << std::setw(50) << abbr
0066 << " : "
0067 << std::setw(50) << name
0068 ;
0069
0070 }
0071 }
0072
0073 void test_parseArg( const SName* id, const char* arg )
0074 {
0075 unsigned count = 0 ;
0076 int idx = id->parseArg(arg, count);
0077 const char* name = idx > -1 ? id->getName(idx) : nullptr ;
0078 LOG(info)
0079 << std::setw(20) << arg
0080 << " : "
0081 << std::setw(4) << idx
0082 << " : "
0083 << std::setw(4) << count
0084 << " : "
0085 << name
0086 ;
0087 }
0088
0089 void test_parseArg( const SName* id, int argc, char** argv )
0090 {
0091 std::vector<std::string> args = {"uni", "130", "sWat" } ;
0092 for(int i=0 ; i < int(args.size()) ; i++) test_parseArg(id, args[i].c_str()) ;
0093 for(int i=1 ; i < argc ; i++) test_parseArg(id, argv[i]);
0094 }
0095
0096 void test_parseMOI( const SName* id, const char* moi )
0097 {
0098 int midx, mord, iidx ;
0099 id->parseMOI(midx, mord, iidx, moi);
0100 const char* name = midx > -1 ? id->getName(midx) : nullptr ;
0101
0102 LOG(info)
0103 << std::setw(20) << moi
0104 << " : "
0105 << std::setw(4) << midx
0106 << " : "
0107 << std::setw(4) << mord
0108 << " : "
0109 << std::setw(4) << iidx
0110 << " : "
0111 << name
0112 ;
0113 }
0114
0115 void test_parseMOI( const SName* id, int argc, char** argv )
0116 {
0117 std::vector<std::string> args = {"uni", "130", "sWat" } ;
0118 for(int i=0 ; i < int(args.size()) ; i++) test_parseMOI(id, args[i].c_str()) ;
0119 for(int i=1 ; i < argc ; i++) test_parseMOI(id, argv[i]);
0120 }
0121
0122 void test_parseMOI_fd( const CSGFoundry* fd )
0123 {
0124 const char* moi = SSys::getenvvar("MOI", "sWorld:0:0");
0125 int midx, mord, iidx ;
0126 fd->parseMOI(midx, mord, iidx, moi );
0127
0128 LOG(info)
0129 << " MOI " << moi
0130 << " midx " << midx
0131 << " mord " << mord
0132 << " iidx " << iidx
0133 ;
0134 }
0135
0136
0137 int main(int argc, char** argv)
0138 {
0139 OPTICKS_LOG(argc, argv);
0140
0141 SSim::Create();
0142 CSGFoundry* fd = CSGFoundry::Load();
0143 LOG(info) << "foundry " << fd->desc() ;
0144 fd->summary();
0145
0146 const SName* id = fd->id ;
0147 LOG(info) << id->desc();
0148
0149 LOG(info) << "[ descMeshPrim " ;
0150 LOG(info) << fd->descMeshPrim() ;
0151 LOG(info) << "] descMeshPrim " ;
0152
0153
0154
0155
0156
0157
0158
0159
0160
0161 return 0 ;
0162 }
0163
0164
0165