2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 * @file FUiEffects_RendererEngineModelCamera.h
20 * @brief Camera class defines onscreen projection of 3D data
24 #ifndef _FUI_EFFECTS_INTERNAL_RENDERER_ENGINE_MODEL_CAMERA_H_
25 #define _FUI_EFFECTS_INTERNAL_RENDERER_ENGINE_MODEL_CAMERA_H_
27 #include <renderer/engine-model/FUiEffects_RendererEngineModelForwardDeclaration.h>
28 #include <renderer/engine-model/FUiEffects_RendererEngineModelVisitor.h>
29 #include <renderer/engine-model/FUiEffects_RendererEngineModelNode.h>
30 #include <renderer/engine-model/FUiEffects_RendererEngineModelFrustum.h>
34 namespace Tizen { namespace Ui { namespace Effects { namespace _Renderer { namespace EngineModel
41 virtual ~Camera(void);
43 virtual void Visit(Visitor& v);
45 virtual const Math::Matrix4f& GetProj(void);
46 virtual void SetProj(const Math::Matrix4f& arg);
47 virtual void SetLocal(const Math::Matrix4f& arg);
48 virtual void SetWorld(const Math::Matrix4f& arg);
50 virtual void SetViewport(const Math::Vector2f& minPos, const Math::Vector2f& maxPos);
51 virtual const Math::Vector2f& GetViewportMin(void);
52 virtual const Math::Vector2f& GetViewportMax(void);
54 virtual void SetClearColor(const Math::Vector4f& color);
55 virtual const Math::Vector4f& GetClearColor(void);
57 virtual bool AttachedToParent(Group* pParent);
58 virtual bool RemoveFromParent(Group* pParent);
59 virtual void ParentMoved(Group* pParent);
61 virtual const Frustum& GetFrustum(void);
64 virtual void ValidateFrustum(void);
66 Math::Vector4f _clearColor;
67 Math::Vector2f _minPos;
68 Math::Vector2f _maxPos;
69 Attribute<Tizen::Ui::Effects::_Renderer::Math::Matrix4f> _proj;
70 Attribute<Frustum> _frustum;
73 }}}}} //Tizen::Ui::Effects::_Renderer::EngineModel
75 #endif //_FUI_EFFECTS_INTERNAL_RENDERER_ENGINE_MODEL_CAMERA_H_