set defaut implementation at creation
This commit is contained in:
@@ -29,6 +29,7 @@ MorphGeometry::MorphGeometry() :
|
||||
setUseDisplayList(false);
|
||||
setUpdateCallback(new UpdateMorphGeometry);
|
||||
setUseVertexBufferObjects(true);
|
||||
_morphTransformImplementation = new MorphTransformSoftware();
|
||||
}
|
||||
|
||||
MorphGeometry::MorphGeometry(const osg::Geometry& g) :
|
||||
@@ -41,10 +42,12 @@ MorphGeometry::MorphGeometry(const osg::Geometry& g) :
|
||||
setUseDisplayList(false);
|
||||
setUpdateCallback(new UpdateMorphGeometry);
|
||||
setUseVertexBufferObjects(true);
|
||||
_morphTransformImplementation = new MorphTransformSoftware();
|
||||
}
|
||||
|
||||
MorphGeometry::MorphGeometry(const MorphGeometry& b, const osg::CopyOp& copyop) :
|
||||
osg::Geometry(b,copyop),
|
||||
_morphTransformImplementation((MorphTransform*)copyop(b._morphTransformImplementation)),
|
||||
_dirty(b._dirty),
|
||||
_method(b._method),
|
||||
_morphTargets(b._morphTargets),
|
||||
@@ -56,9 +59,6 @@ MorphGeometry::MorphGeometry(const MorphGeometry& b, const osg::CopyOp& copyop)
|
||||
setUseVertexBufferObjects(true);
|
||||
}
|
||||
|
||||
MorphTransform* MorphGeometry::getMorphTransformImplementation() { return _rigTransformImplementation.get(); }
|
||||
void MorphGeometry::setMorphTransformImplementation(MorphTransform* rig) { _rigTransformImplementation = rig; }
|
||||
|
||||
UpdateMorph::UpdateMorph(const UpdateMorph& apc,const osg::CopyOp& copyop) :
|
||||
osg::Object(apc, copyop),
|
||||
osg::Callback(apc, copyop),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* -*-c++-*-
|
||||
* Copyleft 2016 Valentin Julien
|
||||
* Copyright (C) 2017 Julien Valentin <mp3butcher@hotmail.com>
|
||||
*
|
||||
* 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
|
||||
|
||||
@@ -59,6 +59,7 @@ RigGeometry::RigGeometry()
|
||||
_matrixFromSkeletonToGeometry = _invMatrixFromSkeletonToGeometry = osg::Matrix::identity();
|
||||
// disable the computation of boundingbox for the rig mesh
|
||||
setComputeBoundingBoxCallback(new RigComputeBoundingBoxCallback());
|
||||
_rigTransformImplementation = new osgAnimation::RigTransformSoftware;
|
||||
|
||||
}
|
||||
|
||||
@@ -66,6 +67,7 @@ RigGeometry::RigGeometry()
|
||||
RigGeometry::RigGeometry(const RigGeometry& b, const osg::CopyOp& copyop) :
|
||||
osg::Geometry(b,copyop),
|
||||
_geometry(b._geometry),
|
||||
_rigTransformImplementation((RigTransform*)copyop(b._rigTransformImplementation)),
|
||||
_vertexInfluenceMap(b._vertexInfluenceMap),
|
||||
_needToComputeMatrix(b._needToComputeMatrix)
|
||||
{
|
||||
@@ -100,7 +102,7 @@ void RigGeometry::computeMatrixFromRootSkeleton()
|
||||
|
||||
void RigGeometry::update()
|
||||
{
|
||||
RigTransform& implementation = *getRigTransformImplementation();
|
||||
RigTransform& implementation = *_rigTransformImplementation;
|
||||
(implementation)(*this);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user