Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/opencascade/HLRBRep_ShapeBounds.hxx was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // Created on: 1997-04-17
0002 // Created by: Christophe MARION
0003 // Copyright (c) 1997-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016 
0017 #ifndef _HLRBRep_ShapeBounds_HeaderFile
0018 #define _HLRBRep_ShapeBounds_HeaderFile
0019 
0020 #include <HLRAlgo_EdgesBlock.hxx>
0021 
0022 #include <Standard.hxx>
0023 #include <Standard_DefineAlloc.hxx>
0024 #include <Standard_Handle.hxx>
0025 
0026 #include <Standard_Integer.hxx>
0027 class HLRTopoBRep_OutLiner;
0028 
0029 //! Contains  a Shape and the  bounds of its vertices,
0030 //! edges and faces in the DataStructure.
0031 class HLRBRep_ShapeBounds
0032 {
0033 public:
0034   DEFINE_STANDARD_ALLOC
0035 
0036   HLRBRep_ShapeBounds();
0037 
0038   Standard_EXPORT HLRBRep_ShapeBounds(const Handle(HLRTopoBRep_OutLiner)& S,
0039                                       const Handle(Standard_Transient)&   SData,
0040                                       const Standard_Integer              nbIso,
0041                                       const Standard_Integer              V1,
0042                                       const Standard_Integer              V2,
0043                                       const Standard_Integer              E1,
0044                                       const Standard_Integer              E2,
0045                                       const Standard_Integer              F1,
0046                                       const Standard_Integer              F2);
0047 
0048   Standard_EXPORT HLRBRep_ShapeBounds(const Handle(HLRTopoBRep_OutLiner)& S,
0049                                       const Standard_Integer              nbIso,
0050                                       const Standard_Integer              V1,
0051                                       const Standard_Integer              V2,
0052                                       const Standard_Integer              E1,
0053                                       const Standard_Integer              E2,
0054                                       const Standard_Integer              F1,
0055                                       const Standard_Integer              F2);
0056 
0057   Standard_EXPORT void Translate(const Standard_Integer NV,
0058                                  const Standard_Integer NE,
0059                                  const Standard_Integer NF);
0060 
0061   void Shape(const Handle(HLRTopoBRep_OutLiner)& S);
0062 
0063   const Handle(HLRTopoBRep_OutLiner)& Shape() const;
0064 
0065   void ShapeData(const Handle(Standard_Transient)& SD);
0066 
0067   const Handle(Standard_Transient)& ShapeData() const;
0068 
0069   void NbOfIso(const Standard_Integer nbIso);
0070 
0071   Standard_Integer NbOfIso() const;
0072 
0073   Standard_EXPORT void Sizes(Standard_Integer& NV,
0074                              Standard_Integer& NE,
0075                              Standard_Integer& NF) const;
0076 
0077   Standard_EXPORT void Bounds(Standard_Integer& V1,
0078                               Standard_Integer& V2,
0079                               Standard_Integer& E1,
0080                               Standard_Integer& E2,
0081                               Standard_Integer& F1,
0082                               Standard_Integer& F2) const;
0083 
0084   void UpdateMinMax(const HLRAlgo_EdgesBlock::MinMaxIndices& theTotMinMax)
0085   {
0086     myMinMax = theTotMinMax;
0087   }
0088 
0089   HLRAlgo_EdgesBlock::MinMaxIndices& MinMax() { return myMinMax; }
0090 
0091 protected:
0092 private:
0093   Handle(HLRTopoBRep_OutLiner)      myShape;
0094   Handle(Standard_Transient)        myShapeData;
0095   Standard_Integer                  myNbIso;
0096   Standard_Integer                  myVertStart;
0097   Standard_Integer                  myVertEnd;
0098   Standard_Integer                  myEdgeStart;
0099   Standard_Integer                  myEdgeEnd;
0100   Standard_Integer                  myFaceStart;
0101   Standard_Integer                  myFaceEnd;
0102   HLRAlgo_EdgesBlock::MinMaxIndices myMinMax;
0103 };
0104 
0105 #include <HLRBRep_ShapeBounds.lxx>
0106 
0107 #endif // _HLRBRep_ShapeBounds_HeaderFile