pure-cpp 1.0.0
A C++ physics simulation benchmark comparing performance with Python implementations
body.hpp File Reference

SoA container for simulation bodies and proxies for AoS-like access. More...

#include <cassert>
#include <Eigen/Dense>
#include <Eigen/Geometry>
#include <vector>
Include dependency graph for body.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Model::BodyProxyBase< T >
 A template base class for body proxies to reduce code duplication. More...
 
class  Model::BodyProxy
 A proxy object that provides an AoS-like interface to a body stored in the Bodies SoA container. More...
 
class  Model::ConstBodyProxy
 A const proxy object that provides a read-only AoS-like interface to a body stored in the Bodies SoA container. More...
 
class  Model::Bodies
 Structure-of-Arrays (SoA) container for all bodies in the simulation. More...
 

Typedefs

using Model::Vector3dVec = std::vector< Eigen::Vector3d, Eigen::aligned_allocator< Eigen::Vector3d > >
 
using Model::QuaterniondVec = std::vector< Eigen::Quaterniond, Eigen::aligned_allocator< Eigen::Quaterniond > >
 

Detailed Description

SoA container for simulation bodies and proxies for AoS-like access.

Author
Le Bars, Yoann

This file is part of the pure C++ benchmark.

Definition in file body.hpp.

Typedef Documentation

◆ QuaterniondVec

using Model::QuaterniondVec = typedef std::vector<Eigen::Quaterniond, Eigen::aligned_allocator<Eigen::Quaterniond> >

Definition at line 32 of file body.hpp.

◆ Vector3dVec

using Model::Vector3dVec = typedef std::vector<Eigen::Vector3d, Eigen::aligned_allocator<Eigen::Vector3d> >

Definition at line 30 of file body.hpp.