0024070: OpenGL capped object-level clipping planes
[occt.git] / src / Graphic3d / Graphic3d_CView.hxx
CommitLineData
b311480e 1// Copyright (c) 1999-2012 OPEN CASCADE SAS
2//
3// The content of this file is subject to the Open CASCADE Technology Public
4// License Version 6.5 (the "License"). You may not use the content of this file
5// except in compliance with the License. Please obtain a copy of the License
6// at http://www.opencascade.org and read it completely before using this file.
7//
8// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
9// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
10//
11// The Original Code and all software distributed under the License is
12// distributed on an "AS IS" basis, without warranty of any kind, and the
13// Initial Developer hereby disclaims all such warranties, including without
14// limitation, any warranties of merchantability, fitness for a particular
15// purpose or non-infringement. Please see the License for the specific terms
16// and conditions governing the rights and limitations under the License.
17
7fd59977 18#ifndef _Graphic3d_CView_HeaderFile
19#define _Graphic3d_CView_HeaderFile
20
21#include <InterfaceGraphic_Graphic3d.hxx>
22#include <InterfaceGraphic_Visual3d.hxx>
bf75be98 23#include <Handle_Graphic3d_TextureEnv.hxx>
7fd59977 24#include <Standard_Type.hxx>
4269bd1b 25#include <Graphic3d_SetOfHClipPlane.hxx>
bf75be98 26
27class CALL_DEF_VIEWCONTEXT
28{
29
30public:
31
32 CALL_DEF_VIEWCONTEXT()
33 : Aliasing (0),
34 BackZClipping (0),
35 FrontZClipping (0),
36 DepthCueing (0),
37 ZClipFrontPlane (0.0f),
38 ZClipBackPlane (0.0f),
39 DepthFrontPlane (0.0f),
40 DepthBackPlane (0.0f),
41 ZBufferActivity (0),
42 Model (0),
43 Visualization (0),
44 NbActiveLight (0),
45 ActiveLight (NULL),
4269bd1b 46 SurfaceDetail (0),
47 ClipPlanes()
bf75be98 48 {
49 //
50 }
51
52public:
53
54 int Aliasing;
55
56 int BackZClipping;
57 int FrontZClipping;
58
59 int DepthCueing;
60
61 float ZClipFrontPlane;
62 float ZClipBackPlane;
63
64 float DepthFrontPlane;
65 float DepthBackPlane;
66
67 int ZBufferActivity;
68 int Model;
69 int Visualization;
70
71 int NbActiveLight;
72 CALL_DEF_LIGHT* ActiveLight;
73
bf75be98 74 Handle(Graphic3d_TextureEnv) TextureEnv;
75 int SurfaceDetail;
76
4269bd1b 77 Graphic3d_SetOfHClipPlane ClipPlanes;
bf75be98 78};
79
80class Graphic3d_CView
81{
82
83public:
84
85 Graphic3d_CView()
86 : WsId (-1),
87 ViewId (0),
88 ptrView (NULL),
89 IsDeleted (0),
90 IsOpen (0),
91 Active (0),
92 ptrUnderLayer (NULL),
93 ptrOverLayer (NULL),
bf75be98 94 Backfacing (0),
95 GDisplayCB (NULL),
96 GClientData (NULL),
97 ptrFBO (NULL)
98 {
99 //
100 }
101
102public:
103
104 int WsId;
105 int ViewId;
106 void* ptrView;
107
108 int IsDeleted;
109 int IsOpen;
110
111 int Active;
112
113 CALL_DEF_VIEWORIENTATION Orientation;
114 CALL_DEF_VIEWMAPPING Mapping;
115
116 CALL_DEF_VIEWORIENTATION OrientationReset;
117 CALL_DEF_VIEWMAPPING MappingReset;
118
119 CALL_DEF_VIEWCONTEXT Context;
120
121 CALL_DEF_WINDOW DefWindow;
122
123 void* ptrUnderLayer;
124 void* ptrOverLayer;
125
bf75be98 126 int Backfacing;
127
128 Aspect_RenderingContext GContext;
129 Aspect_GraphicCallbackProc GDisplayCB;
130 void* GClientData;
131
132 void* ptrFBO;
133
134};
135
7fd59977 136const Handle(Standard_Type)& TYPE(Graphic3d_CView);
7fd59977 137
bf75be98 138#endif // Graphic3d_CView_HeaderFile