Browse Source

Virtualize some member functions of StaticModel.

Eugene Kozlov 9 years ago
parent
commit
12499aa0d0
2 changed files with 5 additions and 5 deletions
  1. 1 1
      Source/Urho3D/Graphics/StaticModel.cpp
  2. 4 4
      Source/Urho3D/Graphics/StaticModel.h

+ 1 - 1
Source/Urho3D/Graphics/StaticModel.cpp

@@ -403,7 +403,7 @@ const ResourceRefList& StaticModel::GetMaterialsAttr() const
 {
 {
     materialsAttr_.names_.Resize(batches_.Size());
     materialsAttr_.names_.Resize(batches_.Size());
     for (unsigned i = 0; i < batches_.Size(); ++i)
     for (unsigned i = 0; i < batches_.Size(); ++i)
-        materialsAttr_.names_[i] = GetResourceName(batches_[i].material_);
+        materialsAttr_.names_[i] = GetResourceName(GetMaterial(i));
 
 
     return materialsAttr_;
     return materialsAttr_;
 }
 }

+ 4 - 4
Source/Urho3D/Graphics/StaticModel.h

@@ -63,11 +63,11 @@ public:
     virtual bool DrawOcclusion(OcclusionBuffer* buffer);
     virtual bool DrawOcclusion(OcclusionBuffer* buffer);
 
 
     /// Set model.
     /// Set model.
-    void SetModel(Model* model);
+    virtual void SetModel(Model* model);
     /// Set material on all geometries.
     /// Set material on all geometries.
-    void SetMaterial(Material* material);
+    virtual void SetMaterial(Material* material);
     /// Set material on one geometry. Return true if successful.
     /// Set material on one geometry. Return true if successful.
-    bool SetMaterial(unsigned index, Material* material);
+    virtual bool SetMaterial(unsigned index, Material* material);
     /// Set occlusion LOD level. By default (M_MAX_UNSIGNED) same as visible.
     /// Set occlusion LOD level. By default (M_MAX_UNSIGNED) same as visible.
     void SetOcclusionLodLevel(unsigned level);
     void SetOcclusionLodLevel(unsigned level);
     /// Apply default materials from a material list file. If filename is empty (default), the model's resource name with extension .txt will be used.
     /// Apply default materials from a material list file. If filename is empty (default), the model's resource name with extension .txt will be used.
@@ -80,7 +80,7 @@ public:
     unsigned GetNumGeometries() const { return geometries_.Size(); }
     unsigned GetNumGeometries() const { return geometries_.Size(); }
 
 
     /// Return material by geometry index.
     /// Return material by geometry index.
-    Material* GetMaterial(unsigned index = 0) const;
+    virtual Material* GetMaterial(unsigned index = 0) const;
 
 
     /// Return occlusion LOD level.
     /// Return occlusion LOD level.
     unsigned GetOcclusionLodLevel() const { return occlusionLodLevel_; }
     unsigned GetOcclusionLodLevel() const { return occlusionLodLevel_; }