Added scale parameter into PositionAttitudeTransform.
Added pivotPoint parameter into AnimationPathCallack.
This commit is contained in:
@@ -187,6 +187,7 @@ class SG_EXPORT AnimationPathCallback : public NodeCallback
|
||||
public:
|
||||
|
||||
AnimationPathCallback():
|
||||
_pivotPoint(0.0f,0.0f,0.0f),
|
||||
_useInverseMatrix(false),
|
||||
_timeOffset(0.0),
|
||||
_timeMultiplier(1.0),
|
||||
@@ -198,6 +199,7 @@ class SG_EXPORT AnimationPathCallback : public NodeCallback
|
||||
AnimationPathCallback(const AnimationPathCallback& apc,const CopyOp& copyop):
|
||||
NodeCallback(apc,copyop),
|
||||
_animationPath(apc._animationPath),
|
||||
_pivotPoint(apc._pivotPoint),
|
||||
_useInverseMatrix(apc._useInverseMatrix),
|
||||
_timeOffset(apc._timeOffset),
|
||||
_timeMultiplier(apc._timeMultiplier),
|
||||
@@ -211,6 +213,7 @@ class SG_EXPORT AnimationPathCallback : public NodeCallback
|
||||
|
||||
AnimationPathCallback(AnimationPath* ap,double timeOffset=0.0f,double timeMultiplier=1.0f):
|
||||
_animationPath(ap),
|
||||
_pivotPoint(0.0f,0.0f,0.0f),
|
||||
_useInverseMatrix(false),
|
||||
_timeOffset(timeOffset),
|
||||
_timeMultiplier(timeMultiplier),
|
||||
@@ -221,11 +224,12 @@ class SG_EXPORT AnimationPathCallback : public NodeCallback
|
||||
|
||||
|
||||
void setAnimationPath(AnimationPath* path) { _animationPath = path; }
|
||||
|
||||
AnimationPath* getAnimationPath() { return _animationPath.get(); }
|
||||
|
||||
const AnimationPath* getAnimationPath() const { return _animationPath.get(); }
|
||||
|
||||
|
||||
inline void setPivotPoint(const Vec3& pivot) { _pivotPoint = pivot; }
|
||||
inline const Vec3& getPivotPoint() const { return _pivotPoint; }
|
||||
|
||||
void setUseInverseMatrix(bool useInverseMatrix) { _useInverseMatrix = useInverseMatrix; }
|
||||
bool getUseInverseMatrix() const { return _useInverseMatrix; }
|
||||
|
||||
@@ -252,6 +256,7 @@ class SG_EXPORT AnimationPathCallback : public NodeCallback
|
||||
public:
|
||||
|
||||
ref_ptr<AnimationPath> _animationPath;
|
||||
osg::Vec3 _pivotPoint;
|
||||
bool _useInverseMatrix;
|
||||
double _timeOffset;
|
||||
double _timeMultiplier;
|
||||
|
||||
@@ -33,6 +33,7 @@ class SG_EXPORT PositionAttitudeTransform : public Transform
|
||||
Transform(pat,copyop),
|
||||
_position(pat._position),
|
||||
_attitude(pat._attitude),
|
||||
_scale(pat._scale),
|
||||
_pivotPoint(pat._pivotPoint) {}
|
||||
|
||||
|
||||
@@ -42,32 +43,32 @@ class SG_EXPORT PositionAttitudeTransform : public Transform
|
||||
virtual const PositionAttitudeTransform* asPositionAttitudeTransform() const { return this; }
|
||||
|
||||
inline void setPosition(const Vec3& pos) { _position = pos; dirtyBound(); }
|
||||
|
||||
inline const Vec3& getPosition() const { return _position; }
|
||||
|
||||
|
||||
inline void setAttitude(const Quat& quat) { _attitude = quat; dirtyBound(); }
|
||||
|
||||
inline const Quat& getAttitude() const { return _attitude; }
|
||||
|
||||
|
||||
inline void setScale(const Vec3& scale) { _scale = scale; dirtyBound(); }
|
||||
inline const Vec3& getScale() const { return _scale; }
|
||||
|
||||
|
||||
inline void setPivotPoint(const Vec3& pivot) { _pivotPoint = pivot; dirtyBound(); }
|
||||
|
||||
inline const Vec3& getPivotPoint() const { return _pivotPoint; }
|
||||
|
||||
|
||||
virtual bool computeLocalToWorldMatrix(Matrix& matrix,NodeVisitor* nv) const;
|
||||
|
||||
virtual bool computeWorldToLocalMatrix(Matrix& matrix,NodeVisitor* nv) const;
|
||||
|
||||
|
||||
|
||||
protected :
|
||||
|
||||
virtual ~PositionAttitudeTransform() {}
|
||||
|
||||
Vec3 _position;
|
||||
Quat _attitude;
|
||||
Vec3 _scale;
|
||||
Vec3 _pivotPoint;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user