0024171: Eliminate CLang compiler warning -Wreorder
[occt.git] / src / OpenGl / OpenGl_Caps.hxx
CommitLineData
58655684 1// Created on: 2013-08-25
2// Created by: Kirill GAVRILOV
3// Copyright (c) 2013 OPEN CASCADE SAS
4//
5// The content of this file is subject to the Open CASCADE Technology Public
6// License Version 6.5 (the "License"). You may not use the content of this file
7// except in compliance with the License. Please obtain a copy of the License
8// at http://www.opencascade.org and read it completely before using this file.
9//
10// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12//
13// The Original Code and all software distributed under the License is
14// distributed on an "AS IS" basis, without warranty of any kind, and the
15// Initial Developer hereby disclaims all such warranties, including without
16// limitation, any warranties of merchantability, fitness for a particular
17// purpose or non-infringement. Please see the License for the specific terms
18// and conditions governing the rights and limitations under the License.
19
20#ifndef _OpenGl_Caps_H__
21#define _OpenGl_Caps_H__
22
23#include <Standard_DefineHandle.hxx>
24#include <Standard_Transient.hxx>
25#include <Handle_Standard_Transient.hxx>
26
27//! Class to define graphich driver capabilities.
28//! Notice that these options will be ignored if particular functionality does not provided by GL driver
29class OpenGl_Caps : public Standard_Transient
30{
31
32public: //! @name flags to disable particular functionality
33
a577aaab 34 Standard_Boolean vboDisable; //!< flag permits VBO usage, will significantly affect performance (OFF by default)
35 Standard_Boolean pntSpritesDisable; //!< flag permits Point Sprites usage, will significantly affect performance (OFF by default)
58655684 36
37public: //! @name context creation parameters
38
39 Standard_Boolean contextDebug; //!< request debug GL context (requires support in OpenGL driver), useful for debugging of visualization code (OFF by default, currently implemented only fow Windows)
40
41public: //! @name class methods
42
43 //! Default constructor - initialize with most optimal values.
44 Standard_EXPORT OpenGl_Caps();
45
46 //! Destructor.
47 Standard_EXPORT virtual ~OpenGl_Caps();
48
49 //! Copy maker.
50 Standard_EXPORT OpenGl_Caps& operator= (const OpenGl_Caps& theCopy);
51
52private:
53
54 //! Not implemented
55 OpenGl_Caps (const OpenGl_Caps& );
56
57public:
58
59 DEFINE_STANDARD_RTTI(OpenGl_Caps) // Type definition
60
61};
62
63DEFINE_STANDARD_HANDLE(OpenGl_Caps, Standard_Transient)
64
65#endif // _OpenGl_Caps_H__