ランタイム
IDofJoint.h
Go to the documentation of this file.
1 #pragma once
2 
5 
6 #include "Mix/Dynamics/IJoint.h"
7 
8 namespace Mix{ namespace Dynamics{
9 
25  {
26  protected:
28  virtual ~IDofJoint( void ){}
29 
30  public:
33  virtual const Mix::Quaternion& GetRotationA( void ) const = 0;
36  virtual void SetRotationA( const Mix::Quaternion& rot ) = 0;
37 
40  virtual const Mix::Quaternion& GetRotationB( void ) const = 0;
43  virtual void SetRotationB( const Mix::Quaternion& rot ) = 0;
44 
48  virtual void SetLinearLimit( const Mix::Vector3& lower, const Mix::Vector3& upper ) = 0;
51  virtual const Mix::Vector3& GetLinearLowerLimit( void ) const = 0;
54  virtual const Mix::Vector3& GetLinearUpperLimit( void ) const = 0;
58  virtual void SetLinearStiffness( const Mix::Vector3& stiffness ) = 0;
61  virtual const Mix::Vector3& GetLinearStiffness( void ) const = 0;
64  virtual void SetLinearDamping( const Mix::Vector3& damping ) = 0;
67  virtual const Mix::Vector3& GetLinearDamping( void ) const = 0;
70  virtual const Mix::Vector3& GetLinearLimitSpring( void ) const = 0;
73  virtual void SetLinearLimitSpring( const Mix::Vector3& spring ) = 0;
76  virtual const Mix::Vector3& GetLinearLimitDamper( void ) const = 0;
79  virtual void SetLinearLimitDamper( const Mix::Vector3& damper ) = 0;
80 
84  virtual void SetAngularLimit( const Mix::Vector3& lower, const Mix::Vector3& upper ) = 0;
87  virtual const Mix::Vector3& GetAngularLowerLimit( void ) const = 0;
90  virtual const Mix::Vector3& GetAngularUpperLimit( void ) const = 0;
94  virtual void SetAngularStiffness( const Mix::Vector3& stiffness ) = 0;
97  virtual const Mix::Vector3& GetAngularStiffness( void ) const = 0;
100  virtual void SetAngularDamping( const Mix::Vector3& damping ) = 0;
103  virtual const Mix::Vector3& GetAngularDamping( void ) const = 0;
106  virtual const Mix::Vector3& GetAngularLimitSpring( void ) const = 0;
109  virtual void SetAngularLimitSpring( const Mix::Vector3& spring ) = 0;
112  virtual const Mix::Vector3& GetAngularLimitDamper( void ) const = 0;
115  virtual void SetAngularLimitDamper( const Mix::Vector3& damper ) = 0;
116 
118  virtual void UpdateEquilibriumPoint( void ) = 0;
119  };
120 
121 }}
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
ジョイントインターフェースインクルードファイル
virtual const Mix::Vector3 & GetAngularUpperLimit(void) const =0
回転の範囲の最大値を取得します
virtual const Mix::Vector3 & GetAngularDamping(void) const =0
回転の減衰値を取得します
virtual const Mix::Vector3 & GetAngularLimitDamper(void) const =0
回転の範囲を超えた際のダンパーの減衰力を取得します
virtual const Mix::Quaternion & GetRotationA(void) const =0
リジッドボディAの回転を取得します
virtual void SetLinearLimit(const Mix::Vector3 &lower, const Mix::Vector3 &upper)=0
線形運動の稼動範囲を設定します
virtual void SetLinearLimitSpring(const Mix::Vector3 &spring)=0
線形運動の範囲を超えた際のスプリングのやわらかさを設定します
virtual void UpdateEquilibriumPoint(void)=0
釣合い位置を更新します
ジョイントインターフェース
Definition: IJoint.h:12
クォータニオンクラス
Definition: Quaternion.h:10
virtual const Mix::Quaternion & GetRotationB(void) const =0
リジッドボディBの回転を取得します
virtual const Mix::Vector3 & GetLinearUpperLimit(void) const =0
線形運動の稼動範囲の最大値取得します
virtual void SetLinearLimitDamper(const Mix::Vector3 &damper)=0
線形運動の範囲を超えた際のダンパーの減衰力設定します
DOFジョイントインターフェース
Definition: IDofJoint.h:24
virtual void SetRotationA(const Mix::Quaternion &rot)=0
リジッドボディAの回転を設定します
virtual ~IDofJoint(void)
デストラクタ
Definition: IDofJoint.h:28
virtual const Mix::Vector3 & GetLinearLimitDamper(void) const =0
線形運動の範囲を超えた際のダンパーの減衰力取得します
virtual void SetAngularLimitSpring(const Mix::Vector3 &spring)=0
回転の範囲を超えた際のスプリングのやわらかさを取得します
ミックス
Definition: AtomicValue.h:6
virtual const Mix::Vector3 & GetLinearStiffness(void) const =0
線形運動のバネの強さを取得します
virtual const Mix::Vector3 & GetAngularLimitSpring(void) const =0
回転の範囲を超えた際のスプリングのやわらかさを取得します
virtual void SetAngularLimitDamper(const Mix::Vector3 &damper)=0
回転の範囲を超えた際のダンパーの減衰力を設定します
virtual const Mix::Vector3 & GetLinearDamping(void) const =0
線形運動の減衰値を取得します
virtual const Mix::Vector3 & GetAngularLowerLimit(void) const =0
回転の範囲の最小値を取得します
virtual const Mix::Vector3 & GetLinearLowerLimit(void) const =0
線形運動の稼動範囲の最小値を取得します
virtual void SetAngularLimit(const Mix::Vector3 &lower, const Mix::Vector3 &upper)=0
回転の範囲を設定します
virtual void SetRotationB(const Mix::Quaternion &rot)=0
リジッドボディBの回転を設定します
virtual const Mix::Vector3 & GetLinearLimitSpring(void) const =0
線形運動の範囲を超えた際のスプリングのやわらかさを取得します
virtual void SetLinearDamping(const Mix::Vector3 &damping)=0
線形運動の減衰値を設定します
virtual void SetLinearStiffness(const Mix::Vector3 &stiffness)=0
線形運動のバネの強さを設定します
virtual void SetAngularStiffness(const Mix::Vector3 &stiffness)=0
回転のバネの強さを設定します
virtual const Mix::Vector3 & GetAngularStiffness(void) const =0
回転のスプリングの強さを取得します
virtual void SetAngularDamping(const Mix::Vector3 &damping)=0
回転の減衰値を設定します