Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-11-13 16:25:14 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-11-13 16:25:14 +0400
commitd0550758afaf963577c07113c387cd67f0ffca52 (patch)
tree4dc2aabeb3804fe0342924f8fddfbeb9f22ffad6 /intern/itasc
parent11c83d843206648a33bcc8b4d754577ec0a51d2a (diff)
Fix #29048: iTaSC solver crash on certain compilers/platforms, due to memory
alignment issues with Eigen. Patch by Tobias Oelgarte.
Diffstat (limited to 'intern/itasc')
-rw-r--r--intern/itasc/kdl/chain.hpp3
-rw-r--r--intern/itasc/kdl/tree.hpp4
2 files changed, 5 insertions, 2 deletions
diff --git a/intern/itasc/kdl/chain.hpp b/intern/itasc/kdl/chain.hpp
index 0d40690202a..a2b4905622e 100644
--- a/intern/itasc/kdl/chain.hpp
+++ b/intern/itasc/kdl/chain.hpp
@@ -34,7 +34,8 @@ namespace KDL {
*/
class Chain {
private:
- std::vector<Segment> segments;
+ // Eigen allocator is needed for alignment of Eigen data types
+ std::vector<Segment, Eigen::aligned_allocator<Segment> > segments;
unsigned int nrOfJoints;
unsigned int nrOfSegments;
public:
diff --git a/intern/itasc/kdl/tree.hpp b/intern/itasc/kdl/tree.hpp
index bdd3aa94572..6b822dcd1e0 100644
--- a/intern/itasc/kdl/tree.hpp
+++ b/intern/itasc/kdl/tree.hpp
@@ -27,12 +27,14 @@
#include <string>
#include <map>
+#include <Eigen/Core>
namespace KDL
{
//Forward declaration
class TreeElement;
- typedef std::map<std::string,TreeElement> SegmentMap;
+ // Eigen allocator is needed for alignment of Eigen data types
+ typedef std::map<std::string,TreeElement, std::less<std::string>, Eigen::aligned_allocator<std::pair<std::string, TreeElement> > > SegmentMap;
class TreeElement
{