0021762: Integration of new Boolean Operation algorithm to OCCT.
[occt.git] / src / BOPDS / BOPDS_CoupleOfPaveBlocks.hxx
CommitLineData
4e57c75e 1// Created by: Peter KURNEV
2// Copyright (c) 1999-2012 OPEN CASCADE SAS
3//
4// The content of this file is subject to the Open CASCADE Technology Public
5// License Version 6.5 (the "License"). You may not use the content of this file
6// except in compliance with the License. Please obtain a copy of the License
7// at http://www.opencascade.org and read it completely before using this file.
8//
9// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11//
12// The Original Code and all software distributed under the License is
13// distributed on an "AS IS" basis, without warranty of any kind, and the
14// Initial Developer hereby disclaims all such warranties, including without
15// limitation, any warranties of merchantability, fitness for a particular
16// purpose or non-infringement. Please see the License for the specific terms
17// and conditions governing the rights and limitations under the License.
18
19
20#ifndef BOPDS_CoupleOfPaveBlocks_HeaderFile
21#define BOPDS_CoupleOfPaveBlocks_HeaderFile
22
23#include <BOPDS_PaveBlock.hxx>
24
25/**
26 * The Class BOPDS_CoupleOfPaveBlocks is to store
27 * the information about two pave blocks
28 * and some satellite information
29 *
30*/
31//=======================================================================
32//class : BOPDS_CoupleOfPaveBlocks
33//purpose :
34//=======================================================================
35class BOPDS_CoupleOfPaveBlocks {
36 public:
37 /**
38 * Constructor
39 */
40 BOPDS_CoupleOfPaveBlocks() {
41 myIndex=-1;
42 myIndexInterf=-1;
43 };
44 //
45 /**
46 * Constructor
47 * @param thePB1
48 * first pave block
49 * @param thePB2
50 * secondt pave block
51 */
52 BOPDS_CoupleOfPaveBlocks(const Handle(BOPDS_PaveBlock)& thePB1,
53 const Handle(BOPDS_PaveBlock)& thePB2) {
54 myIndex=-1;
55 myIndexInterf=-1;
56 SetPaveBlocks(thePB1, thePB2);
57 };
58 //
59 /**
60 * Destructor
61 */
62 ~BOPDS_CoupleOfPaveBlocks() {
63 };
64 //
65 /**
66 * Sets an index
67 * @param theIndex
68 * index
69 */
70 void SetIndex(const Standard_Integer theIndex) {
71 myIndex=theIndex;
72 }
73 //
74 /**
75 * Returns the index
76 * @return
77 * index
78 */
79 Standard_Integer Index()const {
80 return myIndex;
81 }
82 //
83 /**
84 * Sets an index of an interference
85 * @param theIndex
86 * index of an interference
87 */
88 void SetIndexInterf(const Standard_Integer theIndex) {
89 myIndexInterf=theIndex;
90 }
91 //
92 /**
93 * Returns the index of an interference
94 * @return
95 * index of an interference
96 */
97 Standard_Integer IndexInterf()const {
98 return myIndexInterf;
99 }
100 //
101 /**
102 * Sets pave blocks
103 * @param thePB1
104 * first pave block
105 * @param thePB2
106 * secondt pave block
107 */
108 void SetPaveBlocks(const Handle(BOPDS_PaveBlock)& thePB1,
109 const Handle(BOPDS_PaveBlock)& thePB2) {
110 myPB[0]=thePB1;
111 myPB[1]=thePB2;
112 }
113 //
114 /**
115 * Returns pave blocks
116 * @param thePB1
117 * the first pave block
118 * @param thePB2
119 * the second pave block
120 */
121 void PaveBlocks(Handle(BOPDS_PaveBlock)& thePB1,
122 Handle(BOPDS_PaveBlock)& thePB2) const {
123 thePB1=myPB[0];
124 thePB2=myPB[1];
125 }
126 //
127 /**
128 * Sets the first pave block
129 * @param thePB
130 * the first pave block
131 */
132 void SetPaveBlock1(const Handle(BOPDS_PaveBlock)& thePB) {
133 myPB[0]=thePB;
134 }
135 /**
136 * Returns the first pave block
137 * @return
138 * the first pave block
139 */
140 const Handle(BOPDS_PaveBlock)& PaveBlock1()const {
141 return myPB[0];
142 }
143 //
144 /**
145 * Sets the second pave block
146 * @param thePB
147 * the second pave block
148 */
149 void SetPaveBlock2(const Handle(BOPDS_PaveBlock)& thePB) {
150 myPB[1]=thePB;
151 }
152 //
153 /**
154 * Returns the second pave block
155 * @return
156 * the second pave block
157 */
158 const Handle(BOPDS_PaveBlock)& PaveBlock2()const {
159 return myPB[1];
160 }
161 //
162 protected:
163 Standard_Integer myIndexInterf;
164 Standard_Integer myIndex;
165 Handle(BOPDS_PaveBlock) myPB[2];
166};
167//
168#endif