Warnings on vc14 were eliminated
[occt.git] / src / HLRBRep / HLRBRep_ShapeBounds.hxx
CommitLineData
42cf5bc1 1// Created on: 1997-04-17
2// Created by: Christophe MARION
3// Copyright (c) 1997-1999 Matra Datavision
4// Copyright (c) 1999-2014 OPEN CASCADE SAS
5//
6// This file is part of Open CASCADE Technology software library.
7//
8// This library is free software; you can redistribute it and/or modify it under
9// the terms of the GNU Lesser General Public License version 2.1 as published
10// by the Free Software Foundation, with special exception defined in the file
11// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12// distribution for complete text of the license and disclaimer of any warranty.
13//
14// Alternatively, this file may be used under the terms of Open CASCADE
15// commercial license or contractual agreement.
16
17#ifndef _HLRBRep_ShapeBounds_HeaderFile
18#define _HLRBRep_ShapeBounds_HeaderFile
19
681f3919 20#include <HLRAlgo_EdgesBlock.hxx>
21
42cf5bc1 22#include <Standard.hxx>
23#include <Standard_DefineAlloc.hxx>
24#include <Standard_Handle.hxx>
25
26#include <Standard_Integer.hxx>
42cf5bc1 27class HLRTopoBRep_OutLiner;
28class MMgt_TShared;
29
30
31//! Contains a Shape and the bounds of its vertices,
32//! edges and faces in the DataStructure.
33class HLRBRep_ShapeBounds
34{
35public:
36
37 DEFINE_STANDARD_ALLOC
38
39
40 HLRBRep_ShapeBounds();
41
42 Standard_EXPORT HLRBRep_ShapeBounds(const Handle(HLRTopoBRep_OutLiner)& S, const Handle(MMgt_TShared)& SData, const Standard_Integer nbIso, const Standard_Integer V1, const Standard_Integer V2, const Standard_Integer E1, const Standard_Integer E2, const Standard_Integer F1, const Standard_Integer F2);
43
44 Standard_EXPORT HLRBRep_ShapeBounds(const Handle(HLRTopoBRep_OutLiner)& S, const Standard_Integer nbIso, const Standard_Integer V1, const Standard_Integer V2, const Standard_Integer E1, const Standard_Integer E2, const Standard_Integer F1, const Standard_Integer F2);
45
46 Standard_EXPORT void Translate (const Standard_Integer NV, const Standard_Integer NE, const Standard_Integer NF);
47
48 void Shape (const Handle(HLRTopoBRep_OutLiner)& S);
49
50 const Handle(HLRTopoBRep_OutLiner)& Shape() const;
51
52 void ShapeData (const Handle(MMgt_TShared)& SD);
53
54 const Handle(MMgt_TShared)& ShapeData() const;
55
56 void NbOfIso (const Standard_Integer nbIso);
57
58 Standard_Integer NbOfIso() const;
59
60 Standard_EXPORT void Sizes (Standard_Integer& NV, Standard_Integer& NE, Standard_Integer& NF) const;
61
62 Standard_EXPORT void Bounds (Standard_Integer& V1, Standard_Integer& V2, Standard_Integer& E1, Standard_Integer& E2, Standard_Integer& F1, Standard_Integer& F2) const;
63
681f3919 64 void UpdateMinMax (const HLRAlgo_EdgesBlock::MinMaxIndices& theTotMinMax)
65 {
66 myMinMax = theTotMinMax;
67 }
42cf5bc1 68
681f3919 69 HLRAlgo_EdgesBlock::MinMaxIndices& MinMax()
70 {
71 return myMinMax;
72 }
42cf5bc1 73
74
75
76
77protected:
78
79
80
81
82
83private:
84
85
86
87 Handle(HLRTopoBRep_OutLiner) myShape;
88 Handle(MMgt_TShared) myShapeData;
89 Standard_Integer myNbIso;
90 Standard_Integer myVertStart;
91 Standard_Integer myVertEnd;
92 Standard_Integer myEdgeStart;
93 Standard_Integer myEdgeEnd;
94 Standard_Integer myFaceStart;
95 Standard_Integer myFaceEnd;
681f3919 96 HLRAlgo_EdgesBlock::MinMaxIndices myMinMax;
42cf5bc1 97
98
99};
100
101
102#include <HLRBRep_ShapeBounds.lxx>
103
104
105
106
107
108#endif // _HLRBRep_ShapeBounds_HeaderFile