src/basics.cpp

changeset 1079
67c6e5d32e68
parent 1073
a0a0d581309b
child 1086
621c2e5853bb
equal deleted inserted replaced
1078:c72e3115a297 1079:67c6e5d32e68
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 //

mercurial