Skip to content
This repository has been archived by the owner on Dec 31, 2019. It is now read-only.

3drepo/3drepogui

Repository files navigation

3D Repo GUI Build Status

Cross-platform C++ GUI written in Qt.

screenshot

Latest Releases

We always recommend using the Latest stable release. However, to access cutting-edge development versions, check out the tags.

Licenses

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).

Contributing

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:

  1. Follow the style of the existing code
  2. One commit should just do one thing, and one thing only
  3. Work in a branch assigned to a specific issue number, e.g. branch called "ISSUE_138"
  4. Each commit message should be prefixed with the issue number, e.g. "#138 Fixing bug xyz..."
  5. Rebase your branch against upstream's master so that we don't pull redundant commits
  6. Sign our 3D Repo Individual CLA or if you are representing a legal entity, sign the 3D Repo Entity CLA

Dependencies

General Compilation Instruction

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

Compiling on Windows

Qt

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

ICU

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

OpenSSL

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.

Compiling on Mac

These instructions are for OSX Yosemite.

Qt

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.

GLC Lib

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