sgCore C++/C#/Objective-C Geometry Library
 Windows Edition
 MacOS Edition
 iOS Edition

 rtEngine Ray Tracing Engine
 sgCore Features 1. Main features 1.1 2D primitives 1.2 3D primitives 1.3 Boolean operations 1.4 Kinematic operations 1.5 Surfaces 1.6 Linear solids and surfaces 1.7 Solids and surfaces from clips 2. Chargeable version 3. License
 Demo

#### 2D primitives

The sgCore library offers a programmer a full set of features to work with 2D objects. The functions of creating a standard set of primitives are realized, which is an essential part of every modeling system. Based on two primitives, complex 3D objects can be built in the future.
The main 2D primitives that can be built using the sgCore library are shown in the picture:

The basic functions of 2D objects creation and the algorithms how to work with them:

• Building of objects such as POINT, LINE, CIRCLE (several ways of creation), ARC (several ways of creation), SPLINE and CONTOUR in the three-dimensional space.
• Checking if the objects are closed, self-intersecting and lying on the same line or plane.
• Getting the point coordinates based on the parameter of the object pass (from 0 - start to 1 - end).
• The feature that allows you to get a line segments array in the wireframe object view.
• Algorithms of exploring the positional relationship of two objects - you can check if the objects lie on the same plane, if one object is placed inside of the other (for closed objects) or if they are intersecting.

Besides the above mentioned algorithms, there are features of object drawing without creating it.
There is also a feature that allows to create an equidistant contour (the curve that is located on the specified distance from the specified curve) for any 2D object having all its points lying on the same plane:

#### 3D primitives

The sgCore library offers a programmer a full set of features to work with 3D objects:

The basic functions of 3D objects creation and the algorithms how to work with them:

• Building of objects such as BOX, SPHERE, CYLINDER, CONE, TORUS, ELLIPSOID, SPHERIC BAND.
• Getting vertexes, edges, triagles and normals arrays from any 3D object.
• calculating of the UV texture coordinates for each polygon vertex using cubic, spherical and cylindric methods of textures mapping.
• Setting material to objects.

#### Boolean operations

The sgCore library is a solid-state modeling library and it can be understood from the example of Boolean operations. For example, the result of intersecting two 3D objects can be several non-intersecting areas. In sgCore it will be an array of non-linked objects - solids. The examples of Boolean operations are shown on images:

 Intersection of two 3D objects Union of two 3D objects Subtracting the second 3D object from the first one Intersection of two 3D objects surfaces Intersection of a 3D object surface and a plane.

#### Kinematic operations

Kinematic operations is the means of creating new objects by extuding a 2D object along a path in the three-dimensional space. Another 2D object can also be a similar path. The examples of Kinematic operations are shown on images:

 Revolve solids and surfaces Extrusion solids and surfaces by extruding an object along a vector (with holes) Spiral solids and surfaces (with holes) Pipe solids and surfaces (with holes) - extrusion by extruding an object along another object

#### Coons surfaces and flat faces with holes

The sgCore library realizes a number of function to create 3D surfaces and solids from the existing 2D objects. You can create a flat face from an outer contour and an array of holes and Coons surface from three or four boudary contours:

 Surface from 2 curves Surface from 3 curves Surface from 4 curves Flat face with holes

#### Linear solids and surfaces

Creates a surface or a solid by moving the end points of a line segment along two different curves.

 Surface from 2 sections Body from 2 sections

#### Solids from clips

You can create a smoothed solid from three or more clips. Examples of this:

#### Surfaces from clips

You can create a smoothed surface from three or more clips. Examples of this:

#### Chargeable version features

Examples of text and dimensional objects:

Main features of chargeable version:

• Saving objects in the user-defined formats and loading objects from file.
• DXF and STL import/export.
• Work with AutoCAD SHX fonts.
• Creating text objects
• creating dimensional objects (distant, radial, diametral, angle)
• Full version of ray tracing engine.
• .NET wrapper for sgCore and C# examples (Windows version)
• 64-bit version ofsgCore.
• Create object with the help of an array of triangles.

for Public Version of sgCore library (sgCore.dll) Software Product.
This End User License Agreement is not a sales contract but an agreement between Geometros Company and you regarding the use of the software - sgCore library. Installing this software implies that you agree to the terms of this agreement. If you disagree with any part of this license agreement, do not install the software. "sgCore Library Software Product" shall mean and include sgCore.dll, the software programs and files needed to integrate the Geometros sgCore library with a software application, including documentation, examples, include files, declarations, and libraries.

1. RIGHT TO USE THE SOFTWARE
Geometros Company gives you the right to use this software in accordance with the terms of this agreement. You may utilize sgCore Library Software Product free of charge in any manner you see fit (subject to the limitations outlined in this license) to build commercial or non-commercial applications and components. Your application shall include link to Geometros site in "About" dialog or similar place in your application. Text of the link: This Application (or Component) uses sgCore Library, copyright Geometros Company. (http://www.geometros.com). We will be delighted if you will place link to http://www.geometros.com on the web page of your product using sgCore.