0026377: Passing Handle objects as arguments to functions as non-const reference...
[occt.git] / src / BOPDS / BOPDS_CoupleOfPaveBlocks.hxx
CommitLineData
4e57c75e 1// Created by: Peter KURNEV
973c2be1 2// Copyright (c) 1999-2014 OPEN CASCADE SAS
4e57c75e 3//
973c2be1 4// This file is part of Open CASCADE Technology software library.
4e57c75e 5//
d5f74e42 6// This library is free software; you can redistribute it and/or modify it under
7// the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 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.
4e57c75e 11//
973c2be1 12// Alternatively, this file may be used under the terms of Open CASCADE
13// commercial license or contractual agreement.
4e57c75e 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//=======================================================================
30class BOPDS_CoupleOfPaveBlocks {
31 public:
32 /**
33 * Constructor
34 */
3510db62 35 BOPDS_CoupleOfPaveBlocks() :
36 myIndexInterf(-1),
37 myIndex(-1),
38 myTolerance(0)
39 {}
4e57c75e 40 //
41 /**
42 * Constructor
43 * @param thePB1
44 * first pave block
45 * @param thePB2
46 * secondt pave block
47 */
48 BOPDS_CoupleOfPaveBlocks(const Handle(BOPDS_PaveBlock)& thePB1,
3510db62 49 const Handle(BOPDS_PaveBlock)& thePB2) :
50 myIndexInterf(-1),
51 myIndex(-1),
52 myTolerance(0)
53 {
4e57c75e 54 SetPaveBlocks(thePB1, thePB2);
5640d653 55 }
4e57c75e 56 //
57 /**
58 * Destructor
59 */
60 ~BOPDS_CoupleOfPaveBlocks() {
5640d653 61 }
4e57c75e 62 //
63 /**
64 * Sets an index
65 * @param theIndex
66 * index
67 */
68 void SetIndex(const Standard_Integer theIndex) {
69 myIndex=theIndex;
70 }
71 //
72 /**
73 * Returns the index
74 * @return
75 * index
76 */
77 Standard_Integer Index()const {
78 return myIndex;
79 }
80 //
81 /**
82 * Sets an index of an interference
83 * @param theIndex
84 * index of an interference
85 */
86 void SetIndexInterf(const Standard_Integer theIndex) {
87 myIndexInterf=theIndex;
88 }
89 //
90 /**
91 * Returns the index of an interference
92 * @return
93 * index of an interference
94 */
95 Standard_Integer IndexInterf()const {
96 return myIndexInterf;
97 }
98 //
99 /**
100 * Sets pave blocks
101 * @param thePB1
102 * first pave block
103 * @param thePB2
104 * secondt pave block
105 */
106 void SetPaveBlocks(const Handle(BOPDS_PaveBlock)& thePB1,
107 const Handle(BOPDS_PaveBlock)& thePB2) {
108 myPB[0]=thePB1;
109 myPB[1]=thePB2;
110 }
111 //
112 /**
113 * Returns pave blocks
114 * @param thePB1
115 * the first pave block
116 * @param thePB2
117 * the second pave block
118 */
119 void PaveBlocks(Handle(BOPDS_PaveBlock)& thePB1,
120 Handle(BOPDS_PaveBlock)& thePB2) const {
121 thePB1=myPB[0];
122 thePB2=myPB[1];
123 }
124 //
125 /**
126 * Sets the first pave block
127 * @param thePB
128 * the first pave block
129 */
130 void SetPaveBlock1(const Handle(BOPDS_PaveBlock)& thePB) {
131 myPB[0]=thePB;
132 }
133 /**
134 * Returns the first pave block
135 * @return
136 * the first pave block
137 */
138 const Handle(BOPDS_PaveBlock)& PaveBlock1()const {
139 return myPB[0];
140 }
141 //
142 /**
143 * Sets the second pave block
144 * @param thePB
145 * the second pave block
146 */
147 void SetPaveBlock2(const Handle(BOPDS_PaveBlock)& thePB) {
148 myPB[1]=thePB;
149 }
150 //
151 /**
152 * Returns the second pave block
153 * @return
154 * the second pave block
155 */
156 const Handle(BOPDS_PaveBlock)& PaveBlock2()const {
157 return myPB[1];
158 }
3510db62 159
160 /**
161 * Sets the tolerance associated with this couple
162 */
163 void SetTolerance(const Standard_Real theTol) {
164 myTolerance = theTol;
165 }
4e57c75e 166 //
3510db62 167 /**
168 * Returns the tolerance associated with this couple
169 */
170 Standard_Real Tolerance()const {
171 return myTolerance;
172 }
173
4e57c75e 174 protected:
175 Standard_Integer myIndexInterf;
176 Standard_Integer myIndex;
177 Handle(BOPDS_PaveBlock) myPB[2];
3510db62 178 Standard_Real myTolerance;
4e57c75e 179};
180//
181#endif