src/basics.cpp

changeset 996
9ecc878c7dea
parent 978
4603d8fd063e
equal deleted inserted replaced
995:7986584e7498 996:9ecc878c7dea
99 if (y() != other.y()) return y() < other.y(); 99 if (y() != other.y()) return y() < other.y();
100 if (z() != other.z()) return z() < other.z(); 100 if (z() != other.z()) return z() < other.z();
101 return false; 101 return false;
102 } 102 }
103 103
104 unsigned int qHash (const Vertex& vertex)
105 {
106 return qHash (vertex.toString());
107 }
108
104 // ============================================================================= 109 // =============================================================================
105 // 110 //
106 Matrix::Matrix (double vals[]) 111 Matrix::Matrix (double vals[])
107 { 112 {
108 for (int i = 0; i < 9; ++i) 113 for (int i = 0; i < 9; ++i)
219 224
220 // ============================================================================= 225 // =============================================================================
221 // 226 //
222 void LDBoundingBox::calcObject (LDObject* obj) 227 void LDBoundingBox::calcObject (LDObject* obj)
223 { 228 {
224 switch (obj->type()) 229 LDSubfile* ref;
225 { 230
226 case OBJ_Line: 231 if (obj->hasVertices())
227 case OBJ_Triangle: 232 {
228 case OBJ_Quad: 233 LDVertexObject* vo = static_cast<LDVertexObject*> (obj);
229 case OBJ_CondLine: 234 for (int i = 0; i < vo->numVertices(); ++i)
230 for (int i = 0; i < obj->numVertices(); ++i) 235 calcVertex (vo->vertex (i));
231 calcVertex (obj->vertex (i)); 236 }
232 break; 237 else if ((ref = dynamic_cast<LDSubfile*> (obj)) != nullptr)
233 238 {
234 case OBJ_Subfile: 239 for (LDObject* it : ref->inlineContents (true, false))
235 for (LDObject* it : static_cast<LDSubfile*> (obj)->inlineContents (true, false))
236 { 240 {
237 calcObject (it); 241 calcObject (it);
238 it->destroy(); 242 it->destroy();
239 } 243 }
240 break;
241
242 default:
243 break;
244 } 244 }
245 } 245 }
246 246
247 // ============================================================================= 247 // =============================================================================
248 // 248 //

mercurial