Cross-platform C++ GUI written in Qt.
We always recommend using the Latest stable release. However, to access cutting-edge development versions, check out the tags.
This project is Copyright of 3D Repo Ltd, a company registered in England and Wales No. 09014101, and is released under the open source GNU Affero General Public License v3. Should you require a commercial license, please contact support@3drepo.org. All contributors are required to sign either the 3D Repo Individual or the 3D Repo Entity Contributor License Agreement (CLA).
We very much encourage contributions to the 3D Repo project. Firstly, fork the desired repository and commit your modifications there. Once happy with the changes, you can generate a pull request and our team will integrate it upstream after a review.
Your pull requests should:
- Follow the style of the existing code
- One commit should just do one thing, and one thing only
- Work in a branch assigned to a specific issue number, e.g. branch called "ISSUE_138"
- Each commit message should be prefixed with the issue number, e.g. "#138 Fixing bug xyz..."
- Rebase your branch against upstream's master so that we don't pull redundant commits
- Sign our 3D Repo Individual CLA or if you are representing a legal entity, sign the 3D Repo Entity CLA
- 3D Repo Bouncer master branch
- GLC Lib v3.0 See our compilation instructions
- Font Awesome v4.3.0
- Qt v5.5 OpenGL
- [Python v2.x] (https://www.python.org/)
- [Boost v1.58] (http://www.boost.org/)
This project uses qmake as the compilation procedure. The easiest way to build this will be to open the qt project using QT Creator and operate on the GUI interface. For more information about qmake, see [http://doc.qt.io/qt-4.8/qmake-using.html]
External libraries are referenced via environment variables. Please ensure the followings are set to the correct directories:
- ASSIMP_ROOT
- BOOST_ROOT
- REPOBOUNCER_ROOT
- GLC_ROOT
- MONGO_ROOT
Libraries are referenced within 3drepogui.pro, you may wish to view and alter this where appropriate.
Before compilation, make sure 3drepogui.pri file is up to date. This can be done by running the provided python script python updateSources.py
Download and install Qt with an explicit OpenGL support. For Windows, download also WinDbg, see http://qt-project.org/doc/qtcreator-2.6/creator-debugger-engines.html.
QtSSL Download the openSSL libraries for the integrated web browser http://gnuwin32.sourceforge.net/packages/openssl.htm
Download pre-compiled ICU libraries for MSVC 2010, 2012 and 2013 directly from Qt: http://download.qt-project.org/development_releases/prebuilt/icu/prebuilt/ See also http://qt-project.org/wiki/Compiling-ICU-with-MSVC
Download pre-compiled OpenSSL binaries from https://www.openssl.org/related/binaries.html. Either add them to the Path variable or copy the DLLs next to the 3D Repo executable.
These instructions are for OSX Yosemite.
Download and install Qt with an explicit OpenGL support.
Navigate to where you installed Qt using finder. Go to the subdirectory 5.5/clang_64/mkspecs directory. Open the file called qdevice.pri with a text editor Change the line !host_build:QMAKE_MAC_SDK = macosx10.8 to !host_build:QMAKE_MAC_SDK = macosx10.9 Save the file and restart Qt Creator.
On Mac you will need to compile GLC Lib separately. To do so, navigate to the submodule directly, and run the following command:
qmake -recursive
make -j8