Russian Geometric Kernel (also known as RGK) is a proprietary
geometric modeling kernel
A geometric modeling kernel is a solid modeling software component used in computer-aided design (CAD) packages. Available modelling kernels include:
* ACIS is developed and licensed by Spatial Corporation of Dassault Systèmes.
*SMLib is develop ...
developed by several Russian software companies, most notably Top Systems and LEDAS, and supervised by
STANKIN
The Moscow State University of Technology "STANKIN" (MSUT "STANKIN") (Russian: Московский Государственный Технологический Университет "СТАНКИН" (МГТУ "СТАНКИН")), previously th ...
(State Technology University). It was written in
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
.
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, with no other news on it available (by the end of 2016).
Architecture
RGK is described using boundary representation (
B-rep
In solid modeling and computer-aided design, boundary representation (often abbreviated B-rep or BREP) is a method for representing a 3D shape by defining the limits of its volume. A solid is represented as a collection of connected surface e ...
). 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
Non-uniform rational basis spline (NURBS) is a mathematical model using basis splines (B-splines) that is commonly used in computer graphics for representing curves and surfaces. It offers great flexibility and precision for handling both analyt ...
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
Non-uniform rational basis spline (NURBS) is a mathematical model using basis splines (B-splines) that is commonly used in computer graphics for representing curves and surfaces. It offers great flexibility and precision for handling both analyt ...
, 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.
Platforms
The geometric kernel supports 32- and 64-bit architecture, and
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
and
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
platforms. It can be compiled with any
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
compiler that implements features of С++11 standard.
References
External links
Official RGK web page
Computer-aided design software
Computer-aided engineering software
3D graphics software
Computer-aided design
{{software-type-stub