OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::NavMesh Class Reference

ナビメッシュ More...

#include <NavMesh.hpp>

Public Member Functions

SIV3D_NODISCARD_CXX20 NavMesh ()
 デフォルトコンストラクタ More...
 
SIV3D_NODISCARD_CXX20 NavMesh (const Polygon &polygon, const NavMeshConfig &config={})
 Polygon から 2D のナビメッシュを構築します。 More...
 
SIV3D_NODISCARD_CXX20 NavMesh (const Polygon &polygon, const Array< uint8 > &areaIDs, const NavMeshConfig &config={})
 Polygon から 2D のナビメッシュを構築します。 More...
 
SIV3D_NODISCARD_CXX20 NavMesh (const Array< Float2 > &vertices, const Array< TriangleIndex > &indices, const NavMeshConfig &config={})
 頂点配列とインデックス配列から 2D のナビメッシュを構築します。 More...
 
SIV3D_NODISCARD_CXX20 NavMesh (const Array< Float2 > &vertices, const Array< TriangleIndex > &indices, const Array< uint8 > &areaIDs, const NavMeshConfig &config={})
 頂点配列とインデックス配列から 2D のナビメッシュを構築します。 More...
 
SIV3D_NODISCARD_CXX20 NavMesh (const Array< Float3 > &vertices, const Array< TriangleIndex > &indices, const NavMeshConfig &config={})
 頂点配列とインデックス配列から 3D のナビメッシュを構築します。 More...
 
SIV3D_NODISCARD_CXX20 NavMesh (const Array< Float3 > &vertices, const Array< TriangleIndex > &indices, const Array< uint8 > &areaIDs, const NavMeshConfig &config={})
 頂点配列とインデックス配列から 3D のナビメッシュを構築します。 More...
 
 ~NavMesh ()
 デストラクタ More...
 
bool isValid () const noexcept
 ナビメッシュが構築されているかを返します。 More...
 
 operator bool () const noexcept
 ナビメッシュが構築されているかを返します。 More...
 
bool build (const Polygon &polygon, const NavMeshConfig &config={})
 Polygon から 2D のナビメッシュを構築します。 More...
 
bool build (const Polygon &polygon, const Array< uint8 > &areaIDs, const NavMeshConfig &config={})
 Polygon から 2D のナビメッシュを構築します。 More...
 
bool build (const Array< Float2 > &vertices, const Array< TriangleIndex > &indices, const NavMeshConfig &config={})
 頂点配列とインデックス配列から 2D のナビメッシュを構築します。 More...
 
bool build (const Array< Float2 > &vertices, const Array< TriangleIndex > &indices, const Array< uint8 > &areaIDs, const NavMeshConfig &config={})
 頂点配列とインデックス配列から 2D のナビメッシュを構築します。 More...
 
bool build (const Array< Float3 > &vertices, const Array< TriangleIndex > &indices, const NavMeshConfig &config={})
 頂点配列とインデックス配列から 3D のナビメッシュを構築します。 More...
 
bool build (const Array< Float3 > &vertices, const Array< TriangleIndex > &indices, const Array< uint8 > &areaIDs, const NavMeshConfig &config={})
 頂点配列とインデックス配列から 3D のナビメッシュを構築します。 More...
 
Array< Vec2query (const Vec2 &start, const Vec2 &end, const Array< std::pair< int32, double >> &areaCosts={}) const
 目的地もしくは目的地の近くまで到達できるナビメッシュ上の経路を計算します。 More...
 
void query (const Vec2 &start, const Vec2 &end, Array< Vec2 > &dst, const Array< std::pair< int32, double >> &areaCosts={}) const
 目的地もしくは目的地の近くまで到達できるナビメッシュ上の経路を計算します。 More...
 
Array< Vec3query (const Vec3 &start, const Vec3 &end, const Array< std::pair< int32, double >> &areaCosts={}) const
 目的地もしくは目的地の近くまで到達できるナビメッシュ上の経路を計算します。 More...
 
void query (const Vec3 &start, const Vec3 &end, Array< Vec3 > &dst, const Array< std::pair< int32, double >> &areaCosts={}) const
 目的地もしくは目的地の近くまで到達できるナビメッシュ上の経路を計算します。 More...
 

Detailed Description

ナビメッシュ

Constructor & Destructor Documentation

◆ NavMesh() [1/7]

SIV3D_NODISCARD_CXX20 s3d::NavMesh::NavMesh ( )

デフォルトコンストラクタ

◆ NavMesh() [2/7]

SIV3D_NODISCARD_CXX20 s3d::NavMesh::NavMesh ( const Polygon polygon,
const NavMeshConfig config = {} 
)
explicit

Polygon から 2D のナビメッシュを構築します。

Parameters
polygonナビメッシュ用の地形データ
configナビメッシュの設定

◆ NavMesh() [3/7]

SIV3D_NODISCARD_CXX20 s3d::NavMesh::NavMesh ( const Polygon polygon,
const Array< uint8 > &  areaIDs,
const NavMeshConfig config = {} 
)

Polygon から 2D のナビメッシュを構築します。

Parameters
polygonナビメッシュ用の地形データ
areaIDs各三角形のエリア ID, 指定しない場合のデフォルト値は 63
configナビメッシュの設定

◆ NavMesh() [4/7]

SIV3D_NODISCARD_CXX20 s3d::NavMesh::NavMesh ( const Array< Float2 > &  vertices,
const Array< TriangleIndex > &  indices,
const NavMeshConfig config = {} 
)

頂点配列とインデックス配列から 2D のナビメッシュを構築します。

Parameters
verticesナビメッシュ用の地形データの頂点配列
indicesナビメッシュ用の地形データのインデックス配列
configナビメッシュの設定

◆ NavMesh() [5/7]

SIV3D_NODISCARD_CXX20 s3d::NavMesh::NavMesh ( const Array< Float2 > &  vertices,
const Array< TriangleIndex > &  indices,
const Array< uint8 > &  areaIDs,
const NavMeshConfig config = {} 
)

頂点配列とインデックス配列から 2D のナビメッシュを構築します。

Parameters
verticesナビメッシュ用の地形データの頂点配列
indicesナビメッシュ用の地形データのインデックス配列
areaIDs各三角形のエリア ID, 指定しない場合のデフォルト値は 63
configナビメッシュの設定

◆ NavMesh() [6/7]

SIV3D_NODISCARD_CXX20 s3d::NavMesh::NavMesh ( const Array< Float3 > &  vertices,
const Array< TriangleIndex > &  indices,
const NavMeshConfig config = {} 
)

頂点配列とインデックス配列から 3D のナビメッシュを構築します。

Parameters
verticesナビメッシュ用の地形データの頂点配列
indicesナビメッシュ用の地形データのインデックス配列
configナビメッシュの設定

◆ NavMesh() [7/7]

SIV3D_NODISCARD_CXX20 s3d::NavMesh::NavMesh ( const Array< Float3 > &  vertices,
const Array< TriangleIndex > &  indices,
const Array< uint8 > &  areaIDs,
const NavMeshConfig config = {} 
)

頂点配列とインデックス配列から 3D のナビメッシュを構築します。

Parameters
verticesナビメッシュ用の地形データの頂点配列
indicesナビメッシュ用の地形データのインデックス配列
areaIDs各三角形のエリア ID, 指定しない場合のデフォルト値は 63
configナビメッシュの設定

◆ ~NavMesh()

s3d::NavMesh::~NavMesh ( )

デストラクタ

Member Function Documentation

◆ build() [1/6]

bool s3d::NavMesh::build ( const Array< Float2 > &  vertices,
const Array< TriangleIndex > &  indices,
const Array< uint8 > &  areaIDs,
const NavMeshConfig config = {} 
)

頂点配列とインデックス配列から 2D のナビメッシュを構築します。

Parameters
verticesナビメッシュ用の地形データの頂点配列
indicesナビメッシュ用の地形データのインデックス配列
areaIDs各三角形のエリア ID, 指定しない場合のデフォルト値は 63
configナビメッシュの設定
Returns
ナビメッシュの構築に成功した場合 true, それ以外の場合は false

◆ build() [2/6]

bool s3d::NavMesh::build ( const Array< Float2 > &  vertices,
const Array< TriangleIndex > &  indices,
const NavMeshConfig config = {} 
)

頂点配列とインデックス配列から 2D のナビメッシュを構築します。

Parameters
verticesナビメッシュ用の地形データの頂点配列
indicesナビメッシュ用の地形データのインデックス配列
configナビメッシュの設定
Returns
ナビメッシュの構築に成功した場合 true, それ以外の場合は false

◆ build() [3/6]

bool s3d::NavMesh::build ( const Array< Float3 > &  vertices,
const Array< TriangleIndex > &  indices,
const Array< uint8 > &  areaIDs,
const NavMeshConfig config = {} 
)

頂点配列とインデックス配列から 3D のナビメッシュを構築します。

Parameters
verticesナビメッシュ用の地形データの頂点配列
indicesナビメッシュ用の地形データのインデックス配列
areaIDs各三角形のエリア ID, 指定しない場合のデフォルト値は 63
configナビメッシュの設定
Returns
ナビメッシュの構築に成功した場合 true, それ以外の場合は false

◆ build() [4/6]

bool s3d::NavMesh::build ( const Array< Float3 > &  vertices,
const Array< TriangleIndex > &  indices,
const NavMeshConfig config = {} 
)

頂点配列とインデックス配列から 3D のナビメッシュを構築します。

Parameters
verticesナビメッシュ用の地形データの頂点配列
indicesナビメッシュ用の地形データのインデックス配列
configナビメッシュの設定
Returns
ナビメッシュの構築に成功した場合 true, それ以外の場合は false

◆ build() [5/6]

bool s3d::NavMesh::build ( const Polygon polygon,
const Array< uint8 > &  areaIDs,
const NavMeshConfig config = {} 
)

Polygon から 2D のナビメッシュを構築します。

Parameters
polygonナビメッシュ用の地形データ
areaIDs各三角形のエリア ID, 指定しない場合のデフォルト値は 63
configナビメッシュの設定
Returns
ナビメッシュの構築に成功した場合 true, それ以外の場合は false

◆ build() [6/6]

bool s3d::NavMesh::build ( const Polygon polygon,
const NavMeshConfig config = {} 
)

Polygon から 2D のナビメッシュを構築します。

Parameters
polygonナビメッシュ用の地形データ
configナビメッシュの設定
Returns
ナビメッシュの構築に成功した場合 true, それ以外の場合は false

◆ isValid()

bool s3d::NavMesh::isValid ( ) const
noexcept

ナビメッシュが構築されているかを返します。

Returns
ナビメッシュが構築されている場合 true, それ以外の場合は false

◆ operator bool()

s3d::NavMesh::operator bool ( ) const
explicitnoexcept

ナビメッシュが構築されているかを返します。

Remarks
isVlaid() と同じです。
Returns
ナビメッシュが構築されている場合 true, それ以外の場合は false

◆ query() [1/4]

void s3d::NavMesh::query ( const Vec2 start,
const Vec2 end,
Array< Vec2 > &  dst,
const Array< std::pair< int32, double >> &  areaCosts = {} 
) const

目的地もしくは目的地の近くまで到達できるナビメッシュ上の経路を計算します。

Parameters
start出発地点の座標
end目的地の座標
dst経路の格納先
areaCostsエリアのコスト

◆ query() [2/4]

Array<Vec2> s3d::NavMesh::query ( const Vec2 start,
const Vec2 end,
const Array< std::pair< int32, double >> &  areaCosts = {} 
) const

目的地もしくは目的地の近くまで到達できるナビメッシュ上の経路を計算します。

Parameters
start出発地点の座標
end目的地の座標
areaCostsエリアのコスト
Returns
ナビメッシュ上の経路

◆ query() [3/4]

void s3d::NavMesh::query ( const Vec3 start,
const Vec3 end,
Array< Vec3 > &  dst,
const Array< std::pair< int32, double >> &  areaCosts = {} 
) const

目的地もしくは目的地の近くまで到達できるナビメッシュ上の経路を計算します。

Parameters
start出発地点の座標
end目的地の座標
dst経路の格納先
areaCostsエリアのコスト

◆ query() [4/4]

Array<Vec3> s3d::NavMesh::query ( const Vec3 start,
const Vec3 end,
const Array< std::pair< int32, double >> &  areaCosts = {} 
) const

目的地もしくは目的地の近くまで到達できるナビメッシュ上の経路を計算します。

Parameters
start出発地点の座標
end目的地の座標
areaCostsエリアのコスト
Returns
ナビメッシュ上の経路

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