mirror of
https://github.com/copyrighttxt/watrbx-game-engine.git
synced 2026-09-07 05:57:47 +00:00
GEEKING
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
#pragma once
|
||||
|
||||
#include "Pose.h"
|
||||
|
||||
namespace RBX
|
||||
{
|
||||
class Pose;
|
||||
|
||||
struct CachedPose
|
||||
{
|
||||
CachedPose()
|
||||
: weight(0.0)
|
||||
, maskWeight(1.0)
|
||||
, initialized(false)
|
||||
, easingStyle(Pose::POSE_EASING_STYLE_LINEAR)
|
||||
, easingDirection(Pose::POSE_EASING_DIRECTION_IN)
|
||||
{};
|
||||
CachedPose(const Vector3& translation, const Vector3& rotaxisangle)
|
||||
: weight(1.0)
|
||||
, maskWeight(0.0)
|
||||
, translation(translation)
|
||||
, rotaxisangle(rotaxisangle)
|
||||
, initialized(true)
|
||||
, easingStyle(Pose::POSE_EASING_STYLE_LINEAR)
|
||||
, easingDirection(Pose::POSE_EASING_DIRECTION_IN)
|
||||
{}
|
||||
|
||||
Vector3 translation;
|
||||
Vector3 rotaxisangle;
|
||||
float weight;
|
||||
float maskWeight;
|
||||
Pose::PoseEasingStyle easingStyle;
|
||||
Pose::PoseEasingDirection easingDirection;
|
||||
bool initialized;
|
||||
|
||||
CoordinateFrame getCFrame() const;
|
||||
void setCFrame(const CoordinateFrame& cframe);
|
||||
|
||||
static CachedPose interpolatePoses(const CachedPose& p0, const CachedPose& p1, float w0, float w1);
|
||||
static CachedPose blendPoses(const CachedPose& p0, const CachedPose& p1);
|
||||
};
|
||||
|
||||
|
||||
|
||||
class IAnimatableJoint
|
||||
{
|
||||
protected:
|
||||
bool isAnimatedJoint;
|
||||
IAnimatableJoint() {isAnimatedJoint = false;}
|
||||
public:
|
||||
static const std::string sNULL;
|
||||
static const std::string sROOT;
|
||||
|
||||
virtual const std::string& getParentName() = 0;
|
||||
virtual const std::string& getPartName() = 0;
|
||||
virtual void applyPose(const CachedPose& pose) = 0;
|
||||
|
||||
virtual void setIsAnimatedJoint(bool val) {isAnimatedJoint = val;}
|
||||
bool getIsAnimatedJoint() const {return isAnimatedJoint;}
|
||||
};
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user