File indexing completed on 2026-04-09 07:49:37
0001 #pragma once
0002
0003
0004
0005
0006
0007
0008
0009 #include <string>
0010 #include <vector>
0011 #include "plog/Severity.h"
0012 #include "SYSRAP_API_EXPORT.hh"
0013
0014 struct SBitSet ;
0015 struct SName ;
0016
0017 struct SYSRAP_API SGeoConfig
0018 {
0019 static const plog::Severity LEVEL ;
0020 static constexpr const char* ELVSelection_VERBOSE = "SGeoConfig__ELVSelection_VERBOSE";
0021 static constexpr const char* ELVSelection_STARTING = "SGeoConfig__ELVSelection_STARTING";
0022 static std::string Desc();
0023 std::string desc() const ;
0024
0025 static std::string DescEMM();
0026
0027 static constexpr const char* kGEOM = "OPTICKS_GEOM,GEOM" ;
0028 static constexpr const char* kEMM = "OPTICKS_EMM_SELECTION,EMM" ;
0029 static constexpr const char* kELVSelection = "OPTICKS_ELV_SELECTION,ELV" ;
0030 static constexpr const char* kSolidSelection = "OPTICKS_SOLID_SELECTION" ;
0031 static constexpr const char* kSolidTrimesh = "OPTICKS_SOLID_TRIMESH" ;
0032 static constexpr const char* kFlightConfig = "OPTICKS_FLIGHT_CONFIG" ;
0033 static constexpr const char* kArglistPath = "OPTICKS_ARGLIST_PATH" ;
0034 static constexpr const char* kCXSkipLV = "OPTICKS_CXSKIPLV" ;
0035 static constexpr const char* kCXSkipLV_IDXList = "OPTICKS_CXSKIPLV_IDXLIST" ;
0036
0037 static constexpr const char* kEMM_desc = "CSGFoundry enabled merged mesh control" ;
0038 static constexpr const char* kELVSelection_desc = "string control of included/excluded meshes, DYNAMIC NATURE MAKES PROBLEMATIC FOR LONG LIVED SKIPS " ;
0039 static constexpr const char* kSolidSelection_desc = "CSGFoundry debug control" ;
0040 static constexpr const char* kSolidTrimesh_desc = "CSGFoundry comma delimited list of CSGSolid for Trimesh geometry" ;
0041 static constexpr const char* kFlightConfig_desc = "NEEDS REVIIVING IN NEW WORKFLOW TO WORK WITH SGLM NOT Composition" ;
0042 static constexpr const char* kArglistPath_desc = "generic path to a list of arguments used by some tests" ;
0043 static constexpr const char* kCXSkipLV_desc = "non-dynamic LV skipping in CSG_GGeo_Convert, PREFERABLE FOR LONG-LIVED SKIPS" ;
0044
0045 static const char* _GEOM ;
0046 static unsigned long long _EMM ;
0047 static const char* _ELVSelection ;
0048 static const char* _SolidSelection ;
0049 static const char* _SolidTrimesh ;
0050 static const char* _FlightConfig ;
0051 static const char* _ArglistPath ;
0052 static const char* _CXSkipLV ;
0053 static const char* _CXSkipLV_IDXList ;
0054
0055 static unsigned long long EnabledMergedMesh() ;
0056 static const char* GEOM();
0057 static const char* SolidSelection();
0058 static const char* SolidTrimesh();
0059 static const char* FlightConfig();
0060 static const char* ArglistPath();
0061 static const char* CXSkipLV();
0062 static const char* CXSkipLV_IDXList();
0063 static const char* ELVSelection();
0064 static const char* ELVSelection(const SName* id);
0065 static const char* ELVPrefix(const char* elvarg);
0066
0067
0068 static const char* ELVString(const SName* id);
0069 static const SBitSet* ELV(const SName* id);
0070
0071
0072
0073 static void SetCXSkipLV_IDXList(const SName* id);
0074
0075 static void SetGEOM( const char* gm );
0076 static void SetSolidSelection( const char* ss );
0077 static void SetSolidTrimesh( const char* ss );
0078 static void SetELVSelection( const char* es );
0079 static void SetFlightConfig( const char* fc );
0080 static void SetArglistPath( const char* ap );
0081 static void SetCXSkipLV( const char* cx );
0082
0083 static bool IsEnabledMergedMesh(unsigned mm);
0084 static bool IsCXSkipLV(int lv);
0085
0086 static std::vector<std::string>* Arglist() ;
0087 static void GeometrySpecificSetup(const SName* id);
0088 static bool JUNO_Detected(const SName* id);
0089
0090
0091 };
0092
0093