CCCoreLib Documentation

repository·master·Indexed 41 days ago

https://github.com/cloudcompare/cccorelib

A standalone C++ library providing data structures and algorithms for 3D point cloud data, derived from the core logic of CloudCompare. Supports C++14 and offers configurable build options for CGAL triangulation, Intel TBB, and QtConcurrent parallel processing.

Tokens
401
Snippets
0
Records
3
Agent score
2%

What's inside CCCoreLib

  1. Configure CCCoreLib build with CMake options

    master

    CCCoreLib uses CMake for its build system and requires a C++14 compliant compiler. You can customize the build using several CMake options to enable specific algorithms or performance optimizations.

    Key options include:

    • CCCORELIB_USE_CGAL: Enables Delaunay 2.5D triangulation (requires CGAL; uses GPL license).
    • CCCORELIB_USE_TBB: Enables parallel processing via Intel Threading Building Blocks.
    • CCCORELIB_USE_QT_CONCURRENT: Enables parallel processing via QtConcurrent (ON by default).
    • CCCORELIB_SHARED: Determines if the project compiles as a shared library (ON by default).
    • CCCORELIB_SCALAR_DOUBLE: Sets the internal _ScalarType_ to double instead of float (OFF by default).
  2. Configure Qt for CCCoreLib via CMake

    master

    Because CCCORELIB_USE_QT_CONCURRENT is enabled by default, CMake needs to locate your Qt installation. You can provide the path to Qt using one of two methods:

    1. Set CMAKE_PREFIX_PATH to the root of your Qt installation (the directory containing bin, include, lib, etc.).
    2. Set Qt5_DIR to point specifically to the CMake directory within your Qt installation (e.g., <Qt installation>/cmake/Qt5).

    Setting either of these will allow CMake to automatically resolve Qt5Concurrent_DIR, Qt5Core_DIR, and Qt5Widgets_DIR.

  3. License information for CCCoreLib

    master

    CCCoreLib is primarily licensed under LGPL 2.0+.

    • Source Files: Licensed under LGPL 2.0+ (identified by SPDX-License-Identifier: LGPL-2.0-or-later).
    • CMake Files: Licensed under the MIT license (identified by SPDX-License-Identifier: MIT).

    Note: BoundingBox.cpp and RayAndBox.h were previously GPL but have been relicensed to LGPL.