Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:21

0001 #!/bin/bash  
0002 usage(){ cat << EOU
0003 SScene_test.sh
0004 ===============
0005 
0006 Inits SScene from loaded stree.h::
0007 
0008    ~/o/sysrap/tests/SScene_test.sh 
0009    ~/o/sysrap/tests/SScene_test.sh info
0010 
0011 
0012 To create and persist the stree starting from GEOM gdml::
0013 
0014    ~/o/u4/tests/U4TreeCreateTest.sh
0015 
0016 
0017 The framespec.txt file used is the first of the below paths that exists::
0018 
0019     ~/.opticks/GEOM/${GEOM}_framespec.txt
0020     $TREE_FOLD/framespec.txt               ## ie sibling to the stree folder  
0021 
0022 TODO: relocate "scene" output default to be sibling to the stree from which it was derived ? 
0023 
0024 TODO: position the scene under GEOM/$GEOM dir to avoid using wrong scene with an analytic geometry
0025 
0026 
0027 EOU
0028 }
0029 
0030 cd $(dirname $(realpath $BASH_SOURCE))
0031 
0032 name=SScene_test
0033 export SCENE_FOLD=/tmp/$name
0034 mkdir -p $SCENE_FOLD 
0035 bin=$SCENE_FOLD/$name
0036 
0037 
0038 tree_fold=$TMP/U4TreeCreateTest
0039 export TREE_FOLD=${TREE_FOLD:-$tree_fold}
0040 
0041 
0042 if [ ! -d "$TREE_FOLD/stree" ]; then
0043    echo $BASH_SOURCE : ERROR TREE_FOLD $TREE_FOLD DOES NOT CONTAIN stree 
0044    exit 1
0045 fi 
0046 
0047 source $HOME/.opticks/GEOM/GEOM.sh 
0048 spec0=$HOME/.opticks/GEOM/${GEOM}_framespec.txt
0049 spec1=$TREE_FOLD/framespec.txt
0050 
0051 specs="$spec0 $spec1"
0052 framespec=none
0053 for spec in $specs ; do 
0054    if [ -f "$spec" ]; then
0055        framespec=$spec
0056        break             
0057    fi
0058 done
0059 export SScene__initFromTree_addFrames=${SScene__initFromTree_addFrames:-$framespec}
0060 
0061 
0062 
0063 vars="BASH_SOURCE PWD stree_fold TREE_FOLD SCENE_FOLD bin GEOM framespec spec0 spec1"
0064 vars="$vars SScene__initFromTree_addFrames" 
0065 
0066 defarg=info_build_run
0067 arg=${1:-$defarg}
0068 
0069 cuda_prefix=/usr/local/cuda
0070 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}
0071 
0072 glm_prefix=$OPTICKS_PREFIX/externals/glm/glm
0073 GLM_PREFIX=${GLM_PREFIX:-$glm_prefix}
0074 
0075 
0076 #export NPFold__load_DUMP=1
0077 #export NPFold__load_index_DUMP=1
0078 #export NPFold__load_dir_DUMP=1
0079 
0080 if [ "${arg/info}" != "$arg" ]; then 
0081     for var in $vars ; do printf "%20s : %s \n" "$var" "${!var}" ; done
0082 fi   
0083 
0084 if [ "${arg/build}" != "$arg" ]; then 
0085 
0086     echo $BASH_SOURCE [ building 
0087     gcc  $name.cc \
0088          ../sn.cc \
0089          ../s_pa.cc \
0090          ../s_tv.cc \
0091          ../s_bb.cc \
0092          ../s_csg.cc \
0093          -DWITH_CHILD \
0094          -std=c++17 -lstdc++ -lm \
0095          -I.. -g \
0096          -I$GLM_PREFIX \
0097          -I${CUDA_PREFIX}/include \
0098          -o $bin
0099 
0100     [ $? -ne 0 ] && echo $BASH_SOURCE build error && exit 1
0101     echo $BASH_SOURCE ] building 
0102 fi 
0103 
0104 if [ "${arg/run}" != "$arg" ]; then 
0105     $bin
0106     [ $? -ne 0 ] && echo $BASH_SOURCE run error && exit 2
0107 fi 
0108 
0109 if [ "${arg/dbg}" != "$arg" ]; then 
0110     dbg__ $bin
0111     [ $? -ne 0 ] && echo $BASH_SOURCE dbg error && exit 3
0112 fi 
0113 
0114 exit 0