Graphics/InstancedRenderable: Add Clone method
This commit is contained in:
@@ -31,6 +31,8 @@ namespace Nz
|
||||
|
||||
void AddToRenderQueue(AbstractRenderQueue* renderQueue, const InstanceData& instanceData, const Recti& scissorRect) const override;
|
||||
|
||||
std::unique_ptr<InstancedRenderable> Clone() const override;
|
||||
|
||||
inline const Color& GetColor() const;
|
||||
inline float GetRotation() const;
|
||||
inline const Vector2f& GetSize() const;
|
||||
|
||||
@@ -39,6 +39,8 @@ namespace Nz
|
||||
|
||||
virtual void AddToRenderQueue(AbstractRenderQueue* renderQueue, const InstanceData& instanceData, const Recti& scissorRect) const = 0;
|
||||
|
||||
virtual std::unique_ptr<InstancedRenderable> Clone() const = 0;
|
||||
|
||||
virtual bool Cull(const Frustumf& frustum, const InstanceData& instanceData) const;
|
||||
|
||||
inline void EnsureBoundingVolumeUpdated() const;
|
||||
|
||||
@@ -56,6 +56,8 @@ namespace Nz
|
||||
void AddToRenderQueue(AbstractRenderQueue* renderQueue, const InstanceData& instanceData, const Recti& scissorRect) const override;
|
||||
inline void AddToRenderQueue(AbstractRenderQueue* renderQueue, const Matrix4f& transformMatrix, int renderOrder = 0, const Recti& scissorRect = Recti(-1, -1, -1, -1)) const;
|
||||
|
||||
std::unique_ptr<InstancedRenderable> Clone() const override;
|
||||
|
||||
using InstancedRenderable::GetMaterial;
|
||||
const MaterialRef& GetMaterial(const String& subMeshName) const;
|
||||
const MaterialRef& GetMaterial(std::size_t skinIndex, const String& subMeshName) const;
|
||||
|
||||
@@ -21,7 +21,8 @@ namespace Nz
|
||||
*
|
||||
* \param model Model to copy
|
||||
*/
|
||||
inline Model::Model(const Model& model)
|
||||
inline Model::Model(const Model& model) :
|
||||
InstancedRenderable(model)
|
||||
{
|
||||
SetMesh(model.m_mesh);
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace Nz
|
||||
void AddToRenderQueue(AbstractRenderQueue* renderQueue, const InstanceData& instanceData, const Recti& scissorRect) const override;
|
||||
void AdvanceAnimation(float elapsedTime);
|
||||
|
||||
SkeletalModel* Clone() const;
|
||||
std::unique_ptr<InstancedRenderable> Clone() const override;
|
||||
SkeletalModel* Create() const;
|
||||
|
||||
void EnableAnimation(bool animation);
|
||||
|
||||
@@ -35,6 +35,8 @@ namespace Nz
|
||||
|
||||
void AddToRenderQueue(AbstractRenderQueue* renderQueue, const InstanceData& instanceData, const Recti& scissorRect) const override;
|
||||
|
||||
std::unique_ptr<InstancedRenderable> Clone() const override;
|
||||
|
||||
inline const Color& GetColor() const;
|
||||
inline const Color& GetCornerColor(RectCorner corner) const;
|
||||
inline const Vector3f& GetOrigin() const;
|
||||
|
||||
@@ -34,11 +34,14 @@ namespace Nz
|
||||
|
||||
inline void Clear();
|
||||
|
||||
std::unique_ptr<InstancedRenderable> Clone() const override;
|
||||
|
||||
inline const Color& GetColor() const;
|
||||
inline float GetScale() const;
|
||||
|
||||
inline void SetColor(const Color& color);
|
||||
inline void SetDefaultMaterial();
|
||||
using InstancedRenderable::SetMaterial;
|
||||
inline void SetMaterial(MaterialRef material);
|
||||
inline void SetMaterial(std::size_t skinIndex, MaterialRef material);
|
||||
inline void SetScale(float scale);
|
||||
|
||||
@@ -35,6 +35,8 @@ namespace Nz
|
||||
|
||||
void AddToRenderQueue(AbstractRenderQueue* renderQueue, const InstanceData& instanceData, const Recti& scissorRect) const override;
|
||||
|
||||
std::unique_ptr<InstancedRenderable> Clone() const override;
|
||||
|
||||
inline void DisableTile(const Vector2ui& tilePos);
|
||||
inline void DisableTiles();
|
||||
inline void DisableTiles(const Vector2ui* tilesPos, std::size_t tileCount);
|
||||
|
||||
Reference in New Issue
Block a user