VisualizationComponent.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: Visualization
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2011, Ceetron AS
8 // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Ceetron AS. The contents of this file may
9 // not be disclosed to third parties, copied or duplicated in any form, in whole or in part,
10 // without the prior written permission of Ceetron AS.
11 //##################################################################################################
12 
13 #pragma once
14 
15 #include "CeeVisualization/Base.h"
16 #include "CeeCore/Instance.h"
17 #include "CeeCore/PtrRef.h"
18 #include "CeeVisualization/OpenGLContextGroup.h"
19 
20 #include <string>
21 
22 namespace cvf {
23 class OpenGLFunctions;
24 }
25 
26 namespace cee {
27 
28 namespace vis {
29 
30 class View;
31 class OpenGLFunctionsBackend;
32 
33 
34 //==================================================================================================
35 //
36 // Static class for Visualization component
37 //
38 //==================================================================================================
39 class CEE_VIS_EXPORT VisualizationComponent
40 {
41 public:
42  static bool initialize(Instance* instance);
43  static bool isInitialized();
44  static bool isNoLicense();
45 
46  static unsigned int version();
47  static Str versionString();
48 
49  static PtrRef<OpenGLContextGroup> createOpenGLContextGroup();
50  static PtrRef<OpenGLContextGroup> createOpenGLContextGroup(OpenGLFunctionsBackend* functionsBackend);
51 
52 public:
53  static PtrRef<OpenGLContextGroup> internal_createOpenGLContextGroupUsingCvfOpenGLFunctions(cvf::OpenGLFunctions* cvfOpenGLFunctions);
54  static PtrRef<OpenGLContextGroup> internal_createOpenGLContextGroupLimitedToFixedFunction();
55 
56 private:
58  CEE_DISALLOW_COPY_AND_ASSIGN(VisualizationComponent);
59 };
60 
61 } // namespace vis
62 } // namespace cee
Definition: LogEvent.h:19
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
A general unicode based string class.
Definition: Str.h:28
Smart pointer class used for handling reference counted objects (that derive from Object)...
Definition: PtrRef.h:26
Ceetron Desktop Components instance object.
Definition: Instance.h:28
Static class for initialization of the Visualization component.
Definition: VisualizationComponent.h:39