@@ -34,6 +34,9 @@ namespace PBD
3434 bool m_testMesh;
3535 Vector3r m_collisionObjectScale;
3636 boost::property_tree::ptree *pt;
37+
38+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
39+ PDB_MAKE_ALIGNED_OPERATOR_NEW
3740 };
3841
3942 struct TriangleModelData
@@ -47,6 +50,9 @@ namespace PBD
4750 Real m_restitutionCoeff;
4851 Real m_frictionCoeff;
4952 boost::property_tree::ptree *pt;
53+
54+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
55+ PDB_MAKE_ALIGNED_OPERATOR_NEW
5056 };
5157
5258 struct TetModelData
@@ -63,40 +69,58 @@ namespace PBD
6369 Real m_restitutionCoeff;
6470 Real m_frictionCoeff;
6571 boost::property_tree::ptree *pt;
72+
73+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
74+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
6675 };
6776
6877 struct BallJointData
6978 {
7079 unsigned int m_bodyID[2 ];
7180 Vector3r m_position;
81+
82+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
83+ PDB_MAKE_ALIGNED_OPERATOR_NEW
7284 };
7385
7486 struct BallOnLineJointData
7587 {
7688 unsigned int m_bodyID[2 ];
7789 Vector3r m_position;
7890 Vector3r m_axis;
91+
92+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
93+ PDB_MAKE_ALIGNED_OPERATOR_NEW
7994 };
8095
8196 struct HingeJointData
8297 {
8398 unsigned int m_bodyID[2 ];
8499 Vector3r m_position;
85100 Vector3r m_axis;
101+
102+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
103+ PDB_MAKE_ALIGNED_OPERATOR_NEW
86104 };
87105
88106 struct UniversalJointData
89107 {
90108 unsigned int m_bodyID[2 ];
91109 Vector3r m_position;
92110 Vector3r m_axis[2 ];
111+
112+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
113+ PDB_MAKE_ALIGNED_OPERATOR_NEW
93114 };
94115
95116 struct SliderJointData
96117 {
97118 unsigned int m_bodyID[2 ];
98119 Vector3r m_position;
99120 Vector3r m_axis;
121+
122+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
123+ PDB_MAKE_ALIGNED_OPERATOR_NEW
100124 };
101125
102126 struct RigidBodyParticleBallJointData
@@ -110,6 +134,9 @@ namespace PBD
110134 Vector3r m_position;
111135 Vector3r m_axis;
112136 Real m_target;
137+
138+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
139+ PDB_MAKE_ALIGNED_OPERATOR_NEW
113140 };
114141
115142 struct TargetVelocityMotorHingeJointData
@@ -118,6 +145,9 @@ namespace PBD
118145 Vector3r m_position;
119146 Vector3r m_axis;
120147 Real m_target;
148+
149+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
150+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
121151 };
122152
123153 struct TargetPositionMotorSliderJointData
@@ -126,6 +156,9 @@ namespace PBD
126156 Vector3r m_position;
127157 Vector3r m_axis;
128158 Real m_target;
159+
160+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
161+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
129162 };
130163
131164 struct TargetVelocityMotorSliderJointData
@@ -134,6 +167,9 @@ namespace PBD
134167 Vector3r m_position;
135168 Vector3r m_axis;
136169 Real m_target;
170+
171+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
172+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
137173 };
138174
139175 struct SceneData
@@ -187,6 +223,9 @@ namespace PBD
187223 ObjectArray<TargetVelocityMotorHingeJointData> m_targetVelocityMotorHingeJointData;
188224 ObjectArray<TargetPositionMotorSliderJointData> m_targetPositionMotorSliderJointData;
189225 ObjectArray<TargetVelocityMotorSliderJointData> m_targetVelocityMotorSliderJointData;
226+
227+ public: // BES: 23.8.2016 - make sure the class is aligned to 16 bytes even for x86 build
228+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
190229 };
191230
192231 void readScene (const std::string &fileName, SceneData &sceneData);
0 commit comments