| 49 |  |  | 
| 50 |  | #include "brains/DataStorage.hpp" | 
| 51 |  |  | 
| 52 | + | namespace oopse { | 
| 53 |  |  | 
| 54 |  | DataStorage::DataStorage() : size_(0), storageLayout_(0){ | 
| 55 |  |  | 
| 327 |  | std::advance(result, target ); | 
| 328 |  |  | 
| 329 |  | std::copy(first, last, result); | 
| 330 | + | } | 
| 331 | + |  | 
| 332 | + | int DataStorage::getBytesPerStuntDouble(int layout) { | 
| 333 | + | int bytes = 0; | 
| 334 | + | if (layout & dslPosition) { | 
| 335 | + | bytes += sizeof(Vector3d); | 
| 336 | + | } | 
| 337 | + | if (layout & dslVelocity) { | 
| 338 | + | bytes += sizeof(Vector3d); | 
| 339 | + | } | 
| 340 | + | if (layout & dslAmat) { | 
| 341 | + | bytes += sizeof(Mat3x3d); | 
| 342 | + | } | 
| 343 | + | if (layout & dslAngularMomentum) { | 
| 344 | + | bytes += sizeof(Vector3d); | 
| 345 | + | } | 
| 346 | + | if (layout & dslElectroFrame) { | 
| 347 | + | bytes += sizeof(Mat3x3d); | 
| 348 | + | } | 
| 349 | + | if (layout & dslZAngle) { | 
| 350 | + | bytes += sizeof(Vector3d); | 
| 351 | + | } | 
| 352 | + | if (layout & dslForce) { | 
| 353 | + | bytes += sizeof(Vector3d); | 
| 354 | + | } | 
| 355 | + | if (layout & dslTorque) { | 
| 356 | + | bytes += sizeof(Vector3d); | 
| 357 | + | } | 
| 358 | + | return bytes; | 
| 359 |  | } | 
| 360 | + |  | 
| 361 | + | } |