12GX_CORE_NAMESPACE_BEGIN()
81 void kill(
void)
override;
109 void render(
void)
override;
113 virtual void developRender(
void);
115 GX_FORCE_INLINE
virtual void iconRender(
void) {}
117 void drawIcon(
const s32 size = 32);
129 void addX(f32 value);
131 void addY(f32 value);
133 void addZ(f32 value);
153 void controlHandle(
void);
176 _position = pParentLocate ? (position - pParentLocate->getPosition()) : position;
188 _quaternion = pParentLocate ? (quaternion * pParentLocate->getQuaternion().getInverse()) : quaternion;
200 _scale = pParentLocate ? (scale / pParentLocate->getScale()) : scale;
214 GX_FORCE_INLINE
b32 isCulling(
RENDER_VIEW view, u32 subView)
const {
return _frustumCullingFlag[
static_cast<s32
>(view)][subView]; }
245 constexpr GxHandle* getHandle(
void )
const {
return _pHandle; }
247 GX_FORCE_INLINE
b32 isIconFlag(
void)
const {
return _iconFlag; }
249 GX_FORCE_INLINE
void setIconFlag(
const b32 iconFlag) { _iconFlag = iconFlag; }
251 constexpr GX_HANDLE getIconHandle(
void)
const {
return _iconHandle; }
253 constexpr void setIconHandle(
const GX_HANDLE iconHandle) { _iconHandle = iconHandle;}
271 b32 _cullingEnableFlag;
275 b32 _updatedWorldMatrix;
285GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE_REFERENCE(__CLASS__)
GxClassBaseReference継承の禁止宣言(new以外の生成禁止 + コピー禁止)
Definition GxBase.h:244
T gx_cast(GxClassBaseRoot *pObject)
Definition GxBase.h:264
void GxTypedObject
その他
Definition GxDefine.h:213
u32 GX_HANDLE
ハンドル
Definition GxDefine.h:214
RENDER_VIEW
描画優先度(ビュー)
Definition GxRender.h:442
RENDER_SUB_VIEW
描画優先度(サブビュー)
Definition GxRender.h:485
カリング用オクツリー、階層的カリングを行う
Definition GxOtFrustumCulling.h:159
プロパティクラス
Definition GxProperty.h:48
実行時型情報クラス
Definition GxRtti.h:154
球形状クラス
Definition GxShape.h:240
ユニット基礎クラス
Definition GxUnitBase.h:45
constexpr GxUnitBase * getParent(void) const
親ユニットを取得
Definition GxUnitBase.h:263
座標ユニット基礎クラス
Definition GxUnitLocate.h:23
virtual void buildSpaceGraph(void *pOctree)
空間木に追加
Definition GxUnitLocate.cpp:150
GX_FORCE_INLINE void setHierarchicalCulling(b32 flag)
階層カリングを有効にするかどうか?を設定(規定値は無効
Definition GxUnitLocate.h:222
MOVABLE
可動性定義
Definition GxUnitLocate.h:35
virtual GX_FORCE_INLINE void setPosition(const GxVector3 &position)
位置の設定
Definition GxUnitLocate.h:173
GX_FORCE_INLINE b32 isCulling(RENDER_VIEW view, u32 subView) const
カリングされているか判定
Definition GxUnitLocate.h:214
void setMovable(MOVABLE movable)
可動性を設定
Definition GxUnitLocate.cpp:578
GX_FORCE_INLINE GxQuaternion getQuaternion(void) const
回転値の取得
Definition GxUnitLocate.h:183
virtual GX_FORCE_INLINE void setScale(const GxVector3 &scale)
拡縮率の設定
Definition GxUnitLocate.h:197
virtual void updateSpaceGraph(GxOtFrustumCulling *pOctree)
Definition GxUnitLocate.cpp:192
GX_FORCE_INLINE void setBoundingSphere(const GxShapeSphere &sphere)
バウンディング球を設定
Definition GxUnitLocate.h:209
GX_FORCE_INLINE void setQuaternion(const GxQuaternion &quaternion)
回転値の設定
Definition GxUnitLocate.h:185
void addX(f32 value)
X軸方向に移動
Definition GxUnitLocate.cpp:482
virtual void updateWorldMatrix(void)
ワールドマトリクスの更新
Definition GxUnitLocate.cpp:424
constexpr void clearCullingState(void)
カリングの結果のフラスタムの内外ステータスを保持する。
Definition GxUnitLocate.h:232
static CULLING_FRUSTUM getFrustumType(const RENDER_SUB_VIEW subview)
サブビューモードからカリングフラスタムのタイプを取得
Definition GxUnitLocate.cpp:230
void addQuaternion(const GxQuaternion &quaternion)
クウォータニオン加算
Definition GxUnitLocate.cpp:530
void rotateAxisZ(const GxVector3 &vector, f32 radian)
Z軸を回転軸として、ワールドのY軸を指定方向に回転
Definition GxUnitLocate.cpp:556
constexpr u32 getCullingState(void) const
カリングの結果のフラスタムの内外ステータスを取得する。
Definition GxUnitLocate.h:228
GX_FORCE_INLINE b32 isMovable(MOVABLE movable) const
可動性を判定
Definition GxUnitLocate.h:235
GX_FORCE_INLINE b32 enabledHierarchicalCulling(void) const
階層カリングを有効にするオブジェクトかどうか?
Definition GxUnitLocate.h:220
GxUnitLocate(void)
コンストラクタ
Definition GxUnitLocate.cpp:41
constexpr void setCullingState(u32 flag)
カリングの結果のフラスタムの内外ステータスを保持する。
Definition GxUnitLocate.h:230
void render(void) override
描画
Definition GxUnitLocate.cpp:279
void forceAsyncUpdate(void) override
強制並列更新(pause中も実行)
Definition GxUnitLocate.cpp:131
GX_FORCE_INLINE void doneHierarchicalCulling(b32 flag)
階層カリングを既に行ったかどうか?を設定する
Definition GxUnitLocate.h:226
void asyncUpdate(void) override
並列更新
Definition GxUnitLocate.cpp:122
GX_FORCE_INLINE const GxMatrixAffine & getWorldMatrix(void) const
ワールドマトリクスの取得
Definition GxUnitLocate.h:163
GX_FORCE_INLINE const GxQuaternion & getLocalQuaternion(void) const
ローカル回転値の取得
Definition GxUnitLocate.h:191
GX_FORCE_INLINE void setDirtyMovable(b32 enable)
可動性の変更を設定
Definition GxUnitLocate.h:241
void addY(f32 value)
Y軸方向に移動
Definition GxUnitLocate.cpp:495
void cleanup(void) override
delete直前に呼び出される関数
Definition GxUnitLocate.cpp:72
void getBoundingSphereWorld(GxShapeSphere &sphere) const
ワールド座標のバウンディング球の取得
Definition GxUnitLocate.cpp:569
GX_FORCE_INLINE void setLocalQuaternion(const GxQuaternion &quaternion)
ローカル回転値の設定
Definition GxUnitLocate.h:193
GX_FORCE_INLINE const GxShapeSphere & getBoundingSphere(void) const
バウンディング球を取得
Definition GxUnitLocate.h:207
void addZ(f32 value)
Z軸方向に移動
Definition GxUnitLocate.cpp:508
GX_FORCE_INLINE const GxVector3 & getPosition(void) const
位置の取得
Definition GxUnitLocate.h:171
GX_FORCE_INLINE const GxVector3 & getLocalPosition(void) const
ローカル位置の取得
Definition GxUnitLocate.h:179
GX_FORCE_INLINE b32 isDirtyMovable(void) const
可動性の変更を判定
Definition GxUnitLocate.h:239
virtual GX_FORCE_INLINE void updateLocalMatrix(void)
ローカルマトリクスの更新
Definition GxUnitLocate.h:124
GX_FORCE_INLINE const GxVector3 & getLocalScale(void) const
ローカル拡縮率の取得
Definition GxUnitLocate.h:203
GX_FORCE_INLINE GxVector3 getScale(void) const
拡縮率の取得
Definition GxUnitLocate.h:195
GX_FORCE_INLINE GxMatrixAffine * getWorldMatrixAddress(void)
ワールドマトリクスアドレスの取得
Definition GxUnitLocate.h:169
GX_FORCE_INLINE b32 isCullingEnable(void) const
カリングが有効かを取得
Definition GxUnitLocate.h:216
virtual void forceSetCullingFlag(u32 argument)
オブジェクトのカリングフラグを強制設定
Definition GxUnitLocate.cpp:647
b32 isAbleDeleteFromOctree(void)
8分木から削除可能か判定
Definition GxUnitLocate.cpp:602
b32 setup(void) override
初期化
Definition GxUnitLocate.cpp:87
CULLING_FRUSTUM
フラスタムカリング定義
Definition GxUnitLocate.h:48
@ POINT_SHADOW_1
ポイントライト影1
@ POINT_SHADOW_0
ポイントライト影0
void preAsyncUpdate(void) override
並列更新(asyncUpdateの前に実行される)
Definition GxUnitLocate.cpp:112
void addPosition(const GxVector3 &moveVector)
指定方向に移動
Definition GxUnitLocate.cpp:521
void kill(void) override
消去リクエスト
Definition GxUnitLocate.cpp:207
virtual GX_FORCE_INLINE void setLocalScale(const GxVector3 &scale)
ローカル拡縮率の設定
Definition GxUnitLocate.h:205
virtual void eraseSpaceGraph(void *pOctree)
空間木から削除
Definition GxUnitLocate.cpp:173
b32 isAbleAddToOctree(void)
8分木に登録可能か判定
Definition GxUnitLocate.cpp:589
virtual void frustumCulling(void *pFrustum)
カリングを実行
Definition GxUnitLocate.cpp:615
GX_FORCE_INLINE b32 isDoneHierarchicalCulling(void) const
階層カリングが既に行われた後かどうか?を判断する
Definition GxUnitLocate.h:224
GX_FORCE_INLINE void setWorldMatrix(const GxMatrixAffine &matrix)
ワールドマトリクスの設定
Definition GxUnitLocate.h:167
GX_FORCE_INLINE void setCullingEnable(b32 flag)
カリングの有効設定
Definition GxUnitLocate.h:218
void rotateAxisY(const GxVector3 &vector, f32 radian)
Y軸を回転軸として、ワールドのZ軸を指定方向に回転
Definition GxUnitLocate.cpp:542
virtual GX_FORCE_INLINE void setLocalPosition(const GxVector3 &position)
ローカル位置の設定
Definition GxUnitLocate.h:181
アフィン変換行列(行優先)
Definition GxMatrix.h:330
GX_FORCE_INLINE GxVector3 getScale(void) const
スケールを取得
Definition GxMatrix.inl:2165
GX_FORCE_INLINE const GxVector3 & getPosition(void) const
平行移動量を取得
Definition GxMatrix.h:454
クォータニオン
Definition GxQuaternion.h:19
3次元ベクトル
Definition GxVector.h:245
32bitブーリアン
Definition GxDefine.h:173