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 // |