]> git.tdb.fi Git - libs/gl.git/commitdiff
Rename some Loader methods to avoid having to static_cast the pointers
authorMikko Rasa <tdb@tdb.fi>
Mon, 10 Jan 2011 18:59:56 +0000 (18:59 +0000)
committerMikko Rasa <tdb@tdb.fi>
Mon, 10 Jan 2011 18:59:56 +0000 (18:59 +0000)
source/object.cpp
source/object.h
source/renderpass.cpp
source/renderpass.h

index f710a7a9c8c5ced2f2e6647c54a16848a90a7fe7..86857a9842f10d7523cc1361527df29a07f0941f 100644 (file)
@@ -119,24 +119,25 @@ void Object::Loader::init()
 {
        allow_pointer_reload = false;
 
-       add("mesh",     static_cast<void (Loader::*)()>(&Loader::mesh));
-       add("mesh",     static_cast<void (Loader::*)(unsigned)>(&Loader::mesh));
-       add("mesh",     static_cast<void (Loader::*)(const std::string &)>(&Loader::mesh));
-       add("mesh",     static_cast<void (Loader::*)(unsigned, const std::string &)>(&Loader::mesh));
+       add("mesh",     &Loader::mesh_inline);
+       add("mesh",     &Loader::mesh_inline_lod);
+       add("mesh",     &Loader::mesh);
+       add("mesh",     &Loader::mesh_lod);
+       add("technique", &Loader::technique_inline);
+       add("technique", &Loader::technique);
+
        // Deprecated alias, will be removed
-       add("lod_mesh", static_cast<void (Loader::*)(unsigned, const std::string &)>(&Loader::mesh));
-       add("technique", static_cast<void (Loader::*)()>(&Loader::technique));
-       add("technique", static_cast<void (Loader::*)(const std::string &)>(&Loader::technique));
+       add("lod_mesh", &Loader::mesh_lod);
 }
 
-void Object::Loader::mesh()
+void Object::Loader::mesh_inline()
 {
        RefPtr<Mesh> msh = new Mesh;
        load_sub(*msh);
        obj.meshes.front() = msh;
 }
 
-void Object::Loader::mesh(unsigned l)
+void Object::Loader::mesh_inline_lod(unsigned l)
 {
        if(l>obj.meshes.size())
                throw InvalidParameterValue("LODs must be continuous");
@@ -154,12 +155,12 @@ void Object::Loader::mesh(const std::string &n)
        obj.set_mesh(get_collection().get<Mesh>(n));
 }
 
-void Object::Loader::mesh(unsigned l, const string &n)
+void Object::Loader::mesh_lod(unsigned l, const string &n)
 {
        obj.set_mesh(l, get_collection().get<Mesh>(n));
 }
 
-void Object::Loader::technique()
+void Object::Loader::technique_inline()
 {
        RefPtr<Technique> tech = new Technique;
        if(coll)
index e84bc9cf707d5f7c1e0ef10dea9a5c255100a647..52338a1657b7af5cc0f2df7bd1c989ac224ecb42 100644 (file)
@@ -44,11 +44,11 @@ public:
                void init();
 
        private:
-               void mesh();
-               void mesh(unsigned);
+               void mesh_inline();
+               void mesh_inline_lod(unsigned);
                void mesh(const std::string &);
-               void mesh(unsigned, const std::string &);
-               void technique();
+               void mesh_lod(unsigned, const std::string &);
+               void technique_inline();
                void technique(const std::string &);
        };
 
index b67be7170ae7cff929d24b115552cce009db05e6..8c4048ca6e9887e993b0c689c63d257092103a7a 100644 (file)
@@ -74,8 +74,8 @@ void RenderPass::Loader::init()
        allow_pointer_reload = false;
 
        add("shader",   &RenderPass::shprog);
-       add("material", static_cast<void (Loader::*)()>(&Loader::material));
-       add("material", static_cast<void (Loader::*)(const string &)>(&Loader::material));
+       add("material", &Loader::material_inline);
+       add("material", &Loader::material);
        add("texunit",  &Loader::texunit);
        add("uniforms", &Loader::uniforms);
 }
@@ -87,7 +87,7 @@ void RenderPass::Loader::finish()
                obj.shdata = new ProgramData;
 }
 
-void RenderPass::Loader::material()
+void RenderPass::Loader::material_inline()
 {
        RefPtr<Material> mat = new Material;
        load_sub(*mat);
index 688327bb84ebb7c067a504c2b03779181f026b2b..405b813b463d0fcd1019c9483d921218b93005c0 100644 (file)
@@ -40,7 +40,7 @@ public:
        private:
                void init();
                virtual void finish();
-               void material();
+               void material_inline();
                void material(const std::string &);
                void texunit(unsigned);
                void uniforms();