Test for 0022778: Bug in BRepMesh
[occt.git] / src / BooleanOperations / BooleanOperations_AncestorsAndSuccessors.cdl
1 -- Created on: 2000-07-10
2 -- Created by: Vincent DELOS
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 AncestorsAndSuccessors from BooleanOperations 
23
24         ---Purpose:   provides all the ancestors   and successors of a
25         --          given  shape. Exemple : for  an edge the ancestors
26         --          are the wires that hold it  and the successors are
27         --          its vertices.
28
29 uses
30     Orientation from TopAbs,
31     SequenceOfInteger from TColStd,
32     AncestorsSeqAndSuccessorsSeq from BooleanOperations
33     
34 is
35
36     Create returns AncestorsAndSuccessors from BooleanOperations;
37       
38     Create (AncSuccessors: AncestorsSeqAndSuccessorsSeq; shift: Integer) returns AncestorsAndSuccessors from BooleanOperations;
39     ---Purpose: allocates space and fills it with the data of AncSuccessors.
40     
41     Destroy(me:in out);
42     ---C++: alias ~
43         
44     
45     Dump (me);
46     ---Purpose: to display the fields.
47
48     
49     --------------------
50     -- INLINE METHODS --
51     --------------------
52
53     GetAncestor (me; AncestorIndex: Integer) returns Integer;
54     ---C++: inline    
55     SetAncestor (me:in out; AncestorIndex,AncestorNumber: Integer);
56     ---C++: inline
57     GetAncestors(me; theArrayOfAncestors:out Address;AncestorsNumber:out Integer);
58     ---C++: inline    
59     
60     GetSuccessor (me; SuccessorIndex: Integer) returns Integer;
61     ---C++: inline    
62     SetSuccessor (me:in out; SuccessorIndex,SuccessorNumber: Integer);
63     ---C++: inline
64     GetSuccessors(me; theArrayOfSuccessors:out Address; SuccessorsNumber:out Integer);
65     ---C++: inline    
66
67     GetOrientation (me; OrientationIndex: Integer) returns Orientation;
68     ---C++: inline    
69     SetOrientation (me:in out; OrientationIndex: Integer; anOrientation: Orientation from TopAbs);
70     ---C++: inline
71     GetOrientations(me; theArrayOfOrientations:out Address;OrientationsNumber:out Integer);
72     ---C++: inline    
73
74     NumberOfAncestors  (me) returns Integer;
75     ---C++: inline
76     NumberOfSuccessors (me) returns Integer;
77     ---C++: inline
78
79
80 fields
81
82 myAncestors: Address;
83 ---Purpose: the array containing all the ancestors of our given shape.
84
85 mySuccessors: Address;
86 ---Purpose: the array containing all the successors.
87
88 myOrientations: Address;
89 ---Purpose: the array containing all the orientation of the successors.
90
91 myAncestorsSize : Integer;
92 ---Purpose: the number of ancestors.
93
94 mySuccessorsSize: Integer;
95 ---Purpose: the number of successors.
96
97 end AncestorsAndSuccessors;