Topological Data Structure
The 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. Thanks to the 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 not to the outer boundary.
Abstract topological data structure describes a basic entity, the 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 of the edges their wire boundaries
Solid, part of 3D space bound by a shell
Compound solid, a collection of solids.
The wire and solid can be either infinite or closed.
Topology defines the relationship between simple geometric entities, which can thus be linked together to represent complex shapes.
Abstract Topology is provided by six packages. The first three packages describe the topological data structure used in Open CASCADE Technology:
- TopAbs package provides general resources for topology-driven applications. It contains enumerations that are used to describe basic topological notions: topological shape, orientation and state. It also provides methods to manage these enumerations.
- TopLoc package provides resources to handle 3D local coordinate systems: Datum3D and Location. A Datum3D describes an elementary coordinate system, while a Location comprises a series of elementary coordinate systems.
- TopoDS package describes classes to model and build data structures that are purely topological.
Three additional packages provide tools to access and manipulate this abstract topology:
- TopTools package provides basic tools to use on topological data structures.
- TopExp package provides classes to explore and manipulate the topological data structures described in the TopoDS package.
- BRepTools package provides classes to explore, manipulate, read and write BRep data structures. These more complex data structures combine topological descriptions with additional geometric information, and include rules for evaluating equivalence of different possible representations of the same object, for example, a point.