: 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: 
{52776BAF19D94239AA8FA38AD26D06C0} 
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 "nondecomposable" is not plausible in a geometry model  the only nondecomposable 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 