Salome HOME
Make salome_run.sh and linux_run.sh supporting args ss/gcs to select a solver
[modules/shaper.git] / solver.sh
1 #!/bin/bash
2 #
3 # Modify plugins.xml to switch solver
4
5 export solver=${solver:-SolveSpace}
6 export PLUGINS_PATH=${PLUGINS_PATH:-${NEWGEOM_ROOT_DIR}/plugins/plugins.xml}
7
8 while [[ $# > 0 ]]; do
9   key="$1"
10   case $key in
11     solvespace|ss)
12       export solver=SolveSpace
13       shift
14       ;;
15     planegcs|gcs)
16       export solver=PlaneGCS
17       shift
18       ;;
19     -p)
20       export PLUGINS_PATH="$2" 
21       shift
22       shift
23       ;;
24     *)
25       shift
26       ;;
27   esac
28 done
29
30 case $solver in
31   PlaneGCS)
32     export SWITCH_ON=PlaneGCSSolver
33     export SWITCH_OFF=SolveSpaceSolver
34     ;;
35   SolveSpace|*)
36     export SWITCH_ON=SolveSpaceSolver
37     export SWITCH_OFF=PlaneGCSSolver
38     ;;
39 esac
40
41 echo "Switch $solver solver in ${PLUGINS_PATH}"
42
43 cat ${PLUGINS_PATH} \
44   | sed -e "s/^\(<!--\)\?\(.*${SWITCH_ON}.*\/>\)\( -->\)\?/\2/" \
45   | sed -e "s/^\(<!--\)\?\(.*${SWITCH_OFF}.*\/>\)\( -->\)\?/<!--\2 -->/" \
46   > ${PLUGINS_PATH}_out
47 mv -f ${PLUGINS_PATH}_out ${PLUGINS_PATH}
48 cat ${PLUGINS_PATH}
49