Change the return type of Renderable::get_instance_key to IntPtr
authorMikko Rasa <tdb@tdb.fi>
Mon, 17 Jun 2019 22:12:35 +0000 (01:12 +0300)
committerMikko Rasa <tdb@tdb.fi>
Mon, 17 Jun 2019 22:27:22 +0000 (01:27 +0300)
source/instancescene.h
source/objectinstance.h
source/renderable.h

index 2a91840111ad6964580e05b61fe52e3ebabafc07..a5ac2cd1c743e9fd250d5489d3e13c5902d552a7 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <map>
 #include <set>
+#include <msp/core/inttypes.h>
 #include "scene.h"
 
 namespace Msp {
@@ -17,7 +18,7 @@ class InstanceScene: public Scene
 {
 private:
        typedef std::set<Renderable *> RenderableSet;
-       typedef std::map<long, RenderableSet> InstanceMap;
+       typedef std::map<IntPtr, RenderableSet> InstanceMap;
 
        InstanceMap renderables;
 
index 7c2cc9a755afca9fe8e8a17981c80ecaf9920c44..6577dd2a6265f6ca241d88dc2bf9337447d40afc 100644 (file)
@@ -35,7 +35,7 @@ public:
        ObjectInstance(const Object &);
 
        const Object &get_object() const { return object; }
-       virtual long get_instance_key() const { return reinterpret_cast<long>(&object); }
+       virtual IntPtr get_instance_key() const { return reinterpret_cast<IntPtr>(&object); }
 
        virtual const Geometry::BoundingSphere<float, 3> *get_bounding_sphere() const { return object.get_bounding_sphere(); }
 
index 6e1505ca5a728c0ac1b012eb797cf00c84321ff4..80fe172eb7435b44f147d4324294b6c72b5d5fd2 100644 (file)
@@ -2,6 +2,7 @@
 #define MSP_GL_RENDERABLE_H_
 
 #include <string>
+#include <msp/core/inttypes.h>
 #include <msp/geometry/boundingsphere.h>
 #include "tag.h"
 
@@ -34,7 +35,7 @@ public:
 
        /** Returns a key used for grouping Renderables in an InstanceScene.  The
        returned value is treated as opaque. */
-       virtual long get_instance_key() const { return 0; }
+       virtual IntPtr get_instance_key() const { return 0; }
 
        /** Returns the model matrix of the Renderable.  Null is returned if no such
        matrix exists.  The matrix should be in world space for some effects to work