| 265 | } |
| 266 | |
| 267 | void Model::UpdateInWorld(const Matrix2D& matParent) |
| 268 | { |
| 269 | // Propagate matrix transform |
| 270 | matWorld = matLocal * matParent; |
| 271 | |
| 272 | // Transform vertices |
| 273 | for (size_t i = 0; i < vLocalPoints.size(); i++) |
| 274 | { |
| 275 | vWorldPoints[i] = matWorld * vLocalPoints[i]; |
| 276 | } |
| 277 | |
| 278 | // Transform Children |
| 279 | for (auto& child : vChildren) |
| 280 | child->UpdateInWorld(matWorld); |
| 281 | } |
| 282 | } |
| 283 | } |
| 284 |