The definition of std::max uses references for parameters, which leads
to unnecessary storing of constants on the stack. If the stack is
overwritten this leads to wrong results.
max2() works around this using call-by-value.
When passing '-internaltcl' to netgen, it will evaluate a preprocessed
tcl string instead of loading ng.tcl.
The string is stored in the file onetcl.cpp, which is generated by onetcl.py
Use tolerance in GetElementOfPoint when using a search tree
I'm getting artifacts at domain edges (see attached), because no tolerance is used when calling `elementsearchtree->GetIntersecting()` inside `GetElementOfPoint`.
![searchtree](/uploads/5aa10da74cac7bef9e134756ea897e49/searchtree.png)
See merge request !29
Force rebuild of Netgen subproject when building the Superbuild
CMake is using stamp files to check if the external projects are out
of date. There is an option 'BUILD_ALWAYS 1' of ExternalProject_Add,
but it is not available prior to CMake 3.1.
To work around it, this commit solves two problems at once:
- Add a new step 'check_submodules' between configure and build
to check if all submodules are up to date. This step has the option
'ALWAYS 1', which means it is always considered outdated.
- Since 'build' depends on the above step, it will always be started
See merge request !30
CMake is using stamp files to check if the external projects are out
of date. There is an option 'BUILD_ALWAYS 1' of ExternalProject_Add,
but it is not available prior to CMake 3.1.
To work around it, this commit solves two problems at once:
- Add a new step 'check_submodules' between configure and build
to check if all submodules are up to date. This step has the option
'ALWAYS 1', which means it is always considered outdated.
- Since 'build' depends on the above step, it will always be started