Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members |
00001 // Copyright 2006-2011 by Kat'Oun 00002 00003 #ifndef _RENDERABLE_H_ 00004 #define _RENDERABLE_H_ 00005 00006 #include <EngineConfig.h> 00007 #include <core/Types.h> 00008 #include <core/Matrix4.h> 00009 #include <core/Aabox3d.h> 00010 #include <core/Sphere3d.h> 00011 #include <render/RenderableDefines.h> 00012 #include <render/RenderOperation.h> 00013 #include <scene/Node.h> 00014 00015 #include <string> 00016 00017 namespace render 00018 { 00019 00020 class Material; 00021 00023 class ENGINE_PUBLIC_EXPORT Renderable: public scene::Node 00024 { 00025 public: 00026 00027 Renderable(); 00028 Renderable(const std::string& name); 00029 00030 virtual ~Renderable(); 00031 00033 const RenderableType& getRenderableType() const; 00034 00035 virtual Material* getMaterial() const; 00036 00037 virtual void getRenderOperation(RenderOperation& ro); 00038 00039 const core::matrix4& getWorldMatrix(); 00040 00041 const core::aabox3d& getBoundingBox(); 00042 00043 const core::sphere3d& getBoundingSphere(); 00044 00045 protected: 00046 00047 // Incremented count for next Index 00048 static u32 msNextGeneratedRenderableIndex; 00049 00050 void initProperties(); 00051 00052 RenderableType mRenderableType; 00053 00054 // world matrix 00055 core::matrix4 mWorldMatrix; 00056 00058 core::aabox3d mBoundingBox; 00059 00061 core::sphere3d mBoundingSphere; 00062 }; 00063 00064 } //namespace render 00065 00066 #endif
The KG Game Engine
Documentation © 2006-2011 by Kat'Oun. Generated on Sat Jul 2 2011 00:50:04 by
Doxygen
(1.7.4)
|