SkillAgentSearch skills...

CCCoreLib

C++ library which provides data structures & algorithms for working with 3D point cloud data

Install / Use

/learn @CloudCompare/CCCoreLib
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

CCCoreLib

Actions Status

This library provides data structures and algorithms for working with 3D point cloud data.

It was originally part of the CloudCompare repository (as "CCLib").

We have separated it into its own repository because it is useful on its own without having to download the entire CloudCompare repository. This makes it easier to work with and gives this part of the CloudCompare project some visibility it would not otherwise have.

It uses CMake, requires C++14, and compiles & runs on Linux, macOS, and Windows.

Main CMake Options

| Option | Description | Default | | ------------- |-------------| ---------| | CCCORELIB_USE_CGAL | Use CGAL to enable Delaunay 2.5D triangulation with a GPL compliant licence | OFF | | CCCORELIB_USE_TBB | Use Intel Threading Building Blocks lib to enable some parallel processing | OFF | | CCCORELIB_USE_QT_CONCURRENT | Use Qt to enable parallel processing using QtConcurrent | ON | | CCCORELIB_SHARED | Compile as a shared library | ON | | CCCORELIB_SCALAR_DOUBLE | Define ScalarType as double (instead of float) | OFF |

Qt Option (Qt5_DIR)

If CCCORELIB_USE_QT_CONCURRENT is on (it is by default), then you may need to tell CMake where to find the Qt cmake files. The official docs from Qt show two ways to do so:

  • setting CMAKE_PREFIX_PATH to point to your Qt installation (where 'bin', 'doc', 'include', lib', etc. live)
  • setting Qt5_DIR to point at the cmake directory within your Qt installation (this would be something like <Qt installation>/cmake/Qt5)

From this, cmake will determine Qt5Concurrent_DIR, Qt5Core_DIR, and Qt5Widgets_DIR, so there's no need to set those explicitly.

Things We Have Yet To Do

  • contribution guidelines (including coding style)
  • documentation

How You Can Help

License

This project as a whole is licensed under the LGPL 2.0+ license - see the LICENSE file for details.

Individual source files contain the following tag instead of the full license text:

SPDX-License-Identifier: LGPL-2.0-or-later

The CMake files are licensed under the MIT license - see the LICENSE-MIT file for details.

These files contain the following tag instead of the full license text:

SPDX-License-Identifier: MIT

Using SPDX enables machine processing of license information based on the SPDX License Identifiers and makes it easier for developers to see at a glance which license they are dealing with.

License Special Note

Two files (BoundingBox.cpp and RayAndBox.h) were previously licensed under the GPL 2.0+ license by mistake.

These files contained the following tag:

SPDX-License-Identifier: GPL-2.0-or-later

The necessary permissions were secured to relicense these under LGPL:

SPDX-License-Identifier: LGPL-2.0-or-later
View on GitHub
GitHub Stars194
CategoryDevelopment
Updated25d ago
Forks64

Languages

C++

Security Score

85/100

Audited on Mar 1, 2026

No findings