| 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 |
+ |
} |