Public Member Functions | Protected Attributes | List of all members
ion::Scene::CSimpleSceneObject Class Reference

#include <CSimpleSceneObject.h>

Inheritance diagram for ion::Scene::CSimpleSceneObject:
Inheritance graph
[legend]
Collaboration diagram for ion::Scene::CSimpleSceneObject:
Collaboration graph
[legend]

Public Member Functions

 ~CSimpleSceneObject ()
 
virtual void Load (CRenderPass *RenderPass)
 
virtual void Draw (CRenderPass *RenderPass)
 
virtual void SetIndexBuffer (SharedPointer< Graphics::IIndexBuffer > IndexBuffer)
 
virtual void SetVertexBuffer (uint const Index, SharedPointer< Graphics::IVertexBuffer > VertexBuffer)
 
virtual void SetShader (SharedPointer< Graphics::IShader > Shader)
 
virtual void SetTexture (string const &Name, SharedPointer< Graphics::ITexture > Texture)
 
virtual void SetUniform (string const &Name, SharedPointer< Graphics::IUniform > Uniform)
 
virtual void SetFeatureEnabled (Graphics::EDrawFeature const Feature, bool const Enabled)
 
virtual void SetPolygonOffsetAmount (float const Amount)
 
virtual void SetBlendMode (Graphics::EBlendMode const BlendMode)
 
virtual void SetPrimitiveType (Graphics::EPrimitiveType const PrimitiveType)
 
virtual void SetRenderCategory (uint const Category)
 
virtual void SetInstanceCount (uint const InstanceCount)
 
template<typename T >
void SetUniformValue (string const &Name, T const &Value)
 
virtual SSimpleMaterialGetMaterial ()
 
virtual SSimpleMaterial const & GetMaterial () const
 
virtual void SetMaterial (SSimpleMaterial const &Material)
 
- Public Member Functions inherited from ion::Scene::ISceneObject
virtual ~ISceneObject ()
 Destructor. More...
 
virtual bool IsVisible () const
 Check if visible. More...
 
virtual bool IsLoaded (CRenderPass const *RenderPass) const
 Check if loaded. More...
 
virtual void TriggerReload ()
 Trigger a reload at next draw. More...
 
virtual void SetVisible (bool const isVisible)
 Set visibility. More...
 
virtual void SetDebugName (string const &DebugName)
 Debug name mutator. More...
 
virtual string const & GetDebugName () const
 Debug name accessor. More...
 
virtual STransformation3 const & GetTransformation () const
 Transformation accessor. More...
 
virtual void SetTransformation (glm::mat4 const &transformation)
 Transformation mutator. More...
 
virtual void SetTranslation (vec3f const &translation)
 Translation mutator. More...
 
virtual void SetPosition (vec3f const &translation)
 See SetTranslation (duplicate method) More...
 
virtual void SetRotation (vec3f const &rotation)
 Rotation mutator (euler angles) More...
 
virtual void SetRotation (glm::mat4 const &matrix)
 Rotatiom mutator (rotation matrix) More...
 
virtual void SetScale (vec3f const &scale)
 Scale mutator. More...
 
virtual vec3f GetRotation () const
 Rotation acessor (euler angles) More...
 
virtual vec3f GetTranslation () const
 Translation accessor. More...
 
virtual vec3f GetPosition () const
 Position accessor. More...
 
virtual vec3f GetScale () const
 Scale accessor. More...
 
void SetRotationOrder (ERotationOrder const RotationOrder)
 
ERotationOrder GetRotationOrder () const
 
void SetTransformationOrder (ETransformationOrder const TransformationOrder)
 
ETransformationOrder GetTransformationOrder () const
 

Protected Attributes

map< CRenderPass *, SharedPointer< Graphics::IPipelineState > > PipelineStates
 
SharedPointer< Graphics::IShaderShader
 
SharedPointer< Graphics::IIndexBufferIndexBuffer
 
vector< SharedPointer< Graphics::IVertexBuffer > > VertexBuffers
 
SSimpleMaterial Material
 
map< string, SharedPointer< Graphics::ITexture > > Textures
 
map< string, SharedPointer< Graphics::IUniform > > Uniforms
 
map< Graphics::EDrawFeature, bool > DrawFeatures
 
float PolygonOffsetAmount = 1.f
 
Graphics::EBlendMode BlendMode = Graphics::EBlendMode::None
 
Graphics::EPrimitiveType PrimitiveType = Graphics::EPrimitiveType::Triangle
 
uint RenderCategory = 0
 
uint InstanceCount = 1
 
- Protected Attributes inherited from ion::Scene::ISceneObject
STransformation3 Transformation
 
bool Visible = true
 Whether or not to draw this object. More...
 
map< CRenderPass const *, bool > Loaded
 Whether this object has been loaded yet. More...
 
string DebugName = ""
 

Constructor & Destructor Documentation

ion::Scene::CSimpleSceneObject::~CSimpleSceneObject ( )

Member Function Documentation

void ion::Scene::CSimpleSceneObject::Draw ( CRenderPass RenderPass)
virtual
SSimpleMaterial & ion::Scene::CSimpleSceneObject::GetMaterial ( )
virtual
SSimpleMaterial const & ion::Scene::CSimpleSceneObject::GetMaterial ( ) const
virtual
void ion::Scene::CSimpleSceneObject::Load ( CRenderPass RenderPass)
virtual
void ion::Scene::CSimpleSceneObject::SetBlendMode ( Graphics::EBlendMode const  BlendMode)
virtual
void ion::Scene::CSimpleSceneObject::SetFeatureEnabled ( Graphics::EDrawFeature const  Feature,
bool const  Enabled 
)
virtual
void ion::Scene::CSimpleSceneObject::SetIndexBuffer ( SharedPointer< Graphics::IIndexBuffer IndexBuffer)
virtual
void ion::Scene::CSimpleSceneObject::SetInstanceCount ( uint const  InstanceCount)
virtual
void ion::Scene::CSimpleSceneObject::SetMaterial ( SSimpleMaterial const &  Material)
virtual
void ion::Scene::CSimpleSceneObject::SetPolygonOffsetAmount ( float const  Amount)
virtual
void ion::Scene::CSimpleSceneObject::SetPrimitiveType ( Graphics::EPrimitiveType const  PrimitiveType)
virtual
void ion::Scene::CSimpleSceneObject::SetRenderCategory ( uint const  Category)
virtual
void ion::Scene::CSimpleSceneObject::SetShader ( SharedPointer< Graphics::IShader Shader)
virtual
void ion::Scene::CSimpleSceneObject::SetTexture ( string const &  Name,
SharedPointer< Graphics::ITexture Texture 
)
virtual
void ion::Scene::CSimpleSceneObject::SetUniform ( string const &  Name,
SharedPointer< Graphics::IUniform Uniform 
)
virtual
template<typename T >
void ion::Scene::CSimpleSceneObject::SetUniformValue ( string const &  Name,
T const &  Value 
)
inline
void ion::Scene::CSimpleSceneObject::SetVertexBuffer ( uint const  Index,
SharedPointer< Graphics::IVertexBuffer VertexBuffer 
)
virtual

Member Data Documentation

Graphics::EBlendMode ion::Scene::CSimpleSceneObject::BlendMode = Graphics::EBlendMode::None
protected
map<Graphics::EDrawFeature, bool> ion::Scene::CSimpleSceneObject::DrawFeatures
protected
SharedPointer<Graphics::IIndexBuffer> ion::Scene::CSimpleSceneObject::IndexBuffer
protected
uint ion::Scene::CSimpleSceneObject::InstanceCount = 1
protected
SSimpleMaterial ion::Scene::CSimpleSceneObject::Material
protected
map<CRenderPass *, SharedPointer<Graphics::IPipelineState> > ion::Scene::CSimpleSceneObject::PipelineStates
protected
float ion::Scene::CSimpleSceneObject::PolygonOffsetAmount = 1.f
protected
Graphics::EPrimitiveType ion::Scene::CSimpleSceneObject::PrimitiveType = Graphics::EPrimitiveType::Triangle
protected
uint ion::Scene::CSimpleSceneObject::RenderCategory = 0
protected
SharedPointer<Graphics::IShader> ion::Scene::CSimpleSceneObject::Shader
protected
map<string, SharedPointer<Graphics::ITexture> > ion::Scene::CSimpleSceneObject::Textures
protected
map<string, SharedPointer<Graphics::IUniform> > ion::Scene::CSimpleSceneObject::Uniforms
protected
vector<SharedPointer<Graphics::IVertexBuffer> > ion::Scene::CSimpleSceneObject::VertexBuffers
protected

The documentation for this class was generated from the following files: