0023024: Update headers of OCCT files
[occt.git] / src / BOPTools / BOPTools_SSInterference.cdl
1 -- Created on: 2000-11-21
2 -- Created by: Peter KURNEV
3 -- Copyright (c) 2000-2012 OPEN CASCADE SAS
4 --
5 -- The content of this file is subject to the Open CASCADE Technology Public
6 -- License Version 6.5 (the "License"). You may not use the content of this file
7 -- except in compliance with the License. Please obtain a copy of the License
8 -- at http://www.opencascade.org and read it completely before using this file.
9 --
10 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 --
13 -- The Original Code and all software distributed under the License is
14 -- distributed on an "AS IS" basis, without warranty of any kind, and the
15 -- Initial Developer hereby disclaims all such warranties, including without
16 -- limitation, any warranties of merchantability, fitness for a particular
17 -- purpose or non-infringement. Please see the License for the specific terms
18 -- and conditions governing the rights and limitations under the License.
19
20
21
22 class SSInterference from BOPTools  
23     inherits ShapeShapeInterference from BOPTools 
24
25         ---Purpose: class for storing a Face/Face interference     
26         ---         Each  F/F interference  contains  information  about 
27         ---         1.  myPBs   - PaveBlocks (made from edges from the faces  
28         ---             that are IN-2D or ON-2D;    
29         ---         2.  myCurves- Sequence of curves of intersection;      
30         ---         3.  myTangentFacesFlag  - The BOOL flag indicates that  
31         ---             the  faces are SD in terms of the F/F Intersector.     
32         ---         4.  mySenseFlag  - value that is equal +1 or -1 depending 
33         ---             on scalar product between normals to each face.  This      
34         ---             valie is valid for the SDF only.        
35         ---         5.  myAlonePnts  - contains 3D-points that are place 
36         ---             of  intersection between the two faces    
37         ---         6.  myAloneVertices   - contains indices of vertices  
38         ---             that correspond to the points  myAlonePnts; 
39         ---
40
41 uses   
42
43     PaveBlock        from BOPTools, 
44     PaveSet          from BOPTools,
45     ListOfPaveBlock  from BOPTools, 
46     SequenceOfCurves from BOPTools, 
47     IndexedDataMapOfIntegerState from BOPTools, 
48
49     SequenceOfCurves      from IntTools,  
50     SequenceOfPntOn2Faces from IntTools, 
51
52     ListOfInteger from  TColStd    
53     --
54 is 
55     Create  
56         returns  SSInterference from BOPTools; 
57         ---Purpose:  
58         --- Empty constructor  
59         ---
60     Create  (anIndex1: Integer  from Standard;
61              anIndex2: Integer  from Standard; 
62              aTolR3D : Real from Standard; 
63              aTolR2D : Real from Standard; 
64              aCurves : SequenceOfCurves from IntTools; 
65              aPnts   : SequenceOfPntOn2Faces from IntTools)     
66         returns SSInterference from BOPTools;  
67         ---Purpose:   
68         --- Constructor 
69         --- anIndex1,  
70         --- anIndex2 see BOPTools_ShapeShapeInterference for details     
71         --- aTolR3D  - value of tolerance to reach in 3D-space      
72         --- aTolR2D  - value of tolerance to reach in 2D-space      
73         --- aCurves  see  IntTools_Curve  for details,  please 
74         ---
75     AppendBlock(me:out;   
76                 aPB:PaveBlock from BOPTools);      
77         ---Purpose:  
78         --- Modifier 
79         ---
80     PaveBlocks(me) 
81         returns ListOfPaveBlock from BOPTools; 
82         ---C++:  return const & 
83         ---Purpose:  
84         --- Selector  
85         ---
86     NewPaveSet(me:out) 
87         returns PaveSet from BOPTools; 
88         ---C++:  return &        
89         ---Purpose:  
90         --- Selector  
91         ---
92     TolR3D  (me) 
93         returns Real from Standard;            
94         ---Purpose:  
95         --- Selector  
96         ---
97     TolR2D  (me) 
98         returns Real from Standard;
99         ---Purpose:  
100         --- Selector  
101         ---
102     Curves(me:out) 
103         returns SequenceOfCurves from BOPTools; 
104         ---C++:  return &   
105         ---Purpose:  
106         --- Selector  
107         ---
108     SetTangentFacesFlag(me:out; 
109             aFlag:Boolean from Standard); 
110         ---Purpose:  
111         --- Modifier  
112         ---
113     IsTangentFaces(me) 
114         returns Boolean from Standard; 
115         ---Purpose:  
116         --- Selector  
117         ---
118     SetSenseFlag (me:out;  
119         aFlag:Integer from Standard);      
120         ---Purpose:  
121         --- Modifier  
122         ---
123     SenseFlag (me)  
124         returns Integer from Standard;   
125         ---Purpose:  
126         --- Selector  
127         ---
128     SetStatesMap(me:out; 
129         aStatesMap:  IndexedDataMapOfIntegerState from BOPTools); 
130         ---Purpose: 
131         --- Modifier  
132         ---
133     StatesMap(me)  
134         returns  IndexedDataMapOfIntegerState from BOPTools;  
135         ---C++:  return const &         
136         ---Purpose: 
137         --- Selector  
138         ---
139     SetAlonePnts(me:out;  
140         aPnts:SequenceOfPntOn2Faces from IntTools); 
141         ---Purpose:  
142         --- Modifier  
143         ---
144     AlonePnts(me) 
145         returns SequenceOfPntOn2Faces from IntTools; 
146         ---C++:  return const &          
147         ---Purpose:  
148         --- Selector
149         ---
150     AloneVertices(me:out) 
151         returns ListOfInteger from  TColStd; 
152         ---C++:  return &  
153         ---Purpose:  
154         --- Selector 
155         ---  
156     --modified by NIZNHY-PKV Fri Jun 30 10:05:36 2006f  
157     SetSharedEdges(me:out;       
158             aLS:ListOfInteger from TColStd); 
159         ---Purpose:  
160         --- Modifier  
161         ---    
162     SharedEdges(me)      
163         returns ListOfInteger from TColStd;  
164         ---C++:  return const &  
165         ---Purpose:  
166         --- Selector 
167         ---      
168     --modified by NIZNHY-PKV Fri Jun 30 10:05:41 2006t 
169      
170 fields
171     
172     myPBs         : ListOfPaveBlock from BOPTools is protected;  
173     myNewPaveSet  : PaveSet from BOPTools is protected;
174     myTolR3D      : Real from Standard is protected; 
175     myTolR2D      : Real from Standard is protected; 
176      
177     myCurves           : SequenceOfCurves from BOPTools is protected;  
178     myAlonePnts        : SequenceOfPntOn2Faces from IntTools is protected; 
179     myAloneVertices    : ListOfInteger from  TColStd is protected; 
180
181     myTangentFacesFlag : Boolean from Standard is protected; 
182     mySenseFlag        : Integer from Standard is protected;         
183     myStatesMap        : IndexedDataMapOfIntegerState from BOPTools is protected;
184 --modified by NIZNHY-PKV Fri Jun 30 10:02:27 2006f   
185     mySharedEdges      : ListOfInteger from TColStd is protected;   
186 --modified by NIZNHY-PKV Fri Jun 30 10:02:34 2006     
187 end SSInterference;