Modeling Data

Modeling Data supplies data structures to represent 2D and 3D geometric models.

These services are organized into the following libraries:

- 2D Geometry

- 3D Geometry

- Geometry Utilities

- Topology

## 2D Geometry

This library provides 2D geometric data structures and topological orientation.

Geom2D geometric package provides 2D geometric data structures handled by reference and complying with STEP specification. These objects are parameterized, and, as a result, are oriented. They include Bezier, BSpline, and offset curves, and provide functions for conversion of Geom2D objects to gp (basic geometry) objects, which are non-oriented and non-parameterized.

Geom2dLProp local geometric properties package allows computing such properties as:

Derivative vectors of a parametric point on a 2D curve;

Tangent vectors of a parametric point on a 2D curve (normal and curvature).

## 3D Geometry

This library provides 3D geometric data structures and topological orientation.

Geom geometric package provides 3D geometric data structures handled by reference and complying with STEP specification. These objects are parameterized and, as a result, are oriented. They include Bezier, BSpline, and offset curves and surfaces, and provide functions for conversion of Geom objects to gp (basic geometry) objects, which are non-oriented and non-parameterized.

GeomLProp local geometric properties package allows you to compute such properties as:

Derivative vectors of a parametric point on a curve or a surface

Tangent vectors of a parametric point on a curve or a surface

- Normal

- Curvature

## Geometry Utilities

This library provides standard high-level functions in 2D and 3D geometry such as:

- Direct construction of algorithms

- Interpolation of a set of points to form a curve

- Approximation of curves and surfaces from points

- Conversion of more elementary geometry to BSpline curves and surfaces

- Calculation of points on a 2D or 3D curve

- Calculation of extrema between two geometries

## Topology

Topological library allows you to build pure topological data structures..

Topology defines relationships between simple geometric entities. In this way, you can model complex shapes as assemblies of simpler entities. Due to a built-in non-manifold (or mixed-dimensional) feature, you can build models mixing:

- 0D entities such as points

- 1D entities such as curves

- 2D entities such as surfaces

- 3D entities such as volumes

You can, for example, represent a single object made of several distinct bodies containing embedded curves and surfaces connected or non-connected to an outer boundary.

Abstract topological data structure describes a basic entity - a shape, which can be divided into the following component topologies:

- Vertex - a zero-dimensional shape corresponding to a point in geometry

- Edge - a shape corresponding to a curve, and bound by a vertex at each extremity

- Wire - a sequence of edges connected by their vertices

- Face - part of a plane (in 2D geometry) or a surface (in 3D geometry) bounded by a closed wire

- Shell - a collection of faces connected by some edges of their wire boundaries

- Solid - a part of 3D space bound by a shell

- Compound solid - a collection of solids.

The wire and the solid can be either infinite or closed.

A face with 3D underlying geometry may also refer to a collection of connected triangles that approximate the underlying surface. The surfaces can be undefined leaving the faces represented by triangles only. If so, the model is purely polyhedral.

Along with the above data structures and that for a generalized shape, this library also provides resources to define the location of shapes.