CViewPanel.h
Go to the documentation of this file.
1 //==============================================================================
2 /*
3  Software License Agreement (BSD License)
4  Copyright (c) 2003-2016, CHAI3D.
5  (www.chai3d.org)
6 
7  All rights reserved.
8 
9  Redistribution and use in source and binary forms, with or without
10  modification, are permitted provided that the following conditions
11  are met:
12 
13  * Redistributions of source code must retain the above copyright
14  notice, this list of conditions and the following disclaimer.
15 
16  * Redistributions in binary form must reproduce the above
17  copyright notice, this list of conditions and the following
18  disclaimer in the documentation and/or other materials provided
19  with the distribution.
20 
21  * Neither the name of CHAI3D nor the names of its contributors may
22  be used to endorse or promote products derived from this software
23  without specific prior written permission.
24 
25  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
28  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
29  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
30  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
31  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
32  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36  POSSIBILITY OF SUCH DAMAGE.
37 
38  \author <http://www.chai3d.org>
39  \author Francois Conti
40  \version 3.2.0 $Rev: 2015 $
41 */
42 //==============================================================================
43 
44 //------------------------------------------------------------------------------
45 #ifndef CViewPanelH
46 #define CViewPanelH
47 //------------------------------------------------------------------------------
48 #include "display/CFrameBuffer.h"
49 #include "widgets/CPanel.h"
50 //------------------------------------------------------------------------------
51 
52 //------------------------------------------------------------------------------
53 namespace chai3d {
54 //------------------------------------------------------------------------------
55 
56 //==============================================================================
63 //==============================================================================
64 
65 //==============================================================================
77 //==============================================================================
78 class cViewPanel : public cPanel
79 {
80  //--------------------------------------------------------------------------
81  // CONSTRUCTOR & DESTRUCTOR:
82  //--------------------------------------------------------------------------
83 
84 public:
85 
87  cViewPanel(cFrameBufferPtr a_frameBuffer);
88 
90  virtual ~cViewPanel();
91 
92 
93  //-----------------------------------------------------------------------
94  // PUBLIC METHODS:
95  //--------------------------------------------------------------------------
96 
97 public:
98 
100  void setFrameBuffer(cFrameBufferPtr a_frameBuffer);
101 
104 
106  virtual cViewPanel* copy(const bool a_duplicateMaterialData = false,
107  const bool a_duplicateTextureData = false,
108  const bool a_duplicateMeshData = false,
109  const bool a_buildCollisionDetector = false);
110 
111 
112  //--------------------------------------------------------------------------
113  // PROTECTED MEMBERS:
114  //--------------------------------------------------------------------------
115 
116 protected:
117 
120 
121  //--------------------------------------------------------------------------
122  // PROTECTED METHODS:
123  //--------------------------------------------------------------------------
124 
125 protected:
126 
129  const bool a_duplicateMaterialData,
130  const bool a_duplicateTextureData,
131  const bool a_duplicateMeshData,
132  const bool a_buildCollisionDetector);
133 };
134 
135 //------------------------------------------------------------------------------
136 } // namespace chai3d
137 //------------------------------------------------------------------------------
138 
139 //------------------------------------------------------------------------------
140 #endif
141 //------------------------------------------------------------------------------
Implements a panel widget.
This class implements a 2D panel widget.
Definition: CPanel.h:80
std::shared_ptr< cFrameBuffer > cFrameBufferPtr
Definition: CFrameBuffer.h:71
This class implements a 2D display panel associated with a framebuffer.
Definition: CViewPanel.h:78
cViewPanel(cFrameBufferPtr a_frameBuffer)
Constructor of cViewPanel.
Definition: CViewPanel.cpp:59
void setFrameBuffer(cFrameBufferPtr a_frameBuffer)
This method assigns a framebuffer to this object.
Definition: CViewPanel.cpp:98
virtual cViewPanel * copy(const bool a_duplicateMaterialData=false, const bool a_duplicateTextureData=false, const bool a_duplicateMeshData=false, const bool a_buildCollisionDetector=false)
This method creates a copy of itself.
Definition: CViewPanel.cpp:123
cFrameBufferPtr m_frameBuffer
Framebuffer.
Definition: CViewPanel.h:119
Implementation of a framebuffer.
virtual ~cViewPanel()
Destructor of cViewPanel.
Definition: CViewPanel.cpp:86
void copyViewPanelProperties(cViewPanel *a_obj, const bool a_duplicateMaterialData, const bool a_duplicateTextureData, const bool a_duplicateMeshData, const bool a_buildCollisionDetector)
This method copies properties of this object to another.
Definition: CViewPanel.cpp:154
cFrameBufferPtr getFrameBuffer()
This method returns a pointer to the current framebuffer.
Definition: CViewPanel.h:103
Definition: CAudioBuffer.cpp:56