Eisspeedway

Russian Geometric Kernel

Russian Geometric Kernel (also known as RGK) is a proprietary geometric modeling kernel developed by several Russian software companies, most notably Top Systems and LEDAS, and supervised by STANKIN (State Technology University). It was written in C++.

History

The kernel was developed in 2011–2013 under the supervision of “Stankin” Moscow State Technical University within the framework of the project for “Developing Licensed Home 3D-Kernel”, funded by the Ministry of Industry and Trade of the Russian Federation.

The kernel is said to be completed by 2013,[1][2] with no other news on it available (by the end of 2016).[3]

Architecture

RGK is described using boundary representation (B-rep). But other descriptions are used when necessary. For instance, to optimize the speed of kernel's functions, and to ensure precise storage and computation of the model, canonical objects and NURBS curves and surfaces are used. To solve tasks associated with complex operations (such as hole-covering surfaces, N-side patches, and blending surfaces in complex cases), special types of curves and surfaces are used by the kernel.

Low-level and high-level operations

Kernel functions can be grouped under another criterion: low-level and high-level ones. The low-level operations include constructing curves and surfaces (canonical objects, NURBS, offset curves and surfaces, and so on), projecting points and curves on surfaces, intersecting and extending curves and surfaces, modifying topology (including Euler operations), and so on. Low-level operations enable application developers to modify kernel data in a most flexible manner, practically operating in manual mode. High-level operations include operations that are standard for body generation, and Boolean operations on bodies (union, subtract, and intersect). It can be used with solid and surface bodies, and with combinations of the two.[4]

Platforms

The geometric kernel supports 32- and 64-bit architecture, and Windows and Linux platforms. It can be compiled with any C++ compiler that implements features of С++11 standard.[5]

References