Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/opencascade/BOPDS_Curve.lxx is written in an unsupported language. File is not indexed.

0001 // Created by: Peter KURNEV
0002 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0003 //
0004 // This file is part of Open CASCADE Technology software library.
0005 //
0006 // This library is free software; you can redistribute it and/or modify it under
0007 // the terms of the GNU Lesser General Public License version 2.1 as published
0008 // by the Free Software Foundation, with special exception defined in the file
0009 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0010 // distribution for complete text of the license and disclaimer of any warranty.
0011 //
0012 // Alternatively, this file may be used under the terms of Open CASCADE
0013 // commercial license or contractual agreement.
0014 
0015 #include <BOPDS_PaveBlock.hxx>
0016 
0017 //=======================================================================
0018 //function : 
0019 //purpose  : 
0020 //=======================================================================
0021   inline BOPDS_Curve::BOPDS_Curve()
0022 :
0023   myAllocator(NCollection_BaseAllocator::CommonBaseAllocator()),
0024   myPaveBlocks(myAllocator),
0025   myTechnoVertices(myAllocator),
0026   myTolerance(0.)
0027 {
0028 }
0029 //=======================================================================
0030 //function : 
0031 //purpose  : 
0032 //=======================================================================
0033   inline BOPDS_Curve::BOPDS_Curve(const Handle(NCollection_BaseAllocator)& theAllocator)
0034 :
0035   myAllocator(theAllocator),
0036   myPaveBlocks(myAllocator),
0037   myTechnoVertices(myAllocator),
0038   myTolerance(0.)
0039 {
0040 }
0041 //=======================================================================
0042 //function : 
0043 //purpose  : 
0044 //=======================================================================
0045   inline BOPDS_Curve::~BOPDS_Curve()
0046 {
0047 }
0048 //=======================================================================
0049 //function : SetCurve
0050 //purpose  : 
0051 //=======================================================================
0052   inline void BOPDS_Curve::SetCurve(const IntTools_Curve& theCurve)
0053 {
0054   myCurve=theCurve;
0055 }
0056 //=======================================================================
0057 //function : Curve
0058 //purpose  : 
0059 //=======================================================================
0060   inline const IntTools_Curve& BOPDS_Curve::Curve()const
0061 {
0062   return myCurve;
0063 }
0064 //=======================================================================
0065 //function : SetPaveBlocks
0066 //purpose  : 
0067 //=======================================================================
0068   inline void BOPDS_Curve::SetPaveBlocks(const BOPDS_ListOfPaveBlock& theLPB)
0069 {
0070   BOPDS_ListIteratorOfListOfPaveBlock aIt;
0071   //
0072   myPaveBlocks.Clear();
0073   aIt.Initialize(theLPB);
0074   for (; aIt.More(); aIt.Next()) {
0075     myPaveBlocks.Append(aIt.Value());
0076   }
0077 }
0078 //=======================================================================
0079 //function : PaveBlocks
0080 //purpose  : 
0081 //=======================================================================
0082   inline const BOPDS_ListOfPaveBlock& BOPDS_Curve::PaveBlocks()const
0083 {
0084   return myPaveBlocks;
0085 }
0086 //=======================================================================
0087 //function : ChangePaveBlocks
0088 //purpose  : 
0089 //=======================================================================
0090   inline BOPDS_ListOfPaveBlock& BOPDS_Curve::ChangePaveBlocks()
0091 {
0092   return myPaveBlocks;
0093 }
0094 //=======================================================================
0095 //function : InitPaveBlock1
0096 //purpose  : 
0097 //=======================================================================
0098   inline void BOPDS_Curve::InitPaveBlock1()
0099 {
0100   if (!myPaveBlocks.Extent()) {
0101     Handle(BOPDS_PaveBlock) aPB=new BOPDS_PaveBlock;
0102     myPaveBlocks.Append(aPB);
0103   }
0104 }
0105 //=======================================================================
0106 //function : ChangePaveBlock1
0107 //purpose  : 
0108 //=======================================================================
0109   inline Handle(BOPDS_PaveBlock)& BOPDS_Curve::ChangePaveBlock1()
0110 {
0111   Handle(BOPDS_PaveBlock)* pPB=(Handle(BOPDS_PaveBlock)*)&myPaveBlocks.First();
0112   return *pPB;
0113 }
0114 //=======================================================================
0115 //function : TechnoVertices
0116 //purpose  : 
0117 //=======================================================================
0118   inline const TColStd_ListOfInteger& BOPDS_Curve::TechnoVertices()const
0119 {
0120   return myTechnoVertices;
0121 }
0122 //=======================================================================
0123 //function : ChangeTechnoVertices
0124 //purpose  : 
0125 //=======================================================================
0126   inline TColStd_ListOfInteger& BOPDS_Curve::ChangeTechnoVertices()
0127 {
0128   return myTechnoVertices;
0129 }
0130 //=======================================================================
0131 //function : SetBox
0132 //purpose  : 
0133 //=======================================================================
0134   inline void BOPDS_Curve::SetBox(const Bnd_Box& theBox)
0135 {
0136   myBox=theBox;
0137 }
0138 //=======================================================================
0139 //function : Box
0140 //purpose  : 
0141 //=======================================================================
0142   inline const Bnd_Box& BOPDS_Curve::Box()const
0143 {
0144   return myBox;
0145 }
0146 //=======================================================================
0147 //function : ChangeBox
0148 //purpose  : 
0149 //=======================================================================
0150   inline Bnd_Box& BOPDS_Curve::ChangeBox()
0151 {
0152   return myBox;
0153 }
0154 //=======================================================================
0155 //function : HasEdge
0156 //purpose  : 
0157 //=======================================================================
0158   inline Standard_Boolean BOPDS_Curve::HasEdge()const
0159 {
0160   Standard_Boolean bFlag;
0161   BOPDS_ListIteratorOfListOfPaveBlock aItPB;
0162   //
0163   bFlag=Standard_False;
0164   aItPB.Initialize(myPaveBlocks);
0165   for (; aItPB.More(); aItPB.Next()) {
0166     const Handle(BOPDS_PaveBlock)& aPB=aItPB.Value();
0167     bFlag=aPB->HasEdge();
0168     if (bFlag) {
0169       break;
0170     }
0171   }
0172   return bFlag;
0173 }