Test for 0022778: Bug in BRepMesh
[occt.git] / src / BooleanOperations / BooleanOperations_AncestorsAndSuccessors.lxx
1 // Created on: 2000-07-25
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 //function : GetAncestor
23 //purpose  : 
24 //===========================================================================
25 inline  Standard_Integer BooleanOperations_AncestorsAndSuccessors::GetAncestor
26      (const Standard_Integer AncestorIndex) const
27 {
28   Standard_Integer nIndex=((Standard_Integer*)myAncestors)[AncestorIndex-1];
29   return nIndex;
30 }
31
32 //===========================================================================
33 //function : GetAncestors
34 //purpose  : returns the array of ancestors.
35 //===========================================================================
36   inline void BooleanOperations_AncestorsAndSuccessors::GetAncestors
37     (Standard_Address& theArrayOfAncestors,
38      Standard_Integer& AncestorsNumber) const
39 {
40   theArrayOfAncestors = (Standard_Integer*)myAncestors;
41   AncestorsNumber = myAncestorsSize;
42 }
43
44 //===========================================================================
45 //function : SetAncestor
46 //purpose  : 
47 //===========================================================================
48   inline  void BooleanOperations_AncestorsAndSuccessors::SetAncestor
49     (const Standard_Integer AncestorIndex,
50      const Standard_Integer AncestorNumber) 
51 {
52   ((Standard_Integer*)myAncestors)[AncestorIndex-1] = AncestorNumber;
53 }
54
55 //===========================================================================
56 //function : GetSuccessor
57 //purpose  : 
58 //===========================================================================
59   inline Standard_Integer BooleanOperations_AncestorsAndSuccessors::GetSuccessor
60     (const Standard_Integer SuccessorIndex) const
61 {
62   Standard_Integer nIndex=((Standard_Integer*)mySuccessors)[SuccessorIndex-1];
63   return nIndex;
64 }
65
66 //===========================================================================
67 //function : GetSuccessors
68 //purpose  : 
69 //===========================================================================
70   inline  void BooleanOperations_AncestorsAndSuccessors::GetSuccessors
71     (Standard_Address& theArrayOfSuccessors,
72      Standard_Integer& SuccessorsNumber) const
73 {
74   SuccessorsNumber = mySuccessorsSize;
75   theArrayOfSuccessors = (Standard_Integer*)mySuccessors;
76 }
77
78 //===========================================================================
79 //function : SetSuccessor
80 //purpose  : 
81 //===========================================================================
82   inline  void BooleanOperations_AncestorsAndSuccessors::SetSuccessor
83     (const Standard_Integer SuccessorIndex,
84      const Standard_Integer SuccessorNumber) 
85 {
86   ((Standard_Integer*)mySuccessors)[SuccessorIndex-1] = SuccessorNumber;
87 }
88
89 //===========================================================================
90 //function : NumberOfAncestors
91 //purpose  : returns the number of ancestors
92 //===========================================================================
93   inline  Standard_Integer BooleanOperations_AncestorsAndSuccessors::NumberOfAncestors() const
94 {
95   return myAncestorsSize;
96 }
97
98 //===========================================================================
99 //function : NumberOfSuccessors
100 //purpose  : returns the number of successors
101 //===========================================================================
102   inline  Standard_Integer BooleanOperations_AncestorsAndSuccessors::NumberOfSuccessors() const
103 {
104   return mySuccessorsSize;
105 }
106
107 //===========================================================================
108 //function : GetOrientation
109 //purpose  : 
110 //===========================================================================
111   inline TopAbs_Orientation  BooleanOperations_AncestorsAndSuccessors::GetOrientation(const Standard_Integer OrientationIndex) const
112 {
113   return ((TopAbs_Orientation*)myOrientations)[OrientationIndex-1];
114 }
115
116 //===========================================================================
117 //function : GetOrientations
118 //purpose  : returns the array of orientations.
119 //===========================================================================
120   inline void  BooleanOperations_AncestorsAndSuccessors::GetOrientations
121     (Standard_Address& theArrayOfOrientations,
122      Standard_Integer& OrientationsNumber) const
123 {
124   OrientationsNumber = mySuccessorsSize;
125   theArrayOfOrientations = (TopAbs_Orientation*)myOrientations;
126 }
127
128
129 //===========================================================================
130 //function : SetOrientation
131 //purpose  : 
132 //===========================================================================
133   inline  void BooleanOperations_AncestorsAndSuccessors::SetOrientation
134     (const Standard_Integer OrientationIndex,
135      const TopAbs_Orientation OrientationNumber) 
136 {
137   ((TopAbs_Orientation*)myOrientations)[OrientationIndex-1] = OrientationNumber;
138 }