X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2F3d%2Flayout.h;h=dd3c0f5ea9b150bd54f5340743961dd4fe3187ad;hb=05b95b6b6b095821f1e79dabed802b853c296c9d;hp=d5aad2634fbbe2343f4f2d38027347b531957f2b;hpb=a882f35842c819e011c5fdf6104852c2b6ab3eef;p=r2c2.git diff --git a/source/3d/layout.h b/source/3d/layout.h index d5aad26..dd3c0f5 100644 --- a/source/3d/layout.h +++ b/source/3d/layout.h @@ -8,6 +8,7 @@ #include #include "libr2c2/layout.h" #include "catalogue.h" +#include "typemap.h" namespace R2C2 { @@ -40,13 +41,13 @@ public: void get_bounds(Vector &, Vector &) const; void add(Object3D &); - Object3D &get(Object &) const; + Object3D &get_3d(Object &) const; const ObjectMap &get_all() const { return objects; } void remove(Object3D &); template - T &get(Object &o) const - { return dynamic_cast(get(o)); } + typename TypeMap3D::Type3D &get_3d(T &o) const + { return dynamic_cast::Type3D &>(get_3d(static_cast(o))); } void add(Utility3D &); void remove(Utility3D &);