Skip to content

Commit 005fa17

Browse files
committed
- update to Eigen 3.3
1 parent 7316c53 commit 005fa17

File tree

328 files changed

+22478
-25175
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

328 files changed

+22478
-25175
lines changed

Changelog.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
- update to Eigen 3.3
2+
13
1.5.1
24
- added Timing class
35
- removed Boost dependency

Common/Common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ namespace PBD
7070
#endif
7171
#endif
7272
#else
73-
#define PBD_MAKE_ALIGNED_OPERATOR_NEW
73+
#define PDB_MAKE_ALIGNED_OPERATOR_NEW
7474

7575
#if defined(WIN32) || defined(_WIN32) || defined(WIN64)
7676
// Enable memory leak detection

Demos/FluidDemo/main.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
#include <iostream>
1111
#include "Demos/Utils/Utilities.h"
1212
#include "Demos/Utils/Timing.h"
13+
#define _USE_MATH_DEFINES
14+
#include "math.h"
1315

1416
// Enable memory leak detection
1517
#if defined(_DEBUG) && !defined(EIGEN_ALIGN)

Demos/Simulation/Constraints.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1482,7 +1482,7 @@ bool RigidBodyContactConstraint::initConstraint(SimulationModel &model, const un
14821482
rb2.getInertiaTensorInverseW(),
14831483
rb2.getRotation(),
14841484
rb2.getAngularVelocity(),
1485-
cp1, cp2, normal, restitutionCoeff,
1485+
cp1, cp2, normal, restitutionCoeff,
14861486
m_constraintInfo);
14871487
}
14881488

Demos/Simulation/Constraints.h

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
#define _CONSTRAINTS_H
33

44
#include "Common/Common.h"
5+
#define _USE_MATH_DEFINES
6+
#include "math.h"
57

68
namespace PBD
79
{
@@ -46,46 +48,46 @@ namespace PBD
4648
};
4749

4850
class BallOnLineJoint : public Constraint
49-
{
51+
{
5052
public:
5153
static int TYPE_ID;
5254
Eigen::Matrix<Real, 3, 10> m_jointInfo;
5355

5456
BallOnLineJoint() : Constraint(2) {}
55-
virtual int &getTypeId() const { return TYPE_ID; }
57+
virtual int &getTypeId() const { return TYPE_ID; }
5658

5759
bool initConstraint(SimulationModel &model, const unsigned int rbIndex1, const unsigned int rbIndex2, const Vector3r &pos, const Vector3r &dir);
5860
virtual bool updateConstraint(SimulationModel &model);
5961
virtual bool solvePositionConstraint(SimulationModel &model);
60-
};
62+
};
6163

6264
class HingeJoint : public Constraint
63-
{
65+
{
6466
public:
6567
static int TYPE_ID;
66-
Eigen::Matrix<Real, 3, 12> m_jointInfo;
68+
Eigen::Matrix<Real, 3, 12> m_jointInfo;
6769

6870
HingeJoint() : Constraint(2) {}
69-
virtual int &getTypeId() const { return TYPE_ID; }
71+
virtual int &getTypeId() const { return TYPE_ID; }
7072

7173
bool initConstraint(SimulationModel &model, const unsigned int rbIndex1, const unsigned int rbIndex2, const Vector3r &pos, const Vector3r &axis);
7274
virtual bool updateConstraint(SimulationModel &model);
7375
virtual bool solvePositionConstraint(SimulationModel &model);
74-
};
76+
};
7577

7678
class UniversalJoint : public Constraint
77-
{
79+
{
7880
public:
7981
static int TYPE_ID;
80-
Eigen::Matrix<Real, 3, 8> m_jointInfo;
82+
Eigen::Matrix<Real, 3, 8> m_jointInfo;
8183

8284
UniversalJoint() : Constraint(2) {}
83-
virtual int &getTypeId() const { return TYPE_ID; }
85+
virtual int &getTypeId() const { return TYPE_ID; }
8486

8587
bool initConstraint(SimulationModel &model, const unsigned int rbIndex1, const unsigned int rbIndex2, const Vector3r &pos, const Vector3r &axis1, const Vector3r &axis2);
8688
virtual bool updateConstraint(SimulationModel &model);
8789
virtual bool solvePositionConstraint(SimulationModel &model);
88-
};
90+
};
8991

9092
class SliderJoint : public Constraint
9193
{
@@ -179,18 +181,18 @@ namespace PBD
179181
};
180182

181183
class RigidBodyParticleBallJoint : public Constraint
182-
{
184+
{
183185
public:
184186
static int TYPE_ID;
185-
Eigen::Matrix<Real, 3, 2> m_jointInfo;
187+
Eigen::Matrix<Real, 3, 2> m_jointInfo;
186188

187189
RigidBodyParticleBallJoint() : Constraint(2) {}
188-
virtual int &getTypeId() const { return TYPE_ID; }
190+
virtual int &getTypeId() const { return TYPE_ID; }
189191

190192
bool initConstraint(SimulationModel &model, const unsigned int rbIndex, const unsigned int particleIndex);
191193
virtual bool updateConstraint(SimulationModel &model);
192194
virtual bool solvePositionConstraint(SimulationModel &model);
193-
};
195+
};
194196

195197
class DistanceConstraint : public Constraint
196198
{

PositionBasedDynamics/PositionBasedRigidBodyDynamics.cpp

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
#include "MathFunctions.h"
33
#include <cfloat>
44
#include <iostream>
5+
#define _USE_MATH_DEFINES
6+
#include "math.h"
57

68
using namespace PBD;
79

@@ -869,11 +871,11 @@ bool PositionBasedRigidBodyDynamics::update_SliderJoint(
869871
// transform perpendicular vector on joint axis of body 1 to world space
870872
jointInfo.col(13) = rot1 * jointInfo.col(12);
871873

872-
const Vector3r dir = jointInfo.col(8);
873-
const Vector3r p = jointInfo.col(6);
874-
const Vector3r s = jointInfo.col(7);
875-
// move the joint point of body 0 to the closest point on the line to joint point 1
876-
jointInfo.col(6) = p + (dir * (((s - p).dot(dir)) / dir.squaredNorm()));
874+
const Vector3r dir = jointInfo.col(8);
875+
const Vector3r p = jointInfo.col(6);
876+
const Vector3r s = jointInfo.col(7);
877+
// move the joint point of body 0 to the closest point on the line to joint point 1
878+
jointInfo.col(6) = p + (dir * (((s - p).dot(dir)) / dir.squaredNorm()));
877879

878880
return true;
879881
}
@@ -1681,10 +1683,10 @@ bool PositionBasedRigidBodyDynamics::solve_TargetAngleMotorHingeJoint(
16811683
Real c = t1.dot(t3);
16821684
c = std::min(1.0, c);
16831685
c = std::max(-1.0, c);
1684-
if ((t1.cross(t3)).dot(axis) > 0.0)
1685-
delta -= acos(c);
1686-
else
1687-
delta += acos(c);
1686+
if ((t1.cross(t3)).dot(axis) > 0.0)
1687+
delta -= acos(c);
1688+
else
1689+
delta += acos(c);
16881690

16891691
const Real pi = (Real)M_PI;
16901692
if (delta < -pi)
@@ -1911,8 +1913,8 @@ bool PositionBasedRigidBodyDynamics::velocitySolve_TargetVelocityMotorHingeJoint
19111913
b(3, 0) = t1.dot(deltaOmega);
19121914
b(4, 0) = t2.dot(deltaOmega);
19131915

1914-
// determine correction angle
1915-
Real delta = targetAngularVelocity;
1916+
// determine correction angle
1917+
Real delta = targetAngularVelocity;
19161918
delta -= axis.dot(deltaOmega);
19171919

19181920
b(5, 0) = -delta;
@@ -2243,8 +2245,8 @@ bool PositionBasedRigidBodyDynamics::velocitySolve_RigidBodyContactConstraint(
22432245

22442246
Real correctionMagnitude = nKn_inv * delta_u_reln;
22452247

2246-
if (correctionMagnitude < -sum_impulses)
2247-
correctionMagnitude = -sum_impulses;
2248+
if (correctionMagnitude < -sum_impulses)
2249+
correctionMagnitude = -sum_impulses;
22482250

22492251
// add penalty impulse to counteract penetration
22502252
if (d < 0.0)

0 commit comments

Comments
 (0)