]> git.tdb.fi Git - r2c2.git/blob - source/libr2c2/objecttype.h
4102f944041ee95f231b9c9924889115e87565fa
[r2c2.git] / source / libr2c2 / objecttype.h
1 #ifndef LIBR2C2_OBJECTTYPE_H_
2 #define LIBR2C2_OBJECTTYPE_H_
3
4 #include <string>
5 #include <msp/datafile/objectloader.h>
6 #include "articlenumber.h"
7 #include "geometry.h"
8
9 namespace R2C2 {
10
11 class ObjectType
12 {
13 public:
14         class Loader: public Msp::DataFile::ObjectLoader<ObjectType>
15         {
16         public:
17                 Loader(ObjectType &);
18         };
19
20 protected:
21         ArticleNumber art_nr;
22         std::string name;
23         std::string description;
24         Shape *shape;
25
26         ObjectType(const ArticleNumber &);
27 public:
28         virtual ~ObjectType();
29
30         const ArticleNumber &get_article_number() const { return art_nr; }
31         const std::string &get_name() const { return name; }
32         const std::string &get_description() const { return description; }
33         const Shape *get_shape() const { return shape; }
34 };
35
36 } // namespace R2C2
37
38 #endif