OdysseyDecomp/lib/al/Library/Joint/JointSpringController.h
2025-05-03 13:55:27 +02:00

40 lines
1 KiB
C++

#pragma once
#include <basis/seadTypes.h>
#include <math/seadMatrix.h>
#include <math/seadVector.h>
#include "Library/Joint/JointControllerBase.h"
namespace al {
class ByamlIter;
class LiveActor;
class JointSpringController : public JointControllerBase {
public:
JointSpringController();
void setChildLocalPos(const sead::Vector3f&);
void setChildLocalMtxPtr(const sead::Matrix34f*);
void setStability(f32);
void setFriction(f32);
void setLimitDegree(f32);
void setControlRate(f32);
void addControlRate(f32);
void subControlRate(f32);
void setJointName(const char*);
void load(const ByamlIter&);
void reset();
void calcChildPos(sead::Vector3f*, const sead::Matrix34f*) const;
bool canCompute(sead::Matrix34f*, sead::Vector3f*);
void calcJointCallback(s32, sead::Matrix34f*);
void compute(sead::Matrix34f*, const sead::Vector3f&, const sead::Vector3f&,
const sead::Vector3f&);
const char* getCtrlTypeName() const;
private:
char* filler[0xe0];
};
} // namespace al