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