|
|
|
| GxUnitClothModel (void) |
| | デフォルトコンストラクタ
|
| |
| void | cleanup (void) override |
| | 解放処理
|
| |
|
| virtual void | setAdditionalData (GxResSoftbodySimulation::GxSoftbodyClothAdditionalData *pResourceAdditionalData) |
| | モデル基準布用追加情報設定
|
| |
|
GX_FORCE_INLINE b32 | isMotionGravity (void) const |
| | 重力を修正してモーションへ収束させるか取得
|
| |
|
GX_FORCE_INLINE void | setIsMotionGravity (b32 enable) |
| | 重力を修正してモーションへ収束させるか設定
|
| |
| void | setMotionGravity (b32 enable, f32 gravityForce, const GxVector3 &gravityDirection=-GxVector3::AXIS_Y) |
| | 重力を修正してモーションへ収束させる設定 - パラメータ変更込み
|
| |
| constexpr void | reset (void) |
| | 外から呼べるリセット
|
| |
|
GX_FORCE_INLINE b32 | isClothSimulation (void) const |
| | 有効/無効の取得
|
| |
| GX_FORCE_INLINE void | setIsClothSimulation (b32 enable) |
| | 有効/無効の設定(シミュレーションとモーションを補間して遷移)
|
| |
| GX_FORCE_INLINE b32 | isInterpolateToMotion (void) const |
| | シミュレーションからモーションへ補間している状態かどうか取得
|
| |
|
GX_FORCE_INLINE void | forceDisableClothSimulation (void) |
| | シミュレーションを強制終了してモーションへ(補間しない)
|
| |
|
constexpr f32 | getInterpolateTime (void) const |
| | 補間時間の取得(シミュレーション→モーションの補間にかける時間)
|
| |
|
constexpr void | setInterpolateTime (f32 time) |
| | 補間時間の設定(シミュレーション→モーションの補間にかける時間)
|
| |
|
GX_FORCE_INLINE const GxAdditionalData ** | getAdditionalData (void) const |
| | モデル基準鎖追加情報取得
|
| |
|
constexpr s32 | getJointIndex (u32 pointIndex, u32 lineIndex) const |
| | モデル関節番号取得
|
| |
|
constexpr void | setJointIndex (u32 pointIndex, u32 lineIndex, s32 no) |
| | モデル関節番号設定
|
| |
|
GX_FORCE_INLINE const GxQuaternion & | getOldQuaternion (u32 pointIndex, u32 lineIndex) const |
| | モーションへの補間のためのクォータニオンを取得
|
| |
|
GX_FORCE_INLINE void | setOldQuaternion (u32 pointIndex, u32 lineIndex, GxQuaternion &quaternion) |
| | モーションへの補間のためのクォータニオンを設定
|
| |
|
constexpr f32 | getRadius (u32 pointIndex, u32 lineIndex) const |
| | 各質点の当たり半径を取得
|
| |
|
constexpr void | setRadius (u32 pointIndex, u32 lineIndex, f32 radius) |
| | 各質点の当たり半径を設定
|
| |
|
GX_FORCE_INLINE const GxQuaternion & | getTwist (u32 pointIndex, u32 lineIndex) const |
| | ねじれ回転取得
|
| |
|
GX_FORCE_INLINE void | setTwist (u32 pointIndex, u32 lineIndex, const GxQuaternion &twist) |
| | ねじれ回転設定
|
| |
|
constexpr f32 | getTwistLimit (u32 pointIndex, u32 lineIndex) const |
| | ねじれ回転限界角度取得
|
| |
|
constexpr void | setTwistLimit (u32 pointIndex, u32 lineIndex, f32 limit) |
| | ねじれ回転限界角度設定
|
| |
|
GX_FORCE_INLINE const GxVector3 & | getHitBackDir (u32 pointIndex, u32 lineIndex) const |
| | 追加情報による入力法線取得
|
| |
|
GX_FORCE_INLINE void | setHitBackDir (u32 pointIndex, u32 lineIndex, const GxVector3 &direct) |
| | 追加情報による入力法線設定
|
| |
|
GX_FORCE_INLINE b32 | isHitBack (u32 pointIndex, u32 lineIndex) const |
| | ねじれ計算用当たり方向取得
|
| |
|
GX_FORCE_INLINE void | setIsHitBack (u32 pointIndex, u32 lineIndex, b32 isHitBack) |
| | ねじれ計算用当たり方向設定
|
| |
|
GX_FORCE_INLINE const GxVector3 & | getAdditionalNormal (u32 pointIndex, u32 lineIndex) const |
| | 追加情報法線取得
|
| |
|
GX_FORCE_INLINE void | setAdditionalNormal (u32 pointIndex, u32 lineIndex, const GxVector3 &normal) |
| | 追加情報法線設定
|
| |
|
constexpr f32 | getAngleLimit (u32 pointIndex, u32 lineIndex) const |
| | 回転限界角度取得
|
| |
|
constexpr void | setAngleLimit (u32 pointIndex, u32 lineIndex, f32 limit) |
| | 回転限界角度設定
|
| |
|
GX_FORCE_INLINE const GxVector3 & | getAngleAxis (u32 pointIndex, u32 lineIndex) const |
| | 回転角度基準軸取得
|
| |
|
GX_FORCE_INLINE void | setAngleAxis (u32 pointIndex, u32 lineIndex, const GxVector3 &axis) |
| | 回転角度基準軸設定
|
| |
|
constexpr f32 | getBaseRatio (u32 pointIndex, u32 lineIndex) const |
| | 基姿勢の割合を取得
|
| |
|
constexpr void | setBaseRatio (u32 pointIndex, u32 lineIndex, f32 baseRatio) |
| | 基姿勢の割合を設定
|
| |
|
GX_FORCE_INLINE GxVector3 | getWindRatio (u32 pointIndex, u32 lineIndex) const |
| | 風を受ける割合を取得
|
| |
|
GX_FORCE_INLINE void | setWindRatio (u32 pointIndex, u32 lineIndex, GxVector3 &windRatio) |
| | 風を受ける割合を設定
|
| |
|
constexpr u32 | getID (void) const |
| | ID取得
|
| |
|
constexpr u32 | getPointCount (void) const |
| | 質点数を取得
|
| |
|
constexpr u32 | getLineCount (void) const |
| | 列数を取得
|
| |
|
| GxUnitClothBase (void) |
| | デフォルトコンストラクタ
|
| |
Public Member Functions inherited from GxUnitSoftbodyBase |
|
constexpr GxUnitSoftbodyCollision * | getCollision (void) const |
| | コリジョンユニット取得
|
| |
|
constexpr void | setCollision (GxUnitSoftbodyCollision *pCollision) |
| | コリジョンユニット設定
|
| |
| constexpr u32 | getPointCount (void) const |
| | シミュレート点数の取得
|
| |
| constexpr u32 | getLineCount (void) const |
| | シミュレート線数の取得
|
| |
|
constexpr f32 | getMass (void) const |
| | 質量取得 : 途中変更無効
|
| |
|
constexpr f32 | getAirDamping (void) const |
| | 空気抵抗取得
|
| |
|
constexpr void | setAirDamping (f32 damping) |
| | 空気抵抗設定
|
| |
|
constexpr f32 | getWindForce (void) const |
| | 風力取得
|
| |
|
constexpr void | setWindForce (f32 windForce) |
| | 風力設定
|
| |
|
GX_FORCE_INLINE const GxVector3 & | getWindDirection (void) const |
| | 風向取得
|
| |
|
GX_FORCE_INLINE void | setWindDirection (const GxVector3 &windDirection) |
| | 風向設定
|
| |
|
constexpr f32 | getHitBackForceDamper (void) const |
| | 当たり抵抗定数取得
|
| |
|
constexpr void | setHitBackForceDamper (f32 damper) |
| | 当たり抵抗定数設定
|
| |
|
constexpr f32 | getUpdateDelta (void) const |
| | 更新間隔取得
|
| |
|
constexpr void | setUpdateDelta (f32 delta) |
| | 更新間隔設定
|
| |
|
constexpr u32 | getMoveStrength (u32 index) const |
| | 平行移動伝播率の取得 [ 0 ~ 100 ]
|
| |
| constexpr void | setMoveStrength (u32 strength, u32 index) |
| | 平行移動伝播率の設定 [ 0 ~ 100 ]
|
| |
|
constexpr f32 | getWarpLengthSquare (void) const |
| | 瞬間移動検出距離(の二乗)取得
|
| |
|
constexpr void | setWarpLengthSquare (f32 length) |
| | 瞬間移動検出距離(の二乗)設定
|
| |
|
GX_FORCE_INLINE const GxVector3 & | getWarpPosition (void) const |
| | 瞬間移動検出参照位置取得 : 自動更新、変更禁止
|
| |
|
GX_FORCE_INLINE void | setExtraLoop (f32 time=1.0f) |
| | 空ループ(シミュレーションが落ち着くまで待つ)設定 : 時間も一緒に決める(デフォルト 1秒)
|
| |
|
GX_FORCE_INLINE b32 | isUpdateExtraLoop (void) const |
| | 空ループする(シミュレーションが落ち着くまで待つ)かどうか取得
|
| |
|
GX_FORCE_INLINE void | setIsUpdateExtraLoop (void) |
| | 空ループする(シミュレーションが落ち着くまで待つ)よう設定
|
| |
|
constexpr f32 | getExtraLoopTime (void) const |
| | 空ループする時間を取得 [ sec ]
|
| |
|
constexpr void | setExtraLoopTime (f32 time) |
| | 空ループする時間を設定 [ sec ]
|
| |
|
constexpr f32 | getGravityForce (void) const |
| | 重力取得
|
| |
|
constexpr void | setGravityForce (f32 force) |
| | 重力設定
|
| |
|
constexpr f32 | getAdjustGravityBlendRate (void) const |
| | ローカル重力方向と補整重力方向のブレンド率を取得
|
| |
|
constexpr void | setAdjustGravityBlendRate (f32 blandRate) |
| | ローカル重力方向と補整重力方向のブレンド率を設定
|
| |
|
GX_FORCE_INLINE const GxVector3 & | getGravityDirection (void) const |
| | ローカル重力方向取得
|
| |
|
GX_FORCE_INLINE void | setGravityDirection (const GxVector3 &direction) |
| | ローカル重力方向設定
|
| |
|
GX_FORCE_INLINE const GxVector3 & | getAdjustGravityDirection (void) const |
| | 補整重力方向取得
|
| |
|
GX_FORCE_INLINE void | setAdjustGravityDirection (const GxVector3 &direction) |
| | 補整重力方向設定
|
| |
| void | cleanup (void) override |
| | 解放処理
|
| |
|
| GxUnitBase (void) |
| | コンストラクタ
|
| |
|
constexpr f32 | getDeltaTimeFactor (void) const |
| | デルタタイム係数を取得
|
| |
|
constexpr void | setDeltaTimeFactor (f32 deltaTimeFactor) |
| | デルタタイム係数を設定
|
| |
|
constexpr f32 | getDeltaTime (void) const |
| | デルタタイムを取得
|
| |
|
constexpr void | setDeltaTime (f32 deltaTime) |
| | デルタタイムを設定
|
| |
|
constexpr f32 | getDeltaTimeRatio (void) const |
| | デルタタイムレート(通常のフレームレートの何倍か)を取得
|
| |
|
constexpr void | setDeltaTimeRatio (f32 deltaTimeRatio) |
| | デルタタイムレート(通常のフレームレートの何倍か)を設定
|
| |
|
constexpr STATE | getState (void) const |
| | 状態を取得
|
| |
|
constexpr void | setState (STATE state) |
| | 状態を設定(ユーザーは使用してはならない内部使用)
|
| |
|
GX_FORCE_INLINE b32 | isEnable (void) const |
| | 有効か判定
|
| |
|
constexpr u32 | getAttribute (void) const |
| | 属性を取得
|
| |
|
GX_FORCE_INLINE b32 | isAttribute (ATTRIBUTE attribute) const |
| | 属性を判定
|
| |
|
GX_FORCE_INLINE void | setAttribute (ATTRIBUTE attribute, b32 enable) |
| | 属性を設定
|
| |
|
GX_FORCE_INLINE b32 | isRender (void) const |
| | 描画フラグ判定
|
| |
| void | setRender (b32 enable, b32 withChildren=false) |
| | 描画フラグを設定
|
| |
|
GX_FORCE_INLINE GxFlag32Index< RENDER_VIEW > | getRenderViewFlag (void) const |
| | 描画するビューフラグを取得
|
| |
|
GX_FORCE_INLINE b32 | isRenderView (RENDER_VIEW view) const |
| | 描画するビューを判定
|
| |
|
GX_FORCE_INLINE void | setRenderView (RENDER_VIEW view, b32 enable) |
| | 描画するビューを設定
|
| |
|
GX_FORCE_INLINE b32 | isRenderSubView (RENDER_SUB_VIEW subView) const |
| | 描画するサブビューを判定
|
| |
|
GX_FORCE_INLINE void | setRenderSubView (RENDER_SUB_VIEW subView, b32 enable) |
| | 描画するサブビューを設定
|
| |
|
GX_FORCE_INLINE b32 | isUpdateEnable (UPDATE_TYPE updateType) const |
| | 更新を呼ぶかを判定
|
| |
|
GX_FORCE_INLINE void | setUpdateEnable (UPDATE_TYPE updateType, b32 enable) |
| | 更新を呼ぶかを設定
|
| |
|
GX_FORCE_INLINE void | getPropertyAttributeUpdate (void *const pValue) |
| | プロパティ用:更新処理の属性を取得
|
| |
|
GX_FORCE_INLINE void | setPropertyAttributeUpdate (const void *const pValue) |
| | プロパティ用:更新処理の属性を設定
|
| |
|
template<typename T > |
| T * | getModule (void) const |
| | モジュールを取得
|
| |
|
constexpr u32 | getChildCount (void) const |
| | 子ユニット数を取得
|
| |
|
constexpr GxUnitBase * | getChild (u32 index) const |
| | 子ユニットを取得
|
| |
|
constexpr GxUnitBase * | getParent (void) const |
| | 親ユニットを取得
|
| |
| void | setParent (GxUnitBase *pParent) |
| | 親ユニットを設定
|
| |
|
constexpr GxResUnitInstance * | getResUnitInstance (void) const |
| | ユニットインスタンスリソースを取得
|
| |
| void | setResUnitInstance (GxResUnitInstance *pResUnitInstance) |
| | ユニットインスタンスリソースを設定
|
| |
|
constexpr void | getPropertyResUnitInstance (void *const pValue) |
| | ユニットインスタンスリソースプロパティの取得
|
| |
| void | setPropertyResUnitInstance (const void *const pValue) |
| | ユニットインスタンスリソースプロパティの設定
|
| |
| GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) override |
| | デフォルトオブジェクトを取得
|
| |
|
constexpr GxUnitBase * | getDefaultUnit (void) const |
| | デフォルトユニットを取得
|
| |
| void | setDefaultUnit (GxUnitBase *pDefaultUnit) |
| | デフォルトユニットを設定
|
| |
| void | sleep (f32 time) |
| | スリープ(スクリプト用)
|
| |
|
template<typename T > |
| T * | createAndAddChild (u32 listProcessNumber=U32_MAX, u32 listKindNumber=U32_MAX, b32 isSerialize=false, const GxRtti *pRtti=nullptr) |
| | 子ユニットを追加作成
|
| |
|
| GxClassBaseReference (void) |
| | コンストラクタ
|
| |
|
| GxClassBaseReference (const GxClassBaseReference &base) |
| | コピーコンストラクタ
|
| |
|
| ~GxClassBaseReference (void) override |
| | デストラクタ
|
| |
| constexpr GxClassBaseReference & | operator= (const GxClassBaseReference &base) |
| | 代入演算子
|
| |
| virtual s32 | addReference (void) |
| | 参照カウンタを加算
|
| |
| virtual s32 | release (void) |
| | 解放
|
| |
|
virtual s32 | getReferenceCount (void) const |
| | 参照カウンタを取得
|
| |
|
constexpr void | setDelayReleaseCount (s32 count) |
| | 遅延解放カウンタを設定
|
| |
|
void | setDelayReleaseCountInfinity (b32 on) |
| | 無限解放待ちの設定
|
| |
|
constexpr | GxClassBaseRoot (void) |
| | コンストラクタ
|
| |
|
constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
| | コピーコンストラクタ
|
| |
|
virtual | ~GxClassBaseRoot (void) |
| | デストラクタ
|
| |
|
constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
| | 代入演算子
|
| |
|
virtual GxRtti & | getRtti (void) const =0 |
| | Rttiの取得
|
| |
|
GX_FORCE_INLINE b32 | isDefaultObject (void) |
| | デフォルトオブジェクト判定
|
| |
|
|
static void | initializeDelayRelease (void) |
| | 遅延解放リストの初期化
|
| |
|
static void | terminateDelayRelease (void) |
| | 遅延解放リストの終了
|
| |
|
static void | updateDelayRelease (void) |
| | 遅延解放リストの更新
|
| |
|
static b32 | isDelayReleaseEnable (void) |
| | 遅延解放システムの有効判定
|
| |
| static u32 | getDelayReleaseListCount (void) |
| | 遅延解放待ちの数を取得
|
| |
|
static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| | Rttiの取得
|
| |
|
static const f32 | _ktDefault = 1.0f |
| | バネ定数 - 伸びにくさ
|
| |
|
static const f32 | _ksDefault = 0.8f |
| | バネ定数 - せん断力
|
| |
|
static const f32 | _kbDefault = 0.2f |
| | バネ定数 - 曲げにくさ
|
| |
Static Public Attributes inherited from GxUnitSoftbodyBase |
|
static const GxVector3 | _gravityDefault = GxVector3( 0.0f, -9.8f, 0.0f ) |
| | 重力初期値 [ m/s^2 ]
|
| |
|
static const GxVector3 | _gravityDirectionDefault = GxVector3( 0.0f, -1.0f, 0.0f ) |
| | 重力方向初期値 [ m/s^2 ]
|
| |
|
static const f32 | _gravityForceDefault = 9.80f |
| | 重力大きさ初期値 [ m/s^2 ]
|
| |
|
static const f32 | _airDampingDefault = 0.2f |
| | 空気抵抗初期値 [ 正数 ]
|
| |
|
static const f32 | _windForceDefault = 0.0f |
| | 風力初期値 [ 正数 ]
|
| |
|
static const GxVector3 | _windDirectionDefault = GxVector3(1.0f,0.0f,0.0f) |
| | 風向初期値 [ Normalized ]
|
| |
|
static const f32 | _massDefault = 0.1f |
| | 質量初期値 [ kg ]
|
| |
|
static const f32 | _updateDeltaDefault = 0.01f |
| | 更新間隔初期値 [ 秒 ]
|
| |
|
static const f32 | _hitbackForceDamperDefault = 0.3f |
| | 跳ね返り力初期値 [ 0.0 - 1.0 ]
|
| |
|
static const f32 | _warpLengthSquareDefault = 1.0f*1.0f |
| | 瞬間移動検出距離(の二乗)初期値 [ m^2 ]
|
| |
|
static constexpr s32 | DELAY_RELEASE_COUNT_INFINITY = -1 |
| | 遅延解放の無限待ち定義
|
| |
| void | updateForce (f32 updateRatio, f32 updateRatioOld) override |
| | 各質点にかかる力の算出
|
| |
|
virtual void | calculateNormalVector (void) |
| | 各点の法線を算出
|
| |
| virtual void | calculateInternalForce (void) |
| | 各点にかかる内力の算出
|
| |
| void | updateCell (void) override |
| | 各点を現在の速度と力から移動
|
| |
|
constexpr f32 | kT (f32 ks) const |
| | ばね関数 - 伸びにくさ係数取得
|
| |
|
constexpr f32 | kS (f32 ks) const |
| | ばね関数 - せん断力係数取得
|
| |
|
constexpr f32 | kB (f32 ks) const |
| | ばね関数 - 曲げにくさ係数取得
|
| |
|
constexpr f32 | getKT (void) const |
| | 伸びにくさの取得
|
| |
|
constexpr void | setKT (f32 kt) |
| | 伸びにくさの設定
|
| |
|
constexpr f32 | getKS (void) const |
| | せん断力の取得
|
| |
|
constexpr void | setKS (f32 ks) |
| | せん断力の設定
|
| |
|
constexpr f32 | getKB (void) const |
| | 曲げにくさの取得
|
| |
|
constexpr void | setKB (f32 kb) |
| | 曲げにくさの設定
|
| |
| GX_FORCE_INLINE void * | getCellPointer (void) const override |
| | 質点データ取得
|
| |
|
GX_FORCE_INLINE const GxVector3 & | getPosition (u32 pointIndex, u32 lineIndex) const |
| | 質点位置取得
|
| |
|
GX_FORCE_INLINE void | setPosition (u32 pointIndex, u32 lineIndex, const GxVector3 &position) |
| | 質点位置設定
|
| |
|
GX_FORCE_INLINE const GxVector3 & | getNormal (u32 pointIndex, u32 lineIndex) const |
| | 質点の法線取得
|
| |
|
GX_FORCE_INLINE void | setNormal (u32 pointIndex, u32 lineIndex, const GxVector3 &normal) |
| | 質点の法線設定
|
| |
|
GX_FORCE_INLINE b32 | isFixed (u32 pointIndex, u32 lineIndex) const |
| | 質点固定情報取得
|
| |
|
GX_FORCE_INLINE void | setFixed (u32 pointIndex, u32 lineIndex, b32 isFixed) |
| | 質点固定情報設定
|
| |
| b32 | analyseEnableLink (u32 pointIndex, u32 lineIndex) |
| | 列間の質点で繋がり(拘束)があるかどうかを解析
|
| |
Protected Member Functions inherited from GxUnitSoftbodyBase |
| void | postAsyncUpdate (void) override |
| | 非同期更新
|
| |
| void | render (void) override |
| | 描画
|
| |
|
| GxUnitSoftbodyBase (void) |
| | デフォルトコンストラクタ
|
| |
| virtual void | preAsyncUpdate (void) |
| | 並列更新(asyncUpdateの前に実行される)
|
| |
| virtual void | asyncUpdate (void) |
| | 並列更新
|
| |
| virtual void | sequentialUpdate (void) |
| | 逐次更新
|
| |
| virtual void | forceAsyncUpdate (void) |
| | 強制並列更新(pause中も実行)
|
| |
| virtual b32 | setRenderMaterial (GxRenderMaterial *pMaterial, const GxResModel::GxMeshGroup *pMeshGroup) |
| | マテリアルの描画設定
|
| |
|
template<typename T > |
| T * | addModule (void) |
| | モジュールを作成
|
| |
|
template<typename T > |
| void | removeModule (void) |
| | モジュールを削除
|
| |