0031682: Visualization - Prs3d_ShadingAspect::SetTransparency() has no effect with...
[occt.git] / src / HLRBRep / HLRBRep_FaceData.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_FaceData_HeaderFile
18#define _HLRBRep_FaceData_HeaderFile
19
20#include <Standard.hxx>
21#include <Standard_DefineAlloc.hxx>
22#include <Standard_Handle.hxx>
23
24#include <Standard_Boolean.hxx>
25#include <HLRBRep_Surface.hxx>
26#include <Standard_Real.hxx>
27#include <Standard_ShortReal.hxx>
28#include <TopAbs_Orientation.hxx>
29#include <Standard_Integer.hxx>
30class HLRAlgo_WiresBlock;
31class TopoDS_Face;
32class HLRBRep_Surface;
33
34
35
36class HLRBRep_FaceData
37{
38public:
39
40 DEFINE_STANDARD_ALLOC
41
42
43 Standard_EXPORT HLRBRep_FaceData();
44
45 //! <Or> is the orientation of the face. <Cl> is true
46 //! if the face belongs to a closed volume. <NW> is
47 //! the number of wires ( or block of edges ) of the
48 //! face.
49 Standard_EXPORT void Set (const TopoDS_Face& FG, const TopAbs_Orientation Or, const Standard_Boolean Cl, const Standard_Integer NW);
50
51 //! Set <NE> the number of edges of the wire number
52 //! <WI>.
53 Standard_EXPORT void SetWire (const Standard_Integer WI, const Standard_Integer NE);
54
55 //! Set the edge number <EWI> of the wire <WI>.
56 Standard_EXPORT void SetWEdge (const Standard_Integer WI, const Standard_Integer EWI, const Standard_Integer EI, const TopAbs_Orientation Or, const Standard_Boolean OutL, const Standard_Boolean Inte, const Standard_Boolean Dble, const Standard_Boolean IsoL);
57
58 Standard_Boolean Selected() const;
59
60 void Selected (const Standard_Boolean B);
61
62 Standard_Boolean Back() const;
63
64 void Back (const Standard_Boolean B);
65
66 Standard_Boolean Side() const;
67
68 void Side (const Standard_Boolean B);
69
70 Standard_Boolean Closed() const;
71
72 void Closed (const Standard_Boolean B);
73
74 Standard_Boolean Hiding() const;
75
76 void Hiding (const Standard_Boolean B);
77
78 Standard_Boolean Simple() const;
79
80 void Simple (const Standard_Boolean B);
81
82 Standard_Boolean Cut() const;
83
84 void Cut (const Standard_Boolean B);
85
86 Standard_Boolean WithOutL() const;
87
88 void WithOutL (const Standard_Boolean B);
89
90 Standard_Boolean Plane() const;
91
92 void Plane (const Standard_Boolean B);
93
94 Standard_Boolean Cylinder() const;
95
96 void Cylinder (const Standard_Boolean B);
97
98 Standard_Boolean Cone() const;
99
100 void Cone (const Standard_Boolean B);
101
102 Standard_Boolean Sphere() const;
103
104 void Sphere (const Standard_Boolean B);
105
106 Standard_Boolean Torus() const;
107
108 void Torus (const Standard_Boolean B);
109
110 Standard_Real Size() const;
111
112 void Size (const Standard_Real S);
113
114 TopAbs_Orientation Orientation() const;
115
116 void Orientation (const TopAbs_Orientation O);
117
118 Handle(HLRAlgo_WiresBlock)& Wires();
119
120 HLRBRep_Surface& Geometry();
121
122 Standard_ShortReal Tolerance() const;
123
42cf5bc1 124protected:
125
dde68833 126 enum EMaskFlags
127 {
128 EMaskOrient = 15,
129 FMaskSelected = 16,
130 FMaskBack = 32,
131 FMaskSide = 64,
132 FMaskClosed = 128,
133 FMaskHiding = 256,
134 FMaskSimple = 512,
135 FMaskCut = 1024,
136 FMaskWithOutL = 2048,
137 FMaskPlane = 4096,
138 FMaskCylinder = 8192,
139 FMaskCone = 16384,
140 FMaskSphere = 32768,
141 FMaskTorus = 65536
142 };
42cf5bc1 143
144private:
145
dde68833 146 Standard_Integer myFlags;
42cf5bc1 147 Handle(HLRAlgo_WiresBlock) myWires;
148 HLRBRep_Surface myGeometry;
149 Standard_Real mySize;
150 Standard_ShortReal myTolerance;
151
42cf5bc1 152};
153
42cf5bc1 154#include <HLRBRep_FaceData.lxx>
155
42cf5bc1 156#endif // _HLRBRep_FaceData_HeaderFile