diff options
author | Benoit Bolsee <benoit.bolsee@online.be> | 2012-06-05 02:29:17 +0400 |
---|---|---|
committer | Benoit Bolsee <benoit.bolsee@online.be> | 2012-06-05 02:29:17 +0400 |
commit | 8db6e682e9c0d55a34c64a490cbf29ff301c4973 (patch) | |
tree | 306b1eb927d6768f88a149167c62d9724f8f6814 /intern/itasc/Scene.cpp | |
parent | 0d3b19e7340e0f3fa075e90e695ddf760529b925 (diff) |
Fix [#31544]: iTaSC assertion when creating armature with no joint. This degenerated case can be obtained by having a single bone in the IK chain and locking all 3 axis. This case was causing an assert in the KDL library. The bug is fixed by simply not creating the IK scene in this case.
Diffstat (limited to 'intern/itasc/Scene.cpp')
-rw-r--r-- | intern/itasc/Scene.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/intern/itasc/Scene.cpp b/intern/itasc/Scene.cpp index 16f8551bfc7..877cd883208 100644 --- a/intern/itasc/Scene.cpp +++ b/intern/itasc/Scene.cpp @@ -91,7 +91,8 @@ bool Scene::setParam(SceneParam paramId, double value) bool Scene::addObject(const std::string& name, Object* object, UncontrolledObject* base, const std::string& baseFrame) { // finalize the object before adding - object->finalize(); + if (!object->finalize()) + return false; //Check if Object is controlled or uncontrolled. if(object->getType()==Object::Controlled){ int baseFrameIndex = base->addEndEffector(baseFrame); |