Salome HOME
Join modifications from BR_Dev_For_4_0 tag V4_1_1.
[modules/geom.git] / src / NMTDS / NMTDS_ShapesDataStructure.cdl
1 -- Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 -- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
3 -- 
4 -- This library is free software; you can redistribute it and/or
5 -- modify it under the terms of the GNU Lesser General Public
6 -- License as published by the Free Software Foundation; either 
7 -- version 2.1 of the License.
8 -- 
9 -- This library is distributed in the hope that it will be useful 
10 -- but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 -- Lesser General Public License for more details.
13 --
14 -- You should have received a copy of the GNU Lesser General Public  
15 -- License along with this library; if not, write to the Free Software 
16 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 --
18 -- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 --  
20 -- File:        NMTDS_ShapesDataStructure.cdl
21 -- Created:     Mon Dec  1 10:17:05 2003
22 -- Author:      Peter KURNEV
23 --              <pkv@irinox>
24
25 class ShapesDataStructure from NMTDS  
26     inherits ShapesDataStructure from BooleanOperations  
27
28         ---Purpose: 
29
30 uses  
31     Box from Bnd,
32     IndexedMapOfInteger from TColStd,
33     Shape from TopoDS, 
34     IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations,
35     CArray1OfIndexRange from NMTDS, 
36     IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger from NMTDS
37 --raises
38
39 is 
40     Create 
41         returns ShapesDataStructure from NMTDS; 
42          
43     SetCompositeShape(me:out; 
44             aS:Shape from TopoDS);   
45          
46     Init(me:out);
47      
48     Ranges(me) 
49         returns CArray1OfIndexRange from NMTDS; 
50     ---C++: return const & 
51      
52     CompositeShape(me) 
53         returns Shape from TopoDS; 
54     ---C++: return const &  
55      
56     ShapeRangeIndex(me; 
57         aId:Integer from Standard) 
58         returns  Integer from Standard;
59      
60     Rank (me; 
61           anIndex:Integer from Standard) 
62           returns Integer from Standard    
63         is redefined;                   
64          
65     ShapeIndex  (me;  
66             aS:Shape from TopoDS; 
67             iRank:Integer from Standard) 
68         returns Integer from Standard  
69         is redefined;   
70
71 -- Modified to Add new methods Thu Sep 14 14:35:18 2006 
72 -- Contribution of Samtech www.samcef.com BEGIN 
73     FillMap (me;  
74             aS  :Shape from TopoDS; 
75             aMSA: out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations;  
76             aMS : out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations);  
77      
78     FillSubshapes (me;  
79             aS  :Shape from TopoDS; 
80             aMSA:out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations;  
81             aMS :out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations); 
82 -- Contribution of Samtech www.samcef.com END 
83
84     GetAllSuccessors(me; 
85         anIndex:Integer from Standard; 
86         aScrs  :out IndexedMapOfInteger from TColStd);   
87
88     ComputeBoxEx(me; 
89         anIndex:Integer from Standard; 
90         aBox:out Box from Bnd);   
91
92 fields
93     myCompositeShape:  Shape from TopoDS is protected; 
94     myRanges        :  CArray1OfIndexRange from NMTDS is protected; 
95     myShapeIndexMap :  IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger from NMTDS is protected;  
96      
97 end ShapesDataStructure;
98