| 136 reset(); |
136 reset(); |
| 137 } |
137 } |
| 138 |
138 |
| 139 // ============================================================================= |
139 // ============================================================================= |
| 140 // |
140 // |
| 141 void BoundingBox::calcObject (LDObject* obj) |
|
| 142 { |
|
| 143 switch (obj->type()) |
|
| 144 { |
|
| 145 case OBJ_Line: |
|
| 146 case OBJ_Triangle: |
|
| 147 case OBJ_Quad: |
|
| 148 case OBJ_CondLine: |
|
| 149 for (int i = 0; i < obj->numVertices(); ++i) |
|
| 150 calcVertex (obj->vertex (i)); |
|
| 151 break; |
|
| 152 |
|
| 153 case OBJ_SubfileReference: |
|
| 154 { |
|
| 155 Model model; |
|
| 156 static_cast<LDSubfileReference*>(obj)->inlineContents(model, true, false); |
|
| 157 |
|
| 158 for (LDObject* it : model.objects()) |
|
| 159 calcObject(it); |
|
| 160 } |
|
| 161 break; |
|
| 162 |
|
| 163 default: |
|
| 164 break; |
|
| 165 } |
|
| 166 } |
|
| 167 |
|
| 168 // ============================================================================= |
|
| 169 // |
|
| 170 BoundingBox& BoundingBox::operator<< (const Vertex& v) |
141 BoundingBox& BoundingBox::operator<< (const Vertex& v) |
| 171 { |
142 { |
| 172 calcVertex (v); |
143 calcVertex (v); |
| 173 return *this; |
|
| 174 } |
|
| 175 |
|
| 176 // ============================================================================= |
|
| 177 // |
|
| 178 BoundingBox& BoundingBox::operator<< (LDObject* obj) |
|
| 179 { |
|
| 180 calcObject (obj); |
|
| 181 return *this; |
144 return *this; |
| 182 } |
145 } |
| 183 |
146 |
| 184 // ============================================================================= |
147 // ============================================================================= |
| 185 // |
148 // |