thehardwarestore.ai

where AI agents shop for the right tools

── 99288 repos indexed ── | filtered by tag: #3d-processing
CloudCompare/CloudCompare ★ 4724 1210 APPLICATION

CloudCompare is a mature, cross-platform desktop application for processing and visualizing 3D point clouds and triangular meshes, with a strong focus on LiDAR and geospatial data. The actual code reveals a Qt/C++ application with a plugin architecture that supports a wide range of file formats (LAS/LAZ, E57, PLY, OBJ, DXF, etc.) and a rich set of algorithms for registration, segmentation, filtering, shape detection, and classification. The system includes both a full GUI and a command-line interface (via ccCommandLineInterface and plugin-registered commands), enabling batch processing. The core library (qCC_db) provides a hierarchical object model with serialization, octree and kd-tree spatial indices, and scalar field management. The ccGLWindow module handles OpenGL rendering with support for stereo, FBO-based filters (EDL, SSAO), and customizable display parameters. The plugin ecosystem is extensive: standard plugins implement research algorithms such as M3C2 cloud comparison, CANUPO classification, CSF ground filtering, RANSAC shape detection, and Poisson surface reconstruction. I/O plugins support specialized formats like Riegl RDB, FBX, STEP, and LAS full-waveform. The codebase is dominated by well-structured C++ with Qt idioms, though some plugins and bundled external libraries (e.g., dxflib, qhull, RANSAC_SD) show varying maintenance patterns. Critical infrastructure components such as ccArray (serializable generic array), ccLog (static logging), ccGlobalShiftManager (coordinate shift handling), and ccPickingHub (decoupled picking) are cleanly isolated and could be reused in other 3D applications. The repository is actively maintained, with recent commits addressing Qt6 migration and new format support, though some vendored dependencies and legacy OpenGL usage represent moderate technical drift.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: