21 void resize(
const size_t size)
23 m_invMasses.resize(size);
24 m_invIntertiaTensors.resize(size);
25 m_positions.resize(size);
26 m_orientations.resize(size);
27 m_velocities.resize(size);
28 m_angularVelocities.resize(size);
29 m_tentativeVelocities.resize(size);
30 m_tentativeAngularVelocities.resize(size);
31 m_forces.resize(size);
32 m_torques.resize(size);
33 m_isStatic.resize(size);
36 size_t size()
const {
return m_invMasses.size(); }
38 const std::vector<bool>& getIsStatic()
const {
return m_isStatic; }
39 std::vector<bool>& getIsStatic() {
return m_isStatic; }
41 const std::vector<double>& getInvMasses()
const {
return m_invMasses; }
42 std::vector<double>& getInvMasses() {
return m_invMasses; }
43 const StdVectorOfMat3d& getInvIntertiaTensors()
const {
return m_invIntertiaTensors; }
44 StdVectorOfMat3d& getInvIntertiaTensors() {
return m_invIntertiaTensors; }
46 const StdVectorOfVec3d& getPositions()
const {
return m_positions; }
47 StdVectorOfVec3d& getPositions() {
return m_positions; }
48 const StdVectorOfQuatd& getOrientations()
const {
return m_orientations; }
49 StdVectorOfQuatd& getOrientations() {
return m_orientations; }
51 const StdVectorOfVec3d& getVelocities()
const {
return m_velocities; }
52 StdVectorOfVec3d& getVelocities() {
return m_velocities; }
53 const StdVectorOfVec3d& getAngularVelocities()
const {
return m_angularVelocities; }
54 StdVectorOfVec3d& getAngularVelocities() {
return m_angularVelocities; }
56 const StdVectorOfVec3d& getTentatveVelocities()
const {
return m_tentativeVelocities; }
57 StdVectorOfVec3d& getTentatveVelocities() {
return m_tentativeVelocities; }
58 const StdVectorOfVec3d& getTentativeAngularVelocities()
const {
return m_tentativeAngularVelocities; }
59 StdVectorOfVec3d& getTentativeAngularVelocities() {
return m_tentativeAngularVelocities; }
61 const StdVectorOfVec3d& getForces()
const {
return m_forces; }
62 StdVectorOfVec3d& getForces() {
return m_forces; }
63 const StdVectorOfVec3d& getTorques()
const {
return m_torques; }
64 StdVectorOfVec3d& getTorques() {
return m_torques; }
69 void setState(std::shared_ptr<RigidBodyState2> state)
71 m_invMasses = state->getInvMasses();
72 m_invIntertiaTensors = state->getInvIntertiaTensors();
74 m_positions = state->getPositions();
75 m_orientations = state->getOrientations();
77 m_velocities = state->getVelocities();
78 m_angularVelocities = state->getAngularVelocities();
80 m_forces = state->getForces();
81 m_torques = state->getTorques();
85 std::vector<double> m_invMasses;
86 StdVectorOfMat3d m_invIntertiaTensors;
88 StdVectorOfVec3d m_positions;
89 StdVectorOfQuatd m_orientations;
91 StdVectorOfVec3d m_velocities;
92 StdVectorOfVec3d m_angularVelocities;
93 StdVectorOfVec3d m_tentativeVelocities;
94 StdVectorOfVec3d m_tentativeAngularVelocities;
96 StdVectorOfVec3d m_forces;
97 StdVectorOfVec3d m_torques;
99 std::vector<bool> m_isStatic;
Kinematic state of rigid bodies within a system.
void setState(std::shared_ptr< RigidBodyState2 > state)
Set the state to a given one, copies.