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

パスクラス More...

#include <GxPathSet.h>

Inheritance diagram for GxPath:
Collaboration diagram for GxPath:

Public Member Functions

初期化
 GxPath (void)
 コンストラクタ
 
 ~GxPath (void) override
 デストラクタ
 
void initialize (void)
 初期化
 
- Public Member Functions inherited from GxClassBase
constexpr GxClassBase (void)
 コンストラクタ
 
constexpr GxClassBase (const GxClassBase &base)
 コピーコンストラクタ
 
 ~GxClassBase (void) override
 デストラクタ
 
- 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の取得
 
virtual GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void)
 デフォルトオブジェクトを取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

定義

enum class  MOVE_TYPE { LINEAR , SPLINE , BEZIER , TURN }
 移動方法 More...
 
typedef void(GxClassBaseRoot::*) ARRIVE_NODE_CALLBACK(GxPathNode *pNode)
 ノード到着コールバック定義
 
static const f32 GOAL_RANGE_DEFAULT = 0.3f
 到着判定範囲
 
static const f32 TURN_RADIUS_DEFAULT = 0.9f
 回転式の場合の半径
 

操作

GX_FORCE_INLINE void addTopNode (GxPathNode *pNode)
 ノードを頭に追加
 
GX_FORCE_INLINE void addBottomNode (GxPathNode *pNode)
 ノードを末尾に追加
 
void addPath (GxPath *pPath)
 パスを末尾に追加
 
GX_FORCE_INLINE GxListClassBasegetNodeList (void)
 ノードリストを取得
 
void eraseBottomNode (void)
 末尾のノードを削除
 
void eraseAllNode (void)
 全てのノードを削除
 
constexpr void setOwner (GxUnitLocate *pOwner)
 所持者を設定
 
GX_FORCE_INLINE void setArriveNodeCallback (ARRIVE_NODE_CALLBACK pCallback)
 ノード到着コールバックを設定
 
GX_FORCE_INLINE GxPathNodegetTargetNode (void) const
 ターゲットノードを取得
 
void setTargetNode (GxPathNode *pNode)
 ターゲットノードを設定
 
GX_FORCE_INLINE GxPathNodegetBeforeNode (void) const
 以前のノードを取得
 
GX_FORCE_INLINE GxPathNodegetNextNode (void) const
 次のノードを取得
 
constexpr f32 getGoalRange (void) const
 到着判定距離を取得
 
constexpr void setGoalRange (f32 range)
 到着判定距離を設定
 
GX_FORCE_INLINE b32 isGoal (void) const
 ゴールに着いたか判定
 
GX_FORCE_INLINE void setGoalFlag (b32 flag)
 ゴールフラグを設定
 
GX_FORCE_INLINE b32 isLoop (void) const
 ループさせるか判定
 
GX_FORCE_INLINE void setLoopFlag (b32 flag)
 ループさせるかフラグを設定
 
constexpr MOVE_TYPE getMoveType (void) const
 移動方法の取得
 
constexpr void setMoveType (MOVE_TYPE type)
 移動方法の設定
 
constexpr void setRadius (f32 radius)
 回転半径の設定
 
virtual f32 calculateCost (GxClassBaseRoot *pObject)
 コスト計算
 
void getDirect (GxVector3 &direct)
 方向ベクトルの取得
 
virtual b32 isArrivedAtTargetNode (void)
 ノードに到達したかどうか取得
 

Additional Inherited Members

- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 

Detailed Description

パスクラス

Member Enumeration Documentation

◆ MOVE_TYPE

enum class GxPath::MOVE_TYPE
strong

移動方法

Enumerator
LINEAR 

直線移動

SPLINE 

Bスプライン移動

BEZIER 

ベジエ移動

TURN 

回転移動

Member Function Documentation

◆ addPath()

void GxPath::addPath ( GxPath * pPath)

パスを末尾に追加

Parameters
pPath[in] 追加パス
Here is the call graph for this function:

◆ calculateCost()

f32 GxPath::calculateCost ( GxClassBaseRoot * pObject)
virtual

コスト計算

Parameters
pObject[in] コスト対象オブジェクト
Returns
コスト値
Here is the call graph for this function:

◆ getDirect()

void GxPath::getDirect ( GxVector3 & direct)

方向ベクトルの取得

Parameters
direct[out] 方向ベクトル
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isArrivedAtTargetNode()

b32 GxPath::isArrivedAtTargetNode ( void )
protectedvirtual

ノードに到達したかどうか取得

Returns
ノードへの到達条件を満たしていたらtrue
Here is the call graph for this function:

◆ setTargetNode()

void GxPath::setTargetNode ( GxPathNode * pNode)

ターゲットノードを設定

Parameters
pNode[in] 設定ノード
Here is the call graph for this function:
Here is the caller graph for this function:

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