0024428: Implementation of LGPL license
[occt.git] / src / BOPDS / BOPDS_CoupleOfPaveBlocks.hxx
1 // Created by: Peter KURNEV
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 //
4 // This file is part of Open CASCADE Technology software library.
5 //
6 // This library is free software; you can redistribute it and / or modify it
7 // under the terms of the GNU Lesser General Public version 2.1 as published
8 // by the Free Software Foundation, with special exception defined in the file
9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 // distribution for complete text of the license and disclaimer of any warranty.
11 //
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
14
15 #ifndef BOPDS_CoupleOfPaveBlocks_HeaderFile
16 #define BOPDS_CoupleOfPaveBlocks_HeaderFile
17
18 #include <BOPDS_PaveBlock.hxx>
19
20 /**
21  * The Class BOPDS_CoupleOfPaveBlocks is to store
22  * the information about two pave blocks 
23  * and some satellite information 
24  *
25 */
26 //=======================================================================
27 //class : BOPDS_CoupleOfPaveBlocks
28 //purpose  : 
29 //=======================================================================
30 class BOPDS_CoupleOfPaveBlocks {
31  public:
32   /**
33    * Constructor
34    */
35   BOPDS_CoupleOfPaveBlocks() {
36     myIndex=-1;
37     myIndexInterf=-1;
38   };
39   //
40   /**
41    * Constructor
42    * @param thePB1
43    *  first pave block
44    * @param thePB2
45    *  secondt pave block
46    */
47   BOPDS_CoupleOfPaveBlocks(const Handle(BOPDS_PaveBlock)& thePB1,
48                            const Handle(BOPDS_PaveBlock)& thePB2) {
49     myIndex=-1;
50     myIndexInterf=-1;
51     SetPaveBlocks(thePB1, thePB2);
52   };
53   //
54   /**
55    * Destructor
56    */
57   ~BOPDS_CoupleOfPaveBlocks() {
58   };
59   //
60   /**
61    * Sets an index
62    * @param theIndex
63    *  index
64    */
65   void SetIndex(const Standard_Integer theIndex) {
66     myIndex=theIndex;
67   } 
68   //
69   /**
70    * Returns the index
71    * @return 
72    *   index
73    */
74   Standard_Integer Index()const {
75     return myIndex;
76   } 
77   // 
78   /**
79    * Sets an index of an interference 
80    * @param theIndex
81    *  index of an interference 
82    */ 
83   void SetIndexInterf(const Standard_Integer theIndex) {
84     myIndexInterf=theIndex;
85   } 
86   //
87   /**
88    * Returns the index of an interference 
89    * @return 
90    *   index of an interference 
91    */
92   Standard_Integer IndexInterf()const {
93     return myIndexInterf;
94   } 
95   // 
96   /**
97    * Sets pave blocks
98    * @param thePB1
99    *  first pave block
100    * @param thePB2
101    *  secondt pave block
102    */ 
103   void SetPaveBlocks(const Handle(BOPDS_PaveBlock)& thePB1,
104                      const Handle(BOPDS_PaveBlock)& thePB2) {
105     myPB[0]=thePB1;
106     myPB[1]=thePB2;
107   } 
108   // 
109   /**
110    * Returns pave blocks
111    * @param thePB1
112    *  the first pave block
113    * @param thePB2
114    *  the second pave block
115    */ 
116   void PaveBlocks(Handle(BOPDS_PaveBlock)& thePB1,
117                   Handle(BOPDS_PaveBlock)& thePB2) const {
118     thePB1=myPB[0];
119     thePB2=myPB[1];       
120   }
121   // 
122   /**
123    * Sets the first pave block
124    * @param thePB
125    *  the first pave block
126    */  
127   void SetPaveBlock1(const Handle(BOPDS_PaveBlock)& thePB) {
128     myPB[0]=thePB;
129   } 
130   /**
131    * Returns the first pave block
132    * @return 
133    * the first pave block
134    */  
135   const Handle(BOPDS_PaveBlock)& PaveBlock1()const {
136     return myPB[0];
137   }
138   //
139   /**
140    * Sets the second pave block
141    * @param thePB
142    *  the second pave block
143    */  
144   void SetPaveBlock2(const Handle(BOPDS_PaveBlock)& thePB) {
145     myPB[1]=thePB;
146   } 
147   //
148   /**
149    * Returns the second pave block
150    * @return 
151    * the second pave block
152    */  
153   const Handle(BOPDS_PaveBlock)& PaveBlock2()const {
154     return myPB[1];
155   }
156   //
157  protected:
158   Standard_Integer myIndexInterf;
159   Standard_Integer myIndex;
160   Handle(BOPDS_PaveBlock) myPB[2];
161 };
162 //
163 #endif