(SceneNode) Added virtual constructor idiom
(Light) Added default constructor Former-commit-id: 591e6a8435d2cea6238e70c0058d381b8d547f3e
This commit is contained in:
parent
1f043b61df
commit
cf12552358
|
|
@ -18,12 +18,15 @@ struct NzLightUniforms;
|
||||||
class NAZARA_API NzLight : public NzSceneNode
|
class NAZARA_API NzLight : public NzSceneNode
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NzLight(nzLightType type);
|
NzLight(nzLightType type = nzLightType_Point);
|
||||||
NzLight(const NzLight& light);
|
NzLight(const NzLight& light);
|
||||||
~NzLight() = default;
|
~NzLight() = default;
|
||||||
|
|
||||||
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const override;
|
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const override;
|
||||||
|
|
||||||
|
NzLight* Clone() const;
|
||||||
|
NzLight* Create() const;
|
||||||
|
|
||||||
void Enable(const NzShader* shader, const NzLightUniforms& uniforms, int offset = 0) const;
|
void Enable(const NzShader* shader, const NzLightUniforms& uniforms, int offset = 0) const;
|
||||||
|
|
||||||
float GetAmbientFactor() const;
|
float GetAmbientFactor() const;
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,9 @@ class NAZARA_API NzModel : public NzSceneNode
|
||||||
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const override;
|
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const override;
|
||||||
void AdvanceAnimation(float elapsedTime);
|
void AdvanceAnimation(float elapsedTime);
|
||||||
|
|
||||||
|
NzModel* Clone() const;
|
||||||
|
NzModel* Create() const;
|
||||||
|
|
||||||
void EnableAnimation(bool animation);
|
void EnableAnimation(bool animation);
|
||||||
|
|
||||||
NzAnimation* GetAnimation() const;
|
NzAnimation* GetAnimation() const;
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,10 @@ class NAZARA_API NzSceneNode : public NzNode
|
||||||
|
|
||||||
virtual void AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const = 0;
|
virtual void AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const = 0;
|
||||||
|
|
||||||
|
// Idiôme "virtual constructor"
|
||||||
|
virtual NzSceneNode* Clone() const = 0;
|
||||||
|
virtual NzSceneNode* Create() const = 0;
|
||||||
|
|
||||||
void EnableDrawing(bool drawingEnabled);
|
void EnableDrawing(bool drawingEnabled);
|
||||||
|
|
||||||
NzVector3f GetBackward() const;
|
NzVector3f GetBackward() const;
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,9 @@ class NAZARA_API NzSceneRoot : public NzSceneNode
|
||||||
NzSceneRoot(NzScene* scene);
|
NzSceneRoot(NzScene* scene);
|
||||||
virtual ~NzSceneRoot();
|
virtual ~NzSceneRoot();
|
||||||
|
|
||||||
|
NzSceneRoot* Clone() const;
|
||||||
|
NzSceneRoot* Create() const;
|
||||||
|
|
||||||
void MakeBoundingVolume() const override;
|
void MakeBoundingVolume() const override;
|
||||||
void Register();
|
void Register();
|
||||||
void Unregister();
|
void Unregister();
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,9 @@ class NAZARA_API NzSprite : public NzSceneNode
|
||||||
|
|
||||||
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const override;
|
void AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const override;
|
||||||
|
|
||||||
|
NzSprite* Clone() const;
|
||||||
|
NzSprite* Create() const;
|
||||||
|
|
||||||
const NzColor& GetColor() const;
|
const NzColor& GetColor() const;
|
||||||
NzMaterial* GetMaterial() const;
|
NzMaterial* GetMaterial() const;
|
||||||
nzSceneNodeType GetSceneNodeType() const override;
|
nzSceneNodeType GetSceneNodeType() const override;
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,9 @@ class NAZARA_API NzTextSprite : public NzSceneNode, NzAbstractAtlas::Listener
|
||||||
|
|
||||||
void Clear();
|
void Clear();
|
||||||
|
|
||||||
|
NzTextSprite* Clone() const;
|
||||||
|
NzTextSprite* Create() const;
|
||||||
|
|
||||||
const NzColor& GetColor() const;
|
const NzColor& GetColor() const;
|
||||||
NzMaterial* GetMaterial() const;
|
NzMaterial* GetMaterial() const;
|
||||||
nzSceneNodeType GetSceneNodeType() const override;
|
nzSceneNodeType GetSceneNodeType() const override;
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,16 @@ void NzLight::AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const
|
||||||
renderQueue->AddLight(this);
|
renderQueue->AddLight(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NzLight* NzLight::Clone() const
|
||||||
|
{
|
||||||
|
return new NzLight(*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
NzLight* NzLight::Create() const
|
||||||
|
{
|
||||||
|
return new NzLight;
|
||||||
|
}
|
||||||
|
|
||||||
void NzLight::Enable(const NzShader* shader, const NzLightUniforms& uniforms, int offset) const
|
void NzLight::Enable(const NzShader* shader, const NzLightUniforms& uniforms, int offset) const
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,16 @@ void NzModel::AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NzModel* NzModel::Clone() const
|
||||||
|
{
|
||||||
|
return new NzModel(*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
NzModel* NzModel::Create() const
|
||||||
|
{
|
||||||
|
return new NzModel;
|
||||||
|
}
|
||||||
|
|
||||||
NzMaterial* NzModel::GetMaterial(const NzString& subMeshName) const
|
NzMaterial* NzModel::GetMaterial(const NzString& subMeshName) const
|
||||||
{
|
{
|
||||||
#if NAZARA_GRAPHICS_SAFE
|
#if NAZARA_GRAPHICS_SAFE
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,18 @@ bool NzSceneRoot::IsDrawable() const
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NzSceneRoot* NzSceneRoot::Clone() const
|
||||||
|
{
|
||||||
|
NazaraInternalError("SceneNode::Clone() called on SceneRoot");
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
NzSceneRoot* NzSceneRoot::Create() const
|
||||||
|
{
|
||||||
|
NazaraInternalError("SceneNode::Create() called on SceneRoot");
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
void NzSceneRoot::MakeBoundingVolume() const
|
void NzSceneRoot::MakeBoundingVolume() const
|
||||||
{
|
{
|
||||||
m_boundingVolume.MakeInfinite();
|
m_boundingVolume.MakeInfinite();
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,16 @@ void NzSprite::AddToRenderQueue(NzAbstractRenderQueue* renderQueue) const
|
||||||
renderQueue->AddSprites(m_material, m_vertices, 1);
|
renderQueue->AddSprites(m_material, m_vertices, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NzSprite* NzSprite::Clone() const
|
||||||
|
{
|
||||||
|
return new NzSprite(*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
NzSprite* NzSprite::Create() const
|
||||||
|
{
|
||||||
|
return new NzSprite;
|
||||||
|
}
|
||||||
|
|
||||||
const NzColor& NzSprite::GetColor() const
|
const NzColor& NzSprite::GetColor() const
|
||||||
{
|
{
|
||||||
return m_color;
|
return m_color;
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,16 @@ void NzTextSprite::Clear()
|
||||||
m_vertices.clear();
|
m_vertices.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NzTextSprite* NzTextSprite::Clone() const
|
||||||
|
{
|
||||||
|
return new NzTextSprite(*this);
|
||||||
|
}
|
||||||
|
|
||||||
|
NzTextSprite* NzTextSprite::Create() const
|
||||||
|
{
|
||||||
|
return new NzTextSprite;
|
||||||
|
}
|
||||||
|
|
||||||
const NzColor& NzTextSprite::GetColor() const
|
const NzColor& NzTextSprite::GetColor() const
|
||||||
{
|
{
|
||||||
return m_color;
|
return m_color;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue