: Public abstract Interface
Created: |
23.5.2022 18.05.05 |
Modified: |
1.8.2022 13.54.04 |
|
Project: |
|
Author: |
Marko Kauppi |
Version: |
|
Phase: |
|
Status: |
Proposed |
Complexity: |
Easy |
Difficulty: |
|
Priority: |
|
Multiplicity: |
|
Advanced: |
|
UUID: |
{52776BAF-19D9-4239-AA8F-A38AD26D06C0} |
Appears In: |
Figure 18 — Solid, Figure 15 — Orientable Primitive, Figure 14 — Point, Figure 13 — Geometry Primitives, Figure 10 — Geometry root object, Figure 20 — Geometric Complex, Figure 32 — Solid, Figure 35 — Relation between geometry and topology, Figure 38 — Topology Object, Complex and Primitive, Fig 02.02: Geometry Class Hieararchy, Fig 06: GeometryObject, Polygon, Geometry Solids, GeometryComplex, Requirements Class Geometry, SF Fig Geometry Interfaces, Context Diagram Primitive, Curve , Primitve Context Diagram, Complex |
Primitive is the abstract root class of the geometric primitives. Its main purpose is to define the basic "boundary" operation that ties the primitives in each dimension together. A geometric primitive (Primitive) is a geometric object that is not decomposed further into other primitives in the system. This includes curves and surfaces, even though they are composed of curve segments and surface patches, respectively. This composition is a strong aggregation: curve segments and surface patches cannot exist outside the context of a primitive.<br/>NOTE Most geometric primitives are decomposable infinitely many times. Adding a center point to a line may split that line into two separate lines. A new curve drawn across a surface may divide that surface into two parts, each of which is a surface. This is the reason that the normal definition of primitive as "non-decomposable" is not plausible in a geometry model - the only non-decomposable object in geometry is a point.<br/>Any geometric object that is used to describe a feature is a collection of geometric primitives. A collection of geometric primitives may or may not be a geometric complex. Geometric complexes have additional properties such as closure by boundary operations and mutually exclusive component parts.<br/>Primitive and Complex share most semantics, in the meaning of operations, attributes and associations. There is an exception in that a Primitive shall not contain its boundary (except in the trivial case of Point where the boundary is empty), while a GM_Complex shall contain its boundary in all cases. This means that if an instantiated object implements Geometric Object operations both as GM_Primitive and as a Geometric Complex, the semantics of each set theoretic operation is determined by the its name resolution. Specifically, for a particular object such as Composite Curve, Primitive::contains (returns FALSE for end points) is different from Complex::contains (returns TRUE for end points). Further, if that object is cast as a Geometry Primitive value and as a GM_Complex value, then the two values need not be equal as GM_Objects.<br/>
- Associations To
- Associations From
- Constraints
- Advanced
- Other Links
Element |
Source Role |
Target Role |
Primitive
Interface
|
Name:
|
Name: segment
|
 Details:
|
Complex
Interface
|
Name: element
|
Name:
|
 Details:
|
Primitive
Interface
|
Name: geometry
|
Name: topology
|
 Details:
|
Element |
Source Role |
Target Role |
Primitive
Interface
|
Name:
|
Name: segment
|
 Details:
|
Constraint |
Type |
Status |
Point->segment is Empty |
Invariant |
Approved |
 Details:
|
typeOf(Curve->segment)=Curve |
Invariant |
Approved |
 Details:
|
typeOf(Surface->segment)=Surface |
Invariant |
Approved |
 Details:
|
typeOf(Solid>segment)=Solid |
Invariant |
Approved |
 Details:
|
Property |
Value |
isFinalSpecialization: |
0 |