Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members
E:/Programming/MyProject/K_Game_hg/GameEngine/include/render/Renderable.h
Go to the documentation of this file.
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
The KG Game Engine Documentation © 2006-2011 by Kat'Oun. Generated on Sat Jul 2 2011 00:50:04 by Doxygen (1.7.4)