|
|
| 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) |
| モジュールを削除
|
|