RRT(Rapidly Random Tree)経路セットエリアクラス More...
#include <GxPathSet.h>
Public Types | |
定義 | |
enum class | TREE_TYPE { GROUND , AIR } |
ツリーのタイプ More... | |
![]() | |
enum class | SEARCH_LENGTH { SHORT = 0 , LONG , MAX } |
探索距離 More... | |
enum class | SEARCH_TYPE { NEAR_ = 0 , FAR_ , MAX } |
探索方法 More... | |
enum | ATTRIBUTE { ATTRIBUTE_COLLISION_INVALID = (1 << 0) , ATTRIBUTE_TARGET_NEAR = (1 << 1) , ATTRIBUTE_TARGET_FAR = (1 << 2) } |
ノード取得用属性 More... | |
Public Member Functions | |
初期化 | |
GxPathSetAreaRRT (void) | |
デフォルトコンストラクタ | |
~GxPathSetAreaRRT (void) override | |
デストラクタ | |
探索用関数 | |
void | createRRT (const GxVector3 &startPosition, const GxVector3 &goalPosition, TREE_TYPE treeType=TREE_TYPE::GROUND, f32 searchAreaSize=30.0f, f32 maxConnectLength=2.0f, u32 maxNode=32, f32 goalCheckDistance=2.0f) |
RRT生成 | |
![]() | |
GxPathSetArea (void) | |
コンストラクタ | |
~GxPathSetArea (void) override | |
デストラクタ | |
void | createShape (GxResPathSet::GxAreaParam *pAreaParam) |
形状を作成 | |
constexpr s32 | getId (void) const |
IDを取得 | |
constexpr void | setId (s32 id) |
IDを設定 | |
constexpr void | setShape (GxShape *pShape) |
コリジョンの形状を設定 | |
GX_FORCE_INLINE void | addNode (GxPathNode *pNode) |
ノードを追加 | |
void | addRoute (GxPath *pRoute, s32 id) |
ルートを追加 | |
void | eraseAllNode (void) |
全てのノードを削除 | |
void | eraseAllRoute (void) |
全てのルートを削除 | |
GxPathNode * | getNode (u32 id) |
ノードを取得(ID指定) | |
GxPathNode * | getNode (u32 dataIndex, s32 dataValue) |
ノードを取得(データ指定) | |
GxPathNode * | getNearNode (const GxVector3 &position, u32 attribute=0, const GxVector3 *pTargetPosition=nullptr) |
最も近いノードを取得 | |
GxPathNode * | getFarNode (const GxVector3 &position) |
最も遠いノードを取得 | |
b32 | isInclude (const GxVector3 &position) const |
エリアに含まれるか判定 | |
b32 | searchNoCost (GxPathNode *pStartNode, GxPathNode *pGoalNode, GxPath *pPath) |
コスト無視探索 | |
b32 | searchFast (GxPathNode *pStartNode, GxPathNode *pGoalNode, GxPath *pPath, GxClassBaseRoot *pObject, SEARCH_LENGTH length=SEARCH_LENGTH::SHORT) |
高速探索 | |
b32 | searchAStar (GxPathNode *pStartNode, GxPathNode *pGoalNode, GxPath *pPath, GxClassBaseRoot *pObject, SEARCH_LENGTH length=SEARCH_LENGTH::SHORT) |
A*探索 | |
b32 | getRoute (s32 id, GxPath *pPath) const |
固定ルートを取得 | |
![]() | |
constexpr | GxClassBase (void) |
コンストラクタ | |
constexpr | GxClassBase (const GxClassBase &base) |
コピーコンストラクタ | |
~GxClassBase (void) override | |
デストラクタ | |
![]() | |
constexpr | GxClassBaseRoot (void) |
コンストラクタ | |
constexpr | GxClassBaseRoot (const GxClassBaseRoot &) |
コピーコンストラクタ | |
virtual | ~GxClassBaseRoot (void) |
デストラクタ | |
constexpr GxClassBaseRoot & | operator= (const GxClassBaseRoot &) |
代入演算子 | |
virtual GxRtti & | getRtti (void) const =0 |
Rttiの取得 | |
virtual GX_FORCE_INLINE const GxTypedObject * | getDefaultObject (void) |
デフォルトオブジェクトを取得 | |
GX_FORCE_INLINE b32 | isDefaultObject (void) |
デフォルトオブジェクト判定 | |
Additional Inherited Members | |
![]() | |
static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
Rttiの取得 | |
![]() | |
b32 | checkCollision (const GxVector3 &startPosition, const GxVector3 &endPosition) |
衝突判定 | |
RRT(Rapidly Random Tree)経路セットエリアクラス
|
strong |
void GxPathSetAreaRRT::createRRT | ( | const GxVector3 & | startPosition, |
const GxVector3 & | goalPosition, | ||
TREE_TYPE | treeType = TREE_TYPE::GROUND, | ||
f32 | searchAreaSize = 30.0f, | ||
f32 | maxConnectLength = 2.0f, | ||
u32 | maxNode = 32, | ||
f32 | goalCheckDistance = 2.0f ) |
RRT生成
startPosition | [in] 開始座標 |
goalPosition | [in] ゴール座標 |
treeType | [in] 地上か空中か |
searchAreaSize | [in] startPosを中心とした、ツリーの構築範囲 |
maxConnectLength | [in] それぞれのノード間の距離、細かさ |
maxNode | [in] ノードの最大数 |
goalCheckDistance | [in] ゴール到着判定の許容距離 |