OROCHI
 
Loading...
Searching...
No Matches
GxUnitSoftbodyCollision Class Reference

クロスシミュレーション用コリジョンクラス More...

#include <GxUnitSoftbodyCollision.h>

Inheritance diagram for GxUnitSoftbodyCollision:
Collaboration diagram for GxUnitSoftbodyCollision:

Classes

class  GxHitBase
 クロスシミュレーション用コリジョンクラス : 基礎形状クラス More...
 
class  GxHitCapsule
 クロスシミュレーション用コリジョンクラス : カプセル形状クラス More...
 
class  GxHitCapsule2
 クロスシミュレーション用コリジョンクラス : カプセル 2 形状クラス More...
 
class  GxHitCapsule3
 クロスシミュレーション用コリジョンクラス : カプセル 3 形状クラス More...
 
class  GxHitSphere
 クロスシミュレーション用コリジョンクラス : 球形状クラス More...
 

Public Member Functions

初期化
 GxUnitSoftbodyCollision (void)
 デフォルトコンストラクタ
 
b32 initialize (GxResSoftbodyCollision *pResource, GxUnitModelBase *pParentModel)
 初期化(コンストラクタの直後(セットアップ前)に呼ぶこと)
 
アクセサ
constexpr u32 getCollisionDataCount (void) const
 データ総数取得
 
constexpr GxHitBase ** getCollisionData (void) const
 データ取得
 
GxHitBasegetCollisionDataFromID (u32 id)
 コリジョンID指定取得
 
constexpr GxUnitModelBasegetParentModel (void) const
 コリジョンを付与するモデル取得
 
- Public Member Functions inherited from GxUnitBase
 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_VIEWgetRenderViewFlag (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 GxUnitBasegetChild (u32 index) const
 子ユニットを取得
 
constexpr GxUnitBasegetParent (void) const
 親ユニットを取得
 
void setParent (GxUnitBase *pParent)
 親ユニットを設定
 
constexpr GxResUnitInstancegetResUnitInstance (void) const
 ユニットインスタンスリソースを取得
 
void setResUnitInstance (GxResUnitInstance *pResUnitInstance)
 ユニットインスタンスリソースを設定
 
constexpr void getPropertyResUnitInstance (void *const pValue)
 ユニットインスタンスリソースプロパティの取得
 
void setPropertyResUnitInstance (const void *const pValue)
 ユニットインスタンスリソースプロパティの設定
 
GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void) override
 デフォルトオブジェクトを取得
 
constexpr GxUnitBasegetDefaultUnit (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)
 子ユニットを追加作成
 
virtual void kill (void)
 消去リクエスト
 
- Public Member Functions inherited from GxClassBaseReference
 GxClassBaseReference (void)
 コンストラクタ
 
 GxClassBaseReference (const GxClassBaseReference &base)
 コピーコンストラクタ
 
 ~GxClassBaseReference (void) override
 デストラクタ
 
constexpr GxClassBaseReferenceoperator= (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)
 無限解放待ちの設定
 
- Public Member Functions inherited from GxClassBaseRoot
constexpr GxClassBaseRoot (void)
 コンストラクタ
 
constexpr GxClassBaseRoot (const GxClassBaseRoot &)
 コピーコンストラクタ
 
virtual ~GxClassBaseRoot (void)
 デストラクタ
 
constexpr GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

Protected Attributes

メンバ変数
u32 _collisionDataCount
 あたり総数
 
GxHitBase ** _ppCollisionData
 あたりデータ
 
GxUnitModelBase_pParentModel
 あたりをつけるモデル
 
- Protected Attributes inherited from GxClassBaseReference
s32 _referenceCount
 参照カウンタ
 
s32 _delayReleaseCount
 遅延解放カウンタ
 

操作

void cleanup (void) override
 解放処理
 
virtual b32 check (s32 jointIndex, const GxVector3 &position, f32 updateRatio, f32 updateRatioOld, GxVector3 &direct, GxVector3 &normal, f32 radius)
 当たり判定演算
 
void postAsyncUpdate (void) override
 非同期更新
 
void render (void) override
 描画
 

Additional Inherited Members

- Public Types inherited from GxUnitBase
enum class  STATE { SETUP , RUNNING , DELETE_ }
 状態 More...
 
enum  ATTRIBUTE {
  ATTRIBUTE_UPDATE = (1 << 0) , ATTRIBUTE_SELECTED = (1 << 1) , ATTRIBUTE_LOCK = (1 << 2) , ATTRIBUTE_SLOW = (1 << 3) ,
  ATTRIBUTE_NOSERIALIZE = (1 << 4)
}
 属性 More...
 
- Static Public Member Functions inherited from GxClassBaseReference
static void initializeDelayRelease (void)
 遅延解放リストの初期化
 
static void terminateDelayRelease (void)
 遅延解放リストの終了
 
static void updateDelayRelease (void)
 遅延解放リストの更新
 
static b32 isDelayReleaseEnable (void)
 遅延解放システムの有効判定
 
static u32 getDelayReleaseListCount (void)
 遅延解放待ちの数を取得
 
- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 
- Static Public Attributes inherited from GxClassBaseReference
static constexpr s32 DELAY_RELEASE_COUNT_INFINITY = -1
 遅延解放の無限待ち定義
 
- Protected Member Functions inherited from GxUnitBase
virtual b32 setup (void)
 セットアップ(初回にasyncUpdate前に一回呼ばれる)
 
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)
 モジュールを削除
 

Detailed Description

クロスシミュレーション用コリジョンクラス

Member Function Documentation

◆ check()

b32 GxUnitSoftbodyCollision::check ( s32 jointIndex,
const GxVector3 & position,
f32 updateRatio,
f32 updateRatioOld,
GxVector3 & direct,
GxVector3 & normal,
f32 radius )
virtual

当たり判定演算

Parameters
position[in] 質点位置
updateRatio[in] このフレーム時間に対するシミュレーションの相対時間
updateRatioOld[in] このフレーム時間に対するシミュレーションの相対時間(一つ前)
direct[in/out] 補正方向
normal[in/out] 補正コリジョン表面法線方向
radius[in] 質点半径
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cleanup()

void GxUnitSoftbodyCollision::cleanup ( void )
overridevirtual

解放処理

Reimplemented from GxUnitBase.

◆ getCollisionDataFromID()

GxUnitSoftbodyCollision::GxHitBase * GxUnitSoftbodyCollision::getCollisionDataFromID ( u32 id)

コリジョンID指定取得

Parameters
id[in] ID
Returns
コリジョンヒット

◆ initialize()

b32 GxUnitSoftbodyCollision::initialize ( GxResSoftbodyCollision * pResource,
GxUnitModelBase * pParentModel )

初期化(コンストラクタの直後(セットアップ前)に呼ぶこと)

Parameters
pResource[in] コリジョンリソース
pParentModel[in] 親モデル
Returns
成功ならtrue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ postAsyncUpdate()

void GxUnitSoftbodyCollision::postAsyncUpdate ( void )
overrideprotectedvirtual

非同期更新

Reimplemented from GxUnitBase.

Here is the call graph for this function:

◆ render()

void GxUnitSoftbodyCollision::render ( void )
overrideprotectedvirtual

描画

Reimplemented from GxUnitBase.


The documentation for this class was generated from the following files: