49e627565986e2190deed01c910c9ceb084ba34f
[occt.git] / TopOpeBRepDS_Transition.cdl
1 -- File:        TopOpeBRepDS_Transition.cdl
2 -- Created:     Thu May 26 17:35:11 1994
3 -- Author:      Jean Yves LEBEY
4 --              <jyl@fuegox>
5 ---Copyright:    Matra Datavision 1994
6
7 class Transition from TopOpeBRepDS 
8
9 uses
10
11     State from TopAbs,
12     Orientation from TopAbs,
13     ShapeEnum from TopAbs,
14     OStream from Standard
15
16 is
17
18     Create returns Transition from TopOpeBRepDS;
19
20     Create(StateBefore,StateAfter : State from TopAbs;
21            ShapeBefore : ShapeEnum from TopAbs = TopAbs_FACE;
22            ShapeAfter  : ShapeEnum from TopAbs = TopAbs_FACE) 
23     returns Transition from TopOpeBRepDS;
24
25     Create(O : Orientation from TopAbs)
26     returns Transition from TopOpeBRepDS;
27
28     Set(me : in out; 
29         StateBefore, StateAfter : State from TopAbs;
30         ShapeBefore : ShapeEnum from TopAbs = TopAbs_FACE;
31         ShapeAfter  : ShapeEnum from TopAbs = TopAbs_FACE);
32
33     StateBefore(me : in out; S : State from TopAbs);
34     StateAfter(me : in out; S : State from TopAbs);
35     ShapeBefore(me : in out; SE : ShapeEnum from TopAbs);
36     ShapeAfter(me : in out; SE : ShapeEnum from TopAbs);
37     Before(me : in out; S : State from TopAbs;ShapeBefore : ShapeEnum from TopAbs = TopAbs_FACE);
38     After(me : in out; S : State from TopAbs;ShapeAfter : ShapeEnum from TopAbs = TopAbs_FACE);
39
40     Index(me : in out; I : Integer);
41     IndexBefore(me : in out; I : Integer);
42     IndexAfter(me : in out; I : Integer);
43
44     Before(me) returns State from TopAbs;
45     ONBefore(me) returns ShapeEnum from TopAbs;
46     After(me) returns State from TopAbs;
47     ONAfter(me) returns ShapeEnum from TopAbs;
48     ShapeBefore(me) returns ShapeEnum from TopAbs;
49     ShapeAfter(me) returns ShapeEnum from TopAbs;
50     Index(me) returns Integer; -- index of ShapeBefore (may be null)
51     IndexBefore(me) returns Integer; -- index of ShapeBefore (may be null)
52     IndexAfter(me) returns Integer;  -- index of ShapeAfter (may be null)
53
54     Set(me : in out; O : Orientation from TopAbs);
55     ---Purpose: set the transition corresponding to orientation <O>
56     --
57     --       O       Before  After
58     --       
59     --   FORWARD       OUT    IN 
60     --   REVERSED      IN     OUT
61     --   INTERNAL      IN     IN
62     --   EXTERNAL      OUT    OUT
63     -- 
64
65     Orientation(me; S : State from TopAbs;
66                     T : ShapeEnum from TopAbs = TopAbs_FACE) 
67
68     ---Purpose: returns the orientation corresponding to state <S> 
69     -- 
70     -- Before and After not equal TopAbs_ON :
71     -- --------------------------------------                   
72     -- Before  After   Computed orientation
73     -- 
74     --  S      not S   REVERSED (we leave state S)
75     --  not S  S       FORWARD  (we enter state S)
76     --  S      S       INTERNAL (we stay in state S)
77     --  not S  not S   EXTERNAL (we stay outside state S)
78     returns Orientation from TopAbs;
79
80     OrientationON(me; S : State from TopAbs;
81                       T : ShapeEnum from TopAbs) 
82
83     ---Purpose: returns the orientation corresponding to state <S> 
84     --          (if one at least of the internal states is ON)
85     returns Orientation from TopAbs
86     is static private;
87
88     Complement(me) returns Transition from TopOpeBRepDS;
89
90     IsUnknown(me) returns Boolean from Standard;
91     ---Purpose: returns True if both states are UNKNOWN
92     
93     DumpA(me; OS : in out OStream from Standard) returns OStream; 
94     ---C++: return &
95
96     DumpB(me; OS : in out OStream from Standard) returns OStream;
97     ---C++: return &
98
99     Dump(me; OS : in out OStream from Standard) returns OStream;    
100     ---C++: return &
101         
102 fields
103
104     myStateBefore, myStateAfter : State from TopAbs;
105     myShapeBefore, myShapeAfter : ShapeEnum from TopAbs;
106     myIndexBefore, myIndexAfter : Integer from Standard;
107     
108 end Transition from TopOpeBRepDS;