How to Associate Topology With Topology Geometric Geometry
Modeler Rules Between Topological and Geometric
The topology describes the limitation of a geometry. Hence, topological objects are related to geometric objects within specified rules, which are detailed here
; Representing Geometry
o A CATEdgeCurve Represents CATCurves
o A CATMacroPoint Represents CATPoints
; The Cell Geometry Depends on What It Bounds
o What Is Related To a Volume
o What Is Related To an Edge
o What Is Related To a Vertex
; Main Steps to Create Cells Related to Geometry
; Example: Wire Creation
; In Short
The topology is a building set for limiting the space. Vertex bound edges, which bound
faces, which bound volumes. How to map these topological entities to geometric entities
in order to limit the geometric space?
; a CATMacroPoint corresponds to the geometric support of a vertex,
; a CATEdgeCurve corresponds to the geometric support of an edge,
; a CATSurface corresponds to the geometric support of a face. 拓扑结构限制的空间设置一个建设。顶点约束边缘；这必然面临着；它装订成册。如何映射的拓扑实体的
A CATEdgeCurve Represents CATCurves
Consider the intersection curve of two surfaces. From the topological point of view, its geometry is represented by a CATEdgeCurve. From a geometric point of view, this curve may be seen as a curve on the first surface or as a curve on the second surface. Hence, a CATEdgeCurve is the geometric representation of the topological edge, which may be seen under several representations.
When the curve is not the result of an intersection, the CATEdgeCurve may contain CATCurves that are not CATPCurves.
A CATMacroPoint Represents CATPoints
Consider now the intersection point of two CATEdgeCurves. From the topological point of view, its geometry is represented by a CATMacroPoint. From a geometric point of view, this point may be seen as a point on the first edge curve (called CATPointOnEdgeCurve or POEC) or as a POEC on the second edge curve.
Hence, a CATMacroPoint is the geometric representation of the topological vertex, which may be seen under several representations.
When the curve is not the result of an intersection, the CATMacroPoint may contain CATPoints that are not CATPointOnEdgeCurves.
The Cell Geometry Depends on What It Bounds
Here is detailed the precise rules of the geometry-topology relations, according to the type of domains that a cell bounds.
What Is Related to a Volume
The geometric entity corresponding to a volume is the whole space, which is the same for all volumes. It is the reason why we do not have to precise it.
What Is Related to a Face
The geometric entity corresponding to a face is a CATSurface.
What Is Related to an Edge
The geometric entity corresponding to an edge is a CATEdgeCurve. Imagine you want to use this CATEdgeCurve as geometry for the topology. Depending on how the edge is used to border (or not) a cell of higher dimension, the CATEdgeCurve will represent different types of curve.
; The edge will only border a face: the edge curve represents (at least) a
; The edge will border several faces: the edge curve represents (at least) as many
CATPCurves as there are faces bounded by this edge.
; The edge belongs to a CATWire: the edge curve represents any type of
What Is Related to a Vertex
The geometric entity corresponding to a vertex is a CATMacroPoint. Imagine you want to use this CATMacroPoint as geometry for the topology. Depending on how the vertex is used to border (or not) a cell of higher dimension, this CATMacroPoint will represent different types of points.
; If the vertex will border an edge: the macro point represents (at least) a POEC
corresponding to this limit of the edge.
; If the vertex will border several edges: the macro point represents (at least) as
many POECs as there are edges bounded by this vertex.
; If the vertex will be drowned in a face (it will belong to a CATVertexInFace
domain): the macro point represents (at least) a CATPointOnSurface. Note that
for the moment, the CATVertexInFace also directly refers to the
CATPointOnSurface, but this will be removed.
; If the vertex will be drowned in a volume (it will belong to a CATPointInVolume
domain): the macro-point represents (at least) any type of CATPoints.
The following diagrams summarize the different configurations between the geometry and the topology.
Fig. 1: Geomery associated with topology: the case of the Shell domain
Fig. 2: Geomery associated with topology: the case of the Wire and VertexInVolume
Main Steps to Create Cells Related to Geometry
We suppose in all these examples that a CATGeoFactory and a CATBody have been already created. These examples only detail the cell construction. You must then create
the domain (Lump, Shell, Wire, VertexInVolume) containing the cells and add it to the body to complete it. For code examples, see.
Main Steps to Create a Vertex
1. From a geometric point, eventually create a POEC or CATPointOnSurface, and
relate it to a CATMacroPoint.
2. Create the CATVertex and associate it with the macro-point.
Main Steps to Create an Edge
1. From a CATCurve, eventually create a CATPCurve, and relate it to a
2. Determine two parameters on the curve. Create the POECs and relate them to a
3. Create the vertices (CATVertex) and associate them with their corresponding
4. Create the edges, associate them with their CATEdgeCurves and border them
with their vertices.
Note: A CATEdgeCurve cannot be directly created. Only its derived types (CATSimCurve, CATIntCurve, CATMergedCurve can be instantiated). For determining the choice of one of these objects, see About Edge Curves.
Main Steps to Create a Face
1. Follows the steps of the preceding section to create the vertices and the edges.
The edges must be associated with CATEdgeCurves containing CATPCurves.
2. Create a CATLoop.
3. Create a CATFace, associate it with its CATSurface and border it by the edges,
building up the loop.
Main Steps to Create a Volume
1. Follows the steps of the preceding section to create the vertices, edges and
2. Create a CATShell.
3. Create a CATVolume and border it by the faces, building up the shell.
Example: Wire Creation
This section details step by step the creation of a Wire containing one edge.
1. Geometry Creation
2. CATCartesianPoint *
Point1=factory->CreateCartesianPoint(0,0,0); 3. CATCartesianPoint *
CATLine * Line =factory->CreateLine(Point1,Point2);
4. CATEdgeCurve Creation
CATSimCurve * SimCurve
5. CATPointOnEdgeCurve and CATMacroPoint Creation
6. CATCrvParam Param
7. CATCrvLimit Limit = Line->GetLimits;
9. CATPointOnEdgeCurve *
10. Poec1 =
factory->CreatePointOnEdgeCurve(Line,Param,SimCurve); 11. Limit.GetHigh(Param);
12. CATPointOnEdgeCurve *
13. Poec2 =
factory->CreatePointOnEdgeCurve(Line,Param,SimCurve); 14. CATMacroPoint Macro1= factory->CreateMacroPoint(); 15. Macro1->Append(Poec1);
16. CATMacroPoint Macro2= factory->CreateMacroPoint();
17. Vertex Creation; Association with the Geometry
18. CATVertex * Vertex1=body->CreateVertex();
20. CATVertex * Vertex2=body->CreateVertex();
21. CATEdge Creation, Association with the Geometry, Boundary Definition.
22. CATEdge * Edge= body->CreateEdge();
25. Wire Creation.
26. Append the Edge into the Wire.
27. Append the Wire into the Body.
Note: This was detailed for explaining all the capabilities of the topological objects. You can use operators such as CATWireOperator or CATSkinOperator to directly create domains from geometry.
; A CATMacroPoint is the geometry of a CATVertex. It can represent different
types of points depending on what type of domains it bounds. In peculiar, a
CATVertex bounding a CATEdge is related to a CATMacroPoint representing a
; A CATEdgeCurve is the geometry of a CATEdge. It can represent different types
of curves depending on what type of domains it bounds. In peculiar, a CATEdge
bounding a CATFace (resp. CATWire) is related to a CATEdgeCurve representing
a CATPCurve (resp. CATCurve).
; Topological operators allow you to easily create domains.
 The CGM Objects
 Topology Concepts
 The CGM Topological Model
Version: 1 [Mar 2000] Document created
Copyright ? 2000, Dassault Systèmes. All rights reserved.