src/model.cpp

changeset 35
98906a94732f
parent 24
1a0faaaceb84
child 51
1a9eac27698d
equal deleted inserted replaced
34:1de2b8d64e9f 35:98906a94732f
40 } 40 }
41 41
42 QVariant Model::data(const QModelIndex& index, int role) const 42 QVariant Model::data(const QModelIndex& index, int role) const
43 { 43 {
44 const int row = index.row(); 44 const int row = index.row();
45 linetypes::Object* object = this->body[row].get(); 45 ldraw::Object* object = this->body[row].get();
46 switch(role) 46 switch(role)
47 { 47 {
48 case Qt::DisplayRole: 48 case Qt::DisplayRole:
49 return object->textRepresentation(); 49 return object->textRepresentation();
50 case Qt::ForegroundRole: 50 case Qt::ForegroundRole:
67 default: 67 default:
68 return {}; 68 return {};
69 } 69 }
70 } 70 }
71 71
72 QVariant Model::getObjectProperty(const int index, const linetypes::Property property) const 72 QVariant Model::getObjectProperty(const int index, const ldraw::Property property) const
73 { 73 {
74 const linetypes::Object* object = this->body[index].get(); 74 const ldraw::Object* object = this->body[index].get();
75 return object->getProperty(property); 75 return object->getProperty(property);
76 } 76 }
77 77
78 std::vector<gl::Polygon> Model::getPolygons(DocumentManager* documents) const 78 std::vector<gl::Polygon> Model::getPolygons(DocumentManager* documents) const
79 { 79 {
80 if (this->needRecache) 80 if (this->needRecache)
81 { 81 {
82 this->cachedPolygons.clear(); 82 this->cachedPolygons.clear();
83 linetypes::GetPolygonsContext context{documents}; 83 ldraw::GetPolygonsContext context{documents};
84 for (int i = 0; i < this->size(); i += 1) 84 for (int i = 0; i < this->size(); i += 1)
85 { 85 {
86 this->getObjectPolygons(i, this->cachedPolygons, &context); 86 this->getObjectPolygons(i, this->cachedPolygons, &context);
87 } 87 }
88 this->needRecache = false; 88 this->needRecache = false;
91 } 91 }
92 92
93 void Model::getObjectPolygons( 93 void Model::getObjectPolygons(
94 const int index, 94 const int index,
95 std::vector<gl::Polygon>& polygons_out, 95 std::vector<gl::Polygon>& polygons_out,
96 linetypes::GetPolygonsContext* context) const 96 ldraw::GetPolygonsContext* context) const
97 { 97 {
98 const linetypes::Object* object = this->body[index].get(); 98 const ldraw::Object* object = this->body[index].get();
99 object->getPolygons(polygons_out, context); 99 object->getPolygons(polygons_out, context);
100 } 100 }
101 101
102 void Model::append(ModelObjectPointer&& object) 102 void Model::append(ModelObjectPointer&& object)
103 { 103 {

mercurial