0023766: Shape orientation processing mechanism redesign
[occt.git] / src / TNaming / TNaming_Name.cdl
1 -- Created on: 1997-03-19
2 -- Created by: Yves FRICAUD
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21 -- Modified     by  SZY  Wed  Aug  18  1999
22
23
24 class Name from TNaming 
25     
26 uses
27
28     NameType         from TNaming,
29     NamedShape       from TNaming,
30     ListOfNamedShape from TNaming,
31     ShapeEnum        from TopAbs,
32     Orientation      from TopAbs,     
33     Shape            from TopoDS,
34     Label            from TDF, 
35     LabelMap         from TDF,
36     RelocationTable  from TDF 
37
38 is
39
40     ---Category: Construction
41     --           ============
42     
43     Create returns Name from TNaming;
44     
45     Type           (me : in out; aType : NameType  from TNaming);
46     
47     ShapeType      (me : in out; aType : ShapeEnum from TopAbs);
48      
49     Shape          (me : in out; theShape : Shape from TopoDS);
50     
51     Append         (me : in out; arg : NamedShape  from TNaming);
52     
53     StopNamedShape (me : in out; arg : NamedShape  from TNaming);
54     
55     Index          (me : in out; I : Integer   from Standard);  
56      
57     ContextLabel   (me : in out; theLab : Label from TDF);  
58    
59     Orientation    (me : in out; theOrientation : Orientation from TopAbs);
60   
61
62    ---Category: Queriyng
63    --           ========
64
65     Type (me) returns NameType from TNaming;
66     
67     ShapeType (me)  returns ShapeEnum from TopAbs;  
68     
69     Shape     (me)   returns Shape from TopoDS; 
70     
71     Arguments (me) returns ListOfNamedShape from TNaming;
72     ---Purpose: 
73     ---C++: return const&
74
75     StopNamedShape (me) returns NamedShape from TNaming ;
76     
77     Index          (me) returns Integer    from Standard; 
78          
79     ContextLabel   (me) returns Label from TDF;  
80     ---C++: return const&  
81
82     Orientation    (me) returns Orientation from TopAbs;
83     ---C++: inline
84     ---C++: return const
85     
86
87     ---Category: Resolution
88     --           ==========
89     
90     Solve(me; 
91           aLab   : Label        from TDF;
92           Valid  : LabelMap     from TDF)
93     returns Boolean from Standard;                                
94                 
95     Paste (me; 
96            into : in out  Name from TNaming; 
97            RT   : mutable RelocationTable from TDF);
98                 
99 fields
100
101     myType      : NameType         from TNaming;
102     myShapeType : ShapeEnum        from TopAbs; 
103     myArgs      : ListOfNamedShape from TNaming;
104     myStop      : NamedShape       from TNaming;    
105     myIndex     : Integer          from Standard; 
106     myShape     : Shape            from TopoDS;
107     myContextLabel : Label         from TDF;
108     myOrientation  : Orientation   from TopAbs;
109     
110 end Name;