+private:
+ void object_added(const ObjectType &);
+public:
+ const ObjectType3D &get_3d(const ObjectType &) const;
+
+ template<typename T>
+ const typename TypeMap3D<T>::Type3D &get_3d(const T &ot) const
+ { return dynamic_cast<const typename TypeMap3D<T>::Type3D &>(get_3d(static_cast<const ObjectType &>(ot))); }
+
+private:
+ void build_endpoint_mesh();
+public:
+ const Msp::GL::Mesh &get_endpoint_mesh() const { return endpoint_mesh; }
+
+private:
+ Msp::FS::Path locate_file(const std::string &);
+
+ template<typename T>
+ T *create(const std::string &);
+
+ template<typename T>
+ T *create2(const std::string &);