blob: 1241c1fe4ab86fcb93b4c4bda4c9be1a486066b5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
-- File: StepData_Described.cdl
-- Created: Fri May 9 15:17:42 1997
-- Author: Christian CAILLET
-- <cky@heliox.paris1.matra-dtv.fr>
---Copyright: Matra Datavision 1997
deferred class Described from StepData inherits TShared from MMgt
---Purpose : General frame to describe entities with Description (Simple or
-- Complex)
uses CString,
Check from Interface, EntityIterator from Interface,
Field from StepData, EDescr from StepData, Simple from StepData
raises InterfaceMismatch from Interface
is
Initialize (descr : EDescr);
---Purpose : Initializes a Described Entity from a Description
-- (i.e. puts it in a field ...)
Description (me) returns EDescr;
---Purpose : Returns the Description used to define this entity
IsComplex (me) returns Boolean is deferred;
---Purpose : Tells if a described entity is complex
Matches (me; steptype : CString) returns Boolean is deferred;
---Purpose : Tells if a step type is matched by <me>
-- For a Simple Entity : own type or super type
-- For a Complex Entity : one of the members
As (me; steptype : CString) returns mutable Simple is deferred;
---Purpose : Returns a Simple Entity which matches with a Type in <me> :
-- For a Simple Entity : me if it matches, else a null handle
-- For a Complex Entity : the member which matches, else null
HasField (me; name : CString) returns Boolean is deferred;
---Purpose : Tells if a Field brings a given name
Field (me; name : CString) returns Field
---Purpose : Returns a Field from its name; read-only
raises InterfaceMismatch is deferred;
-- raises if no Field for <name>
---C++ : return const &
CField (me : mutable; name : CString) returns Field
---Purpose : Returns a Field from its name; read or write
raises InterfaceMismatch is deferred;
-- raises if no Field for <name>
---C++ : return &
--
Check (me; ach : in out Check from Interface) is deferred;
---Purpose : Fills a Check by using its Description
Shared (me; list : in out EntityIterator from Interface) is deferred;
---Purpose : Fills an EntityIterator with entities shared by <me>
fields
thedescr : EDescr;
end Described;
|