From Cedric Pinson, remove unused file, fix crash for old files

This commit is contained in:
Cedric Pinson
2010-01-27 15:37:45 +00:00
parent 6af9f0819b
commit d730a6bdb5
6 changed files with 8 additions and 131 deletions

View File

@@ -20,7 +20,6 @@ SET(LIB_PUBLIC_HEADERS
${HEADER_PATH}/Animation
${HEADER_PATH}/AnimationManagerBase
${HEADER_PATH}/AnimationUpdateCallback
${HEADER_PATH}/Assert
${HEADER_PATH}/BasicAnimationManager
${HEADER_PATH}/Bone
${HEADER_PATH}/BoneMapVisitor
@@ -28,7 +27,6 @@ SET(LIB_PUBLIC_HEADERS
${HEADER_PATH}/CubicBezier
${HEADER_PATH}/EaseMotion
${HEADER_PATH}/Export
${HEADER_PATH}/FindParentAnimationManagerVisitor
${HEADER_PATH}/FrameAction
${HEADER_PATH}/Interpolator
${HEADER_PATH}/Keyframe
@@ -76,7 +74,6 @@ ADD_LIBRARY(${LIB_NAME}
Bone.cpp
BoneMapVisitor.cpp
Channel.cpp
FindParentAnimationManagerVisitor.cpp
LinkVisitor.cpp
MorphGeometry.cpp
RigGeometry.cpp

View File

@@ -1,34 +0,0 @@
/* -*-c++-*-
* Copyright (C) 2008 Cedric Pinson <cedric.pinson@plopbyte.net>
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
#include <osgAnimation/FindParentAnimationManagerVisitor>
#include <osgAnimation/AnimationManagerBase>
osgAnimation::FindParentAnimationManagerVisitor::FindParentAnimationManagerVisitor() : osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_PARENTS) {}
void osgAnimation::FindParentAnimationManagerVisitor::apply(osg::Node& node)
{
if (_manager.valid())
return;
osg::NodeCallback* callback = node.getUpdateCallback();
while (callback)
{
_manager = dynamic_cast<osgAnimation::AnimationManagerBase*>(callback);
if (_manager.valid())
return;
callback = callback->getNestedCallback();
}
traverse(node);
}
osgAnimation::AnimationManagerBase* osgAnimation::FindParentAnimationManagerVisitor::getAnimationManager() { return _manager.get(); }

View File

@@ -35,7 +35,8 @@ bool RigTransformSoftware::init(RigGeometry& geom)
BoneMap bm = mapVisitor.getBoneMap();
initVertexSetFromBones(bm, geom.getVertexInfluenceSet().getUniqVertexSetToBoneSetList());
geom.copyFrom(*geom.getSourceGeometry());
if (geom.getSourceGeometry())
geom.copyFrom(*geom.getSourceGeometry());
geom.setVertexArray(0);
geom.setNormalArray(0);
@@ -49,6 +50,10 @@ void RigTransformSoftware::operator()(RigGeometry& geom)
if (!init(geom))
return;
if (!geom.getSourceGeometry()) {
osg::notify(osg::WARN) << this << " RigTransformSoftware no source geometry found on RigGeometry" << std::endl;
return;
}
osg::Geometry& source = *geom.getSourceGeometry();
osg::Geometry& destination = geom;