CoGe™ | Computational Geometry

Optimized, modular and easy-to-adopt

Polygonal mesh morphing

The so called “3D Tech World” is one of the fastest growing industry segments. From 3D scanning to 3D printing, passing through 3D modeling, a large number of activities require interaction with virtual models, spatial relations and computational geometry.

Developing software to carry out typical tasks encountered in this context is very challenging and time consuming, and almost always leads to non-optimal implementations. Relying on solid software libraries, thoroughly tested and built upon most advanced methods, is usually the best choice, resulting in robust, highly mantainable, implementations.

CoGe™ technology is based on state of the art libraries with a strongly modular approach, allowing it to be customized to address specific tasks and applications. From geometrical processing to shape reconstruction, it is optimized to address a huge number of challenges. It is also designed for a straightforward adoption, in most common production environments. Some of its capabilities are presented in what follows.

Browser integrated 3D model interactive viewer (Use mouse to zoom, pan and rotate)

In-Browser 3D Model Viewer

One of the newest, most interesting trends in 3D tech, is the seamless integration of 3D models into web pages. It allows to deliver an incredibly augmented experience to the user, resulting in a clearer, more effective communication.

CoGe™ provides dedicated modules to easily embed a state-of-the-art 3D model viewer inside web pages, compatible with both desktop and mobile terminals and with most common web browsers.

Input Files and User Interaction

The viewer can easily accommodate a large set of standard 3D file formats like STL, OBJ, STEP, IGES, BREP, OFF, PLY and many more. Custom solutions can also be provided. It allows to interact with the scene, performing many typical operations like zoom, pan, rotate, coordinate planes view, element selection to name a few.

Advanced Processing

All CoGe™ modules are interoperable, so the viewer can be associated with advanced geometry processing to perform complex operations on input files, becoming an extremely powerful, browser integrated, 3D tech tool.

Mesh Generation

Optimal surface mesh simplification

A large number of applications need to accurately discretize 2D and 3D domains. The quality of the resulting discretization and the time in which it is calculated are strongly dependent on the algorithm applied. Many specific contexts are encountered in this field, a typical major subdivision is between Surface Mesh and Volume Mesh Generation.

CoGe™ meshing module is able to generate optimal surface and volume meshes, according to custom user defined inputs, like size and shape parameters, mesh regularity and smoothness, topological constraints, as well as the discretization accuracy. It can operate on many different input files.

2D and 3D Surface Mesh Generation

Surface Mesh Generation operates on both 2D and 3D domains, constructing conforming polygonal meshes that interpolate smooth surfaces providing some fundamental guarantees on the provided result.

3D Volume Mesh Generation

Volume Mesh Generation discretizes bounded regions of the 3D space, they may be connected or composed of multiple subdomains. Very complex surfaces bounding the region or dividing it in subdomains can be treated, resulting in easy handling of very complex input files.

Polygonal mesh holes filling and fairing

Polygonal Mesh Processing

Polygonal meshes are found everywhere a 3D model is present. They are strictly linked with a huge number of complementary fields like 3D scanning, 3D printing, mesh generation, virtual reality models, and much more. In all these contexts there is a strong need to process these objects properly, reliably and with fast computing software.

CoGe™ provides a unique interface to a very powerful suite of software applications, each of which is optimized to perform a specific task on polygonal meshes. A brief capabilities description is reported here below.

Surface Mesh Simplification

It is often the case one needs to simplify a polygonal mesh in order to decimate the number of polygons (typically triangles) it is composed by, while maintaining the best possible fidelity with respect to the starting geometri shape. CoGe™ provides tools of best-in-class robustness, accuracy and speed, delivering industry standard results.

Polygonal mesh parametric segmentation

Hole Filling

It is quite common to encounter polygonal mesh files with topological problems, and holes are among the common ones. An advanced algorithm allows CoGe™ to fix these issues, reconstructing the surface with the user-defined desired level of smoothness.


Polygonal meshes have no topological info, but the user may need to subdivide them into different zones, following some “logic”. This procedure is named Mesh Segmentation and CoGe™ has numerous algorithms to perform it, based for example on mesh skeletonization process or mesh shape diameter function calculation.

Offsetting and Hollowing

When dealing with polygonal meshes one may need to offset it, both inwards or outwards, or to create an empty object with a thick surface. CoGe™ algorithms allow to easily compute offsets and hollowing in a very reliable way, with smoothness guarantee on the resulting mesh.

Boolean union of two triangulated surfaces

Boolean Operations

Boolean operations are typical operations performed inside CAD software or between NURBS files, while performing them on polygonal meshes is a very complex task. CoGe™ provides a module to accurately compute Boolean union, intersection and subtraction on two or more polygonal meshes, while performing also consistent co-refinement on all the involved files.

Deformation and Parametrization

It often happens a user needs to slightly modify a polygonal mesh file, either deforming the original shape or via some editable parametrization. It is a very complex operation to be performed on these geometries, due to their discrete and basic representation which, differently than NURBS files, is not described by means of mathematical funcions as in CAD files, but constituted by a pure “polygon soup”. For this reason, the capability of CoGe™ dedicated module to addresses such a delicate operation with very robust spatial algorithms, implemented in optimized software, is a very highly valuable feature, opening new frontiers for users in the 3D world.

Point set triangulation

Point Set Processing

Point sets are files describing geometries as a cloud of 3D points, and they are typically associated with outputs coming from 3D scanners. These point sets needs to be processed to obtain a more meaningful and complete object description in the 3D space, usually in the form of a 3D polygonal surface mesh.

CoGe™ provides different algorithms to generate smooth, conforming, high quality surface mesh starting from different type of point sets.

Poisson Surface Reconstruction

This algorithm takes as input a 3D point set with oriented normals and calculates an implicit function that can be used to generate a polygonal surface mesh, the most common output.

Scale-Space Surface Reconstruction

This algorithm is able to deal with point sets with no information about normals, and returns as output a polygonal surface mesh that interpolates the starting point set.

Collision detection on polygonal mesh file

Spatial Searching and Sorting

Many applications require to execute a relevant number of queries on 3D objects. The efficiency of such computations strictly depends on searching and sorting algorithms. CoGe™ implements optimal methods to address these tasks, allowing the user to leverage datastructures and functions to perform 2D to nD nearest and farthest neighbor search, incremental nearest and farthest neighbor search, interval skip list, range searching, spatial sorting, distance computation and much more.

AABB and KD Trees

Axis-Aligned Bounding-Boxes and KD Trees are state of the art, n-dimensional space partitioning datastructures to perform fast spatial search. CoGe™ suite provides modules implementing top performing tools to fulfill this need.

Collision Detection

Leveraging optimal datastructures, this module is able to perform efficient intersection and distance queries on 3D objects. These features are key-tools for collision detection algorithms, topology reconstruction, spatial information retrieval to name a few.

Polygonal mesh skeletonization

NURBS CAD Files Processing

NURBS files are typical and standard CAD exchange file formats, such as STEP, IGES or BREP. They preserve accurate geometrical information about the model by storing a mathematical description of its shapes building blocks.

CoGe™ provides an interface to handle and manipulate NURBS files, performing a wide set of operations on them, as those listed below.

Boolean Operations

Boolean operations between two operants, such as union, intersection and subtraction, can easily be performed on NURBS files to create new shapes. Operating at the level of mathematical descriptions of shapes, it is a robust process, producing reliable results, for example when computing the so called Fluid Volume when preparing CAD models for Computational Fluid Dynamics simulations. It can be implemented as a straightforward application, specializing CoGe™ module to execute custom modification on the input file(s).

Polygonal mesh offsetting and hollowing

Healing and Cleaning

Often happens that NURBS files are generated with topology defects by CAD software. In these cases, a tool to fix model corrupted entities is of paramount importance. CoGe™ is able to tackle many different issues performing Healing and Cleaning on the input file such as removing small edges or singular faces, sewing faces and making solids.