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