src/basics.cc

changeset 768
29e6c5552388
parent 767
44f0d5322628
child 786
71d786ce0dcc
equal deleted inserted replaced
767:44f0d5322628 768:29e6c5552388
223 reset(); 223 reset();
224 224
225 if (not getCurrentDocument()) 225 if (not getCurrentDocument())
226 return; 226 return;
227 227
228 for (LDObject* obj : getCurrentDocument()->objects()) 228 for (LDObjectPtr obj : getCurrentDocument()->objects())
229 calcObject (obj); 229 calcObject (obj);
230 } 230 }
231 231
232 // ============================================================================= 232 // =============================================================================
233 // 233 //
234 void LDBoundingBox::calcObject (LDObject* obj) 234 void LDBoundingBox::calcObject (LDObjectPtr obj)
235 { 235 {
236 switch (obj->type()) 236 switch (obj->type())
237 { 237 {
238 case LDObject::ELine: 238 case LDObject::ELine:
239 case LDObject::ETriangle: 239 case LDObject::ETriangle:
244 calcVertex (obj->vertex (i)); 244 calcVertex (obj->vertex (i));
245 } break; 245 } break;
246 246
247 case LDObject::ESubfile: 247 case LDObject::ESubfile:
248 { 248 {
249 LDSubfile* ref = static_cast<LDSubfile*> (obj); 249 LDSubfilePtr ref = obj.staticCast<LDSubfile>();
250 LDObjectList objs = ref->inlineContents (true, false); 250 LDObjectList objs = ref->inlineContents (true, false);
251 251
252 for (LDObject * obj : objs) 252 for (LDObjectPtr obj : objs)
253 { 253 {
254 calcObject (obj); 254 calcObject (obj);
255 obj->destroy(); 255 obj->destroy();
256 } 256 }
257 } 257 }
270 return *this; 270 return *this;
271 } 271 }
272 272
273 // ============================================================================= 273 // =============================================================================
274 // 274 //
275 LDBoundingBox& LDBoundingBox::operator<< (LDObject* obj) 275 LDBoundingBox& LDBoundingBox::operator<< (LDObjectPtr obj)
276 { 276 {
277 calcObject (obj); 277 calcObject (obj);
278 return *this; 278 return *this;
279 } 279 }
280 280

mercurial