OpenCAX/entry/src/main/cpp/include/opencascade/BOPDS_CoupleOfPaveBlocks.hxx
2026-02-19 19:05:41 +08:00

177 lines
3.9 KiB
C++

// Created by: Peter KURNEV
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef BOPDS_CoupleOfPaveBlocks_HeaderFile
#define BOPDS_CoupleOfPaveBlocks_HeaderFile
#include "BOPDS_PaveBlock.hxx"
/**
* The Class BOPDS_CoupleOfPaveBlocks is to store
* the information about two pave blocks
* and some satellite information
*
*/
//=======================================================================
// class : BOPDS_CoupleOfPaveBlocks
// purpose :
//=======================================================================
class BOPDS_CoupleOfPaveBlocks
{
public:
/**
* Constructor
*/
BOPDS_CoupleOfPaveBlocks()
: myIndexInterf(-1),
myIndex(-1),
myTolerance(0)
{
}
//
/**
* Constructor
* @param thePB1
* first pave block
* @param thePB2
* secondt pave block
*/
BOPDS_CoupleOfPaveBlocks(const Handle(BOPDS_PaveBlock)& thePB1,
const Handle(BOPDS_PaveBlock)& thePB2)
: myIndexInterf(-1),
myIndex(-1),
myTolerance(0)
{
SetPaveBlocks(thePB1, thePB2);
}
//
/**
* Destructor
*/
~BOPDS_CoupleOfPaveBlocks() {}
//
/**
* Sets an index
* @param theIndex
* index
*/
void SetIndex(const Standard_Integer theIndex) { myIndex = theIndex; }
//
/**
* Returns the index
* @return
* index
*/
Standard_Integer Index() const { return myIndex; }
//
/**
* Sets an index of an interference
* @param theIndex
* index of an interference
*/
void SetIndexInterf(const Standard_Integer theIndex) { myIndexInterf = theIndex; }
//
/**
* Returns the index of an interference
* @return
* index of an interference
*/
Standard_Integer IndexInterf() const { return myIndexInterf; }
//
/**
* Sets pave blocks
* @param thePB1
* first pave block
* @param thePB2
* secondt pave block
*/
void SetPaveBlocks(const Handle(BOPDS_PaveBlock)& thePB1, const Handle(BOPDS_PaveBlock)& thePB2)
{
myPB[0] = thePB1;
myPB[1] = thePB2;
}
//
/**
* Returns pave blocks
* @param thePB1
* the first pave block
* @param thePB2
* the second pave block
*/
void PaveBlocks(Handle(BOPDS_PaveBlock)& thePB1, Handle(BOPDS_PaveBlock)& thePB2) const
{
thePB1 = myPB[0];
thePB2 = myPB[1];
}
//
/**
* Sets the first pave block
* @param thePB
* the first pave block
*/
void SetPaveBlock1(const Handle(BOPDS_PaveBlock)& thePB) { myPB[0] = thePB; }
/**
* Returns the first pave block
* @return
* the first pave block
*/
const Handle(BOPDS_PaveBlock)& PaveBlock1() const { return myPB[0]; }
//
/**
* Sets the second pave block
* @param thePB
* the second pave block
*/
void SetPaveBlock2(const Handle(BOPDS_PaveBlock)& thePB) { myPB[1] = thePB; }
//
/**
* Returns the second pave block
* @return
* the second pave block
*/
const Handle(BOPDS_PaveBlock)& PaveBlock2() const { return myPB[1]; }
/**
* Sets the tolerance associated with this couple
*/
void SetTolerance(const Standard_Real theTol) { myTolerance = theTol; }
//
/**
* Returns the tolerance associated with this couple
*/
Standard_Real Tolerance() const { return myTolerance; }
protected:
Standard_Integer myIndexInterf;
Standard_Integer myIndex;
Handle(BOPDS_PaveBlock) myPB[2];
Standard_Real myTolerance;
};
//
#endif