目录
本仓库中的软件
COVISE和OpenCOVER
[COVISE][1]是协同可视化和仿真环境,是一个模块化的分布式可视化系统。 由于其重点是在虚拟环境中可视化科学数据,因此它包括VR渲染器[OpenCOVER][2]。 COVISE的开发由[HLRS][3]领导。 它可移植到Windows和UNIX。我们定期在x86_64 Windows、Linux和macOS上进行构建。
其他软件
本仓库还包括[OddLOT][8],一个OpenDRIVE编辑器,以及vrmlExp,一个用于Autodesk 3ds Max的VRML97和X3D导出器。
许可证
除非另有说明,本仓库中的源代码根据LGPL v2.1许可。
详情请参阅lgpl-2.1.txt
。
支持与邮件列表
作为COVISE的用户,您可以在[covise-users][4]邮件列表上得到问题的答案。 请将有关安装/构建/使用COVISE的任何问题发送到那里。
您可以在[covise-commits][5]列表上接收有关COVISE更改的通知。
获取二进制文件和自动安装
如果您只需要OddLOT,请查看[https://github.com/hbanzhaf/docker_covise][9]。
macOS
COVISE有一个[Homebrew][6]配方。如果您的系统上有它,那么您可以简单地执行
brew install hlrs-vis/tap/covise
这将安装COVISE、OpenCOVER和OddLOT以及它们的所有依赖项。
Windows
包含COVISE、OpenCOVER和OddLOT的Windows二进制文件可以在[COVISE下载页面][7]上找到。 同一网页上还提供了VRML导出器vrmlExp的单独安装程序。
获取源代码
UNIX和命令行
获取COVISE非常简单
git clone https://github.com/hlrs-vis/covise.git --recursive
通过以下方式将您现有的副本更新到当前版本
git pull -r
git submodule sync --recursive
git submodule update --init --recursive # 将子模块更新到最新所需版本
使用Git
UNIX
cd covise
git pull -r #-r请求重新基准化您的更改以避免琐碎的分支
git submodule update --init --recursive # 将子模块更新到最新所需版本
构建COVISE和OpenCOVER
构建要求
脚本scripts/install-deps.sh
将帮助您安装Linux发行版(Debian/Ubuntu和RHEL/CentOS)提供的依赖项。
-
C++编译器: C++11
在Windows上,我们目前使用Visual Studio 2022(VC17)。 GCC 5.3及更新版本应该可以工作。
-
CMake: 需要3.1或更新版本,但目前我们建议使用CMake 3.7或更新版本
-
XercesC:
-
Qt: 图形用户界面需要Qt 5或6。 目前并非所有内容(尤其是OddLOT)都能与Qt 6兼容。
对于Qt5,您需要以下模块:
Qt5Core
Qt5Network
Qt5Xml
Qt5Widgets
Qt5OpenGL
Qt5WebKit
Qt5WebKitWidgets
Qt5Gui
Qt5Svg
Qt5PrintSupport
Qt5UiTools
Qt5Script
Qt5ScriptTools
在Ubuntu 14.04上,您应该能够使用以下命令安装所需的软件包:
sudo apt-get install qttools5-dev qtscript5-dev libqt5scripttools5 libqt5svg5-dev libqt5opengl5-dev libqt5webkit5-dev
-
Boost: 1.52及更新版本应该可以使用,需要以下boost库:
chrono
date-time
filesystem
iostreams
locale
program-options
regex
serialization
system
thread
如果缺少其中任何一个,你只会收到一个通用消息,说"Boost"缺失。因此请注意! Ubuntu 14.04:sudo apt-get install libboost-all-dev
-
Python: GUI vr-prepare和脚本接口需要Python 3
-
GLEW: 用于Virvo(直接体绘制)和OpenCOVER中的OpenGL扩展处理
-
OpenSceneGraph: 需要3.2或更新版本,强烈推荐3.4或更新版本用于VR和桌面渲染器OpenCOVER
可选依赖
- JPEG Turbo
- VTK 需要6或更新版本。
- Flex和Bison 词法/语法分析器生成器,构建VRML插件时需要。
Redhat8上的依赖: dnf -y install xerces-c dnf -y install xerces-c-devel
dnf -y install glibc-static
dnf -y install libXi-devel dnf -y install glibc-utils
dnf -y install glut dnf -y install glut-devel dnf -y install boost dnf -y install boost-devel
dnf -y install cmake
dnf -y install cmake3
dnf -y install qt5-qttools-devel dnf -y install qt5-qtscript-devel dnf -y install qt5-qtsvg-devel dnf -y install qt5-qttools-static dnf -y install glew-devel dnf -y install libtiff-devel dnf -y install qt5-qtquickcontrols dnf -y install qt5-qtdeclarative-devel dnf -y install qt5-qtlocation qt5-qtlocation-devel
dnf -y install boost-chrono dnf -y install boost-date-time dnf -y install boost-filesystem dnf -y install boost-iostreams dnf -y install boost-locale dnf -y install boost-program-options dnf -y install boost-regex dnf -y install boost-serialization dnf -y install boost-system dnf -y install boost-thread dnf --enablerepo=PowerTools install qt5-qttools-static dnf --enablerepo=PowerTools install libGLEW dnf --enablerepo=PowerTools install glew-devel
dnf install http://repo.okay.com.mx/centos/8/x86_64/release/okay-release-1-1.noarch.rpm dnf install gcc-gfortran dnf --enablerepo=PowerTools install libstdc++-static dnf --enablerepo=PowerTools install boost-static dnf install python3-pyqt5-sip dnf install fuse-devel
追踪依赖
CMake将显示已满足和未满足的可选和必需依赖列表。 你应该检查这些并根据需要安装额外的先决条件。
第三方依赖目录
COVISE被设置为自动在环境变量EXTERNLIBS指向的目录的子目录中搜索第三方库。 你应该将OpenSceneGraph等安装到$EXTERNLIBS/openscenegraph中,它将在构建过程中被发现。
在UNIX上构建
cd covise
source .covise.sh #设置环境变量
make #调用cmake然后make
这个命令序列设置了构建COVISE所需的环境变量,为COVISE项目调用cmake
,并构建包含OpenCOVER的COVISE。
初始构建后,可以在covise/src
的子目录中调用make
。
不需要安装:你可以直接从构建树中使用COVISE。
仅构建OpenCOVER
cd covise
source .covise.sh #设置环境变量
COVISE_CMAKE_OPTIONS=-DCOVISE_BUILD_ONLY_COVER=ON make #使用提供的选项调用cmake然后make
仅构建OddLOT
cd covise
source .covise.sh #设置环境变量
COVISE_CMAKE_OPTIONS=-DCOVISE_BUILD_ONLY_ODDLOT=ON make #使用提供的选项调用cmake然后make
在Windows上构建
在Windows上,你也应该在命令提示符中工作:
REM 将COVISEDIR设置为你的COVISE检出位置
set COVISEDIR=c:/src/covise
REM 将EXTERNLIBS设置为所有依赖项的正确位置
set EXTERNLIBSROOT=c:\src\externlibs
cd %COVISEDIR%
REM 使用适当的archsuffix调用winenv.bat进行调试或发布(Visual Studio 2012用tamarau,2015用zebu)
call %COVISEDIR%\winenv.bat zebuopt
mkdir build.covise
cd build.covise
cmake-gui ..
REM 直接打开Visual Studio或使用CMake GUI中的按钮
devenv
要创建到covise命令提示符的永久链接,请编辑并执行Scripts/installCoviseCommandPrompt.bat
使用VS Code构建
这是Visual Studio的一个实验性替代方案。你需要安装带有C/C++扩展包和CMake Tools扩展的VS Code。你还需要MSVC编译器和支持的生成器之一(Ninja、Visual Studio)。另一个依赖项是https://github.com/nlohmann/json,应该像COVISE的其他依赖项一样安装在EXTERNLIBS目录中。 要配置和构建COVISE: 用VS Code打开COVISE目录 使用命令面板(ctrl + shift + p)-> Tasks: Run Task -> Configure COVISE 填写所需信息 通过CMake扩展选择编译器(底部栏按钮或通过命令面板 -> CMake: Select a Kit) 运行CMake并选择构建配置(底部栏按钮或通过命令面板 -> CMake: Configure) 构建(底部栏按钮或通过命令面板 -> CMake: Build)
完成此设置后,VS Code的默认集成终端将配置为加载使用COVISE所需的环境。 此外,在VS Code的调试部分提供了启动COVISE和OpenCOVIER或附加到进程的调试配置。如果使用可导出编译命令的生成器(如Ninja),InteliSense应该会被启用。
更改CMake设置
您可以通过编辑${COVISEDIR}/${ARCHSUFFIX}/build.covise/CMakeCache.txt
中的CMake设置来影响COVISE的构建部分。
这可能有助于解决构建问题。
cd ${COVISEDIR}/${ARCHSUFFIX}/build.covise
ccmake ../..
COVISE_BUILD_ONLY_COVER
:仅构建OpenCOVER VR/桌面渲染器,不包括COVISE可视化管道COVISE_BUILD_ONLY_ODDLOT
:仅构建道路编辑器OddLOTCOVISE_BUILD_DRIVINGSIM
:启用OpenCOVER的驾驶模拟器组件COVISE_USE_VIRVO
:禁用直接体绘制支持COVISE_USE_CUDA
:禁用CUDA使用COVISE_CPU_ARCH
:为您的计算机CPU设置优化
更改任何这些设置后,您必须重新启动构建过程。
您还可以在调用make
之前将初始CMake选项添加到环境变量COVISE_CMAKE_OPTIONS
中。
构建文档
COVISE从HLRS的网络服务器获取文档。 但您也可以在本地构建文档。您需要以下工具:
- pdflatex
- latex2html
- doxygen
- graphviz
- epstopdf
然后您可以:
cd ${COVISEDIR}/doc
make
启动COVISE
UNIX
将.../covise/bin添加到您的PATH。
covise
Windows
COVISE可以不需安装直接使用,前提是您执行与构建相同的步骤:
REM 将COVISEDIR设置为您的COVISE检出位置
set COVISEDIR=c:/src/covise
REM 将EXTERNLIBS设置为所有依赖项的正确位置
set EXTERNLIBSROOT=c:\src\externlibs
cd %COVISEDIR%
REM 使用适当的archsuffix调用winenv.bat,用于调试或发布(Visual Studio 2012为tamarau,2015 Update 3、2017或2019为zebu)
call %COVISEDIR%\winenv.bat zebuopt
covise
opencover
源代码组织
-
cmake
: cmake文件 -
doc
: 文档和创建文档的工具 -
config
: 配置示例 -
scripts
: 用于构建COVISE的支持脚本 -
share
: 与架构无关的文件:纹理、着色器、示例数据等 -
src
: 源代码-
src/3rdparty
: 第三方源代码 -
src/tools
: 与构建或使用COVISE相关的各种程序 -
src/kernel
: COVISE核心库 -
src/sys
: COVISE核心可执行文件 -
src/module
: COVISE可视化模块(算法) -
src/OpenCOVER
: VR渲染器及其插件 -
src/oddlot
: OpenDRIVE道路编辑器OddLOT
-