Git Product home page Git Product logo

3drepocore's Introduction

3D Repo Core (DEPRECATED)

This library is deprecated and has been replaced by 3drepobouncer.

> C++ library providing 3D Repo Scene Graph definition and repository management logic.

> ## Licenses
> This project is Copyright of [3D Repo Ltd](http://3drepo.org), a company registered in England and Wales No. 09014101, and is released under the open source [GNU Affero General Public License v3](http://www.gnu.org/licenses/agpl-3.0.en.html). Should you require a commercial license, please contact [[email protected]](mailto:[email protected]). All contributors are required to sign either the [3D Repo Individual](https://gist.github.com/jozefdobos/e177af804c9bcd217b73) or the [3D Repo Entity](https://gist.github.com/jozefdobos/c7c4c1c18cfb211c45d2) [Contributor License Agreement (CLA)](https://en.wikipedia.org/wiki/Contributor_License_Agreement).

> ### 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](https://help.github.com/articles/using-pull-requests/) 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](https://help.github.com/articles/merging-an-upstream-repository-into-your-fork/) so that we don't pull redundant commits
> 6. Sign our [3D Repo Individual CLA](https://gist.github.com/jozefdobos/e177af804c9bcd217b73) or if you are representing a legal entity, sign the [3D Repo Entity CLA](https://gist.github.com/jozefdobos/c7c4c1c18cfb211c45d2)

> ## Dependencies

> - [Boost 1.56.0](https://github.com/boostorg/boost/tree/boost-1.56.0)
> - [MongoDB 2.6 Compatible C++ Driver 2.6.4](https://github.com/mongodb/mongo-cxx-driver/tree/legacy-0.0-26compat-2.6.4)
> - [Assimp v3.1.1](https://github.com/assimp/assimp/tree/v3.1.1)

> Both MongoDB and Assimp make use of Boost, so make sure this is installed first. 

> ## Compiling on Windows 

> ### Boost

> For Windows, download pre-built binaries [http://sourceforge.net/projects/boost/files/boost-binaries/](http://sourceforge.net/projects/boost/files/boost-binaries/)

> There is also a GitHub transition taking place:
> [https://svn.boost.org/trac/boost/wiki/ModularBoost](https://svn.boost.org/trac/boost/wiki/ModularBoost)
> If using Modular Boost, make sure to recursively update submodules since each boost library within the super projec is in itself a submodule.

> ### MongoDB

> Assuming you've installed the 64-bit pre-built boost libraries for VC120 (MSVS2013)

> - Install [Python2x (32-bit)](https://www.python.org/download) and add Python to your PATH variable, e.g. C:\Python27;
> - Install [Scons](http://www.scons.org/download.php) and add Scons to your PATH variable, e.g. C:\Python27\Scripts
> - Optionally, you can also install [Pywin32](http://sourceforge.net/projects/pywin32/files/pywin32/) to enable parallel compile (the -j2 flag below).

> Then compile MongoDB running the following from within the mongo-cxx-driver folder (modify the boost path to match your setup):

> scons -j2 --full --64 --mute --sharedclient --dynamic-windows --use-system-boost --extrapath=c:\local\boost_1_56_0 --cpppath=c:\local\boost_1_56_0 --libpath=c:\local\boost_1_56_0\lib64-msvc-12.0 install-mongoclient
> Add --dbg=on --opt=on flags to build a debug version of the library.

> Alternatively, you can include [SCons in your IDE](http://www.scons.org/wiki/IDEIntegration).

> Include the WinSock library in your application: Linker > Input > Additional Dependencies. Add ws2_32.lib.

> If you want to build a Qt project, first you need to generate MongoDB error codes using Python:

> cd submodules/mongo-cxx-driver/src/mongo/base
> python generate_error_codes.py error_codes.err error_codes.h error_codes.cpp

> ### Assimp

> When building using CMake GUI, make sure to disable ASSIMP_ENABLE_BOOST_WORKAROUND variable and instead use +Add Entry button on the right-hand side to include a path to your boost installation as BOOST_ROOT variable. 
> See also [http://assimp.sourceforge.net/lib_html/cmake_build.html](http://assimp.sourceforge.net/lib_html/cmake_build.html)

> To be able to compile Assimp Tools, you also need to install [DirectX SDK](http://www.microsoft.com/en-gb/download/details.aspx?id=6812). If you have Microsoft Visual C++ 2010 Redistributable, make sure to uninstall it from Programs and Features first.

> ### 3drepocore

> Finally to compile the library itself, open the build.pro project from qtcreator and build.

> ## Compiling on Mac

> The following instructions explain how to compile the 3drepocore library on Yosemite.

> You will need boost, scons and cmake installed on your machine. You can get them from homebrew:
> brew install boost
> brew install scons
> brew install cmake

> ### MongoDB

> To compile MongoDB, run the following command:
> scons -j2 --full --64 --mute --sharedclient --osx-version-min=10.9 --use-system-boost install-mongoclient

> ### Assimp

> Assimp uses cmake. Make a folder named **build** at the root of the assimp submodule directly. Then, run the following commands:

> cd build
> ccmake ..

> Choose the following options:

> ASSIMP_ENABLE_BOOST_WORKAROUND -> off
> ASSIMP_BUILD_TESTS -> off

> Generate the project, and finally run:

> make -j8

> ### 3drepocore

> Finally to compile the library itself, open the build.pro project from qtcreator and build.

> ## Compiling on Linux

> ## Contributing
> We encourage continuous development of 3D Repo by the community and welcome any fixes and improvements. By sending a pull request, you agree that the modifications are solely your work and assign the copyright to 3D Repo Ltd

3drepocore's People

Contributors

carmenfan avatar fbesse avatar geospark avatar jozefdobos avatar timscully1983 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.