形状基礎クラス More...
#include <GxShape.h>


Public Member Functions | |
初期化 | |
| GxShape (void) | |
| コンストラクタ | |
| ~GxShape (void) override | |
| デストラクタ | |
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 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) |
| デフォルトオブジェクト判定 | |
Static Public Attributes | |
定義 | |
| static const f32 | HIT_DISTANCE = 5.0e-1 |
| この距離未満なら衝突と判定 | |
| static const f32 | NORMALIZED_JUDGE_MAX = 1.0e-3 |
| fabs(lengthSquare - 1.f)がこの値未満なら正規化と判定 | |
操作 | |
| virtual const GxVector3 | getNormal (const GxVector3 &position) const =0 |
| 指定位置への法線を求める | |
| virtual b32 | isInclude (const GxVector3 &) const |
| static b32 | isHit (const GxShapeSphere &sphere0, const GxShapeSphere &sphere1, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 球と球の衝突判定 | |
| static b32 | isHit (const GxShapeSphere &sphere, const GxShapeBox &box, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 球と箱の衝突判定 | |
| static b32 | isHit (const GxShapeSphere &sphere, const GxShapeCylinder &cylinder, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 球と円柱の衝突判定 | |
| static b32 | isHit (const GxShapeSphere &sphere, const GxShapeMultisphere &multisphere, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 球とカプセルの衝突判定 | |
| static b32 | isHit (const GxShapeSphere &sphere, const GxShapePlane &plane, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 球と平面の衝突判定 | |
| static b32 | isHit (const GxShapeSphere &sphere, const GxShapeTrimesh &trimesh, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 球と三角メッシュの衝突判定 | |
| static b32 | isHitSphereRay (const GxShapeSphere &sphere, const GxShapeRay &ray, f32 *pParameter=nullptr, GxVector3 *pHitNormal=nullptr) |
| 球と線分の衝突判定 | |
| static b32 | isHit (const GxShapeSphere &sphere, const GxShapeBeam &beam, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 球と光束の衝突判定 | |
| static b32 | isHit (const GxShapeBox &box0, const GxShapeBox &box1, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 箱と箱の衝突判定 | |
| static b32 | isHit (const GxShapeBox &box, const GxShapeCylinder &cylinder, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 箱と円柱の衝突判定 | |
| static b32 | isHit (const GxShapeBox &box, const GxShapeMultisphere &multisphere, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 箱とカプセルの衝突判定 | |
| static b32 | isHit (const GxShapeBox &box, const GxShapePlane &plane, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 箱と平面の衝突判定 | |
| static b32 | isHit (const GxShapeBox &box, const GxVector3 &n, const GxVector3 &p, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 箱と平面の衝突判定 | |
| static b32 | isHit (const GxShapeBox &box, const GxShapeTrimesh &trimesh, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 箱と三角メッシュの衝突判定 | |
| static b32 | isHitBoxRay (const GxShapeBox &box, const GxShapeRay &ray, f32 *pParam=nullptr, GxVector3 *pHitNormal=nullptr) |
| 箱と線分の衝突判定 | |
| static b32 | isHit (const GxShapeBox &box, const GxShapeBeam &beam, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 箱と光束の衝突判定 | |
| static b32 | isHit (const GxShapeCylinder &cylinder0, const GxShapeCylinder &cylinder1, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 円柱と円柱の衝突判定 | |
| static b32 | isHit (const GxShapeCylinder &cylinder, const GxShapeMultisphere &multisphere, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 円柱とカプセルの衝突判定 | |
| static b32 | isHit (const GxShapeCylinder &cylinder, const GxShapePlane &plane, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 円柱と平面の衝突判定 | |
| static b32 | isHit (const GxShapeCylinder &cylinder, const GxShapeTrimesh &trimesh, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 円柱と三角メッシュの衝突判定 | |
| static b32 | isHitCylinderRay (const GxShapeCylinder &cylinder, const GxShapeRay &ray, f32 *pParameter=nullptr, GxVector3 *pHitNormal=nullptr) |
| 円柱と線分の衝突判定 | |
| static b32 | isHit (const GxShapeCylinder &cylinder, const GxShapeBeam &beam, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 円柱と光束の衝突判定 | |
| static b32 | isHit (const GxShapeCapsule &multisphere0, const GxShapeCapsule &multisphere1, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| カプセルとカプセルの衝突判定 | |
| static b32 | isHit (const GxShapeCapsule &multisphere, const GxShapePlane &plane, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| カプセルと平面の衝突判定 | |
| static b32 | isHit (const GxShapeCapsule &multisphere, const GxShapeTrimesh &trimesh, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| カプセルと三角メッシュの衝突判定 | |
| static b32 | isHitCapsuleRay (const GxShapeCapsule &multisphere, const GxShapeRay &ray, f32 *pParameter=nullptr, GxVector3 *pHitNormal=nullptr) |
| カプセルと線分の衝突判定 | |
| static b32 | isHit (const GxShapeCapsule &multisphere, const GxShapeBeam &beam, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| カプセルと光束の衝突判定 | |
| static b32 | isHit (const GxShapeMultisphere &multisphere0, const GxShapeMultisphere &multisphere1, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| マルチ球とマルチ球の衝突判定 | |
| static b32 | isHit (const GxShapeMultisphere &multisphere, const GxShapePlane &plane, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| マルチ球と平面の衝突判定 | |
| static b32 | isHit (const GxShapeMultisphere &multisphere, const GxShapeTrimesh &trimesh, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| マルチ球と三角メッシュの衝突判定 | |
| static b32 | isHitMultisphereRay (const GxShapeMultisphere &multisphere, const GxShapeRay &ray, f32 *pParameter=nullptr, GxVector3 *pHitNormal=nullptr) |
| マルチ球と線分の衝突判定 | |
| static b32 | isHit (const GxShapeMultisphere &multisphere, const GxShapeBeam &beam, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| マルチ球と光束の衝突判定 | |
| static b32 | isHit (const GxShapeAxisAlignedBox &aab0, const GxShapeAxisAlignedBox &aab1, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| AABとAABの衝突判定 | |
| static b32 | isHit (const GxShapeAxisAlignedBox &aabb, const GxShapePlane &plane, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| AABBと平面の交差判定 | |
| static b32 | isHit (const GxShapeAxisAlignedBox &aabb, const GxVector3 &n, const GxVector3 &p, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| AABBと平面の交差判定 | |
| static b32 | isHit (const GxShapePlane &plane0, const GxShapePlane &plane1, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 平面と平面の衝突判定 | |
| static b32 | isHit (const GxShapePlane &plane, const GxShapeTrimesh &trimesh, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 平面と三角メッシュの衝突判定 | |
| static b32 | isHitPlaneRay (const GxShapePlane &plane, const GxShapeRay &ray, f32 *pParameter=nullptr, GxVector3 *pHitNormal=nullptr) |
| 平面と線分の衝突判定 | |
| static b32 | isHit (const GxShapePlane &plane, const GxShapeBeam &beam, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 平面と光束の衝突判定 | |
| static b32 | isHit (const GxShapeTrimesh &trimesh0, const GxShapeTrimesh &trimesh1, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 三角メッシュと三角メッシュの衝突判定 | |
| static b32 | isHit (const GxShapeTrimesh &trimesh, const GxShapeRay &ray, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 三角メッシュと線分の衝突判定 | |
| static b32 | isHit (const GxShapeTrimesh &trimesh, const GxShapeBeam &beam, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 三角メッシュと光束の衝突判定 | |
| static b32 | isHit (const GxShapeRay &ray0, const GxShapeRay &ray1, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 線分と線分の衝突判定 | |
| static b32 | isHit (const GxShapeRay &ray, const GxShapeBeam &beam, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 線分と光束の衝突判定 | |
| static b32 | isHit (const GxShapeBeam &beam0, const GxShapeBeam &beam1, GxVector3 *pHitPosition=nullptr, GxVector3 *pAdjustVector=nullptr) |
| 光束と光束の衝突判定 | |
| static void | getClosestPoint (const GxVector3 &point, const GxShapeBox &box, GxVector3 &closestPoint, GxVector3 &surfacePoint) |
| 点と箱の最近接点を求める | |
| static void | getClosestPoint (const GxVector3 &point, const GxShapeRay &ray, GxVector3 &closestPoint) |
| 点と線分の最近接点を求める | |
Additional Inherited Members | |
Static Public Member Functions inherited from GxClassBaseRoot | |
| static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| Rttiの取得 | |
形状基礎クラス
|
static |
点と箱の最近接点を求める
| point | [in] 点 |
| box | [in] 箱 |
| closestPoint | [out] 最近接点 |
| surfacePoint | [out] 接触面の点 |


|
static |
点と線分の最近接点を求める
| point | [in] 点 |
| ray | [in] 線分 |
| closestPoint | [out] 最近接点 |

指定位置への法線を求める
Implemented in GxShapeAxisAlignedBox, GxShapeBox, GxShapeCapsule, GxShapeCylinder, GxShapeDynamicsCompound, GxShapeFrustum, GxShapeMultisphere, GxShapePlane, GxShapeRay, GxShapeSphere, GxShapeTetrahedron, GxShapeTriangle, and GxShapeTrimesh.
|
static |
AABとAABの衝突判定
| aab0 | [in] AAB0 |
| aab1 | [in] AAB1 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |

|
static |
AABBと平面の交差判定
| aabb | [in] AABBオブジェクト |
| plane | [in] 平面オブジェクト |
| pHitPosition | [out] 中心の平面への投射位置 |
| pAdjustVector | [out] AABBが平面に丁度くっつくまで |

|
static |
AABBと平面の交差判定
| aabb | [in] AABBオブジェクト |
| normal | [in] 平面の法線 |
| position | [in] 平面の座標 |
| pHitPosition | [in] 中心の平面への投射位置 |
| pAdjustVector | [in] AABBが平面に丁度くっつくまで |

|
static |
光束と光束の衝突判定
| beam0 | [in] 光束0 |
| beam1 | [in] 光束1 |
| pHitPosition | [out] 中心の平面への投射位置 |
| pAdjustVector | [out] AABBが平面に丁度くっつくまで |
|
static |
箱と光束の衝突判定
| box | [in] 箱 |
| beam | [in] 光束 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
箱と円柱の衝突判定
| box | [in] 箱 |
| cylinder | [in] 円柱 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
箱とカプセルの衝突判定
| box | [in] 箱 |
| multisphere | [in] マルチ球 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
箱と平面の衝突判定
| box | [in] 箱 |
| plane | [in] 平面 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |

|
static |
箱と三角メッシュの衝突判定
| box | [in] 箱 |
| trimesh | [in] 三角メッシュ |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
箱と平面の衝突判定
| box | [in] 箱 |
| normal | [in] 平面の法線 |
| position | [in] 平面の座標 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |

|
static |
箱と箱の衝突判定
| box0 | [in] 箱0 |
| box1 | [in] 箱1 |
| pHitPosition | [out] 箱に最もめり込んでいる、箱上の点の座標 |
| pAdjustVector | [out] 箱をどれだけ動かせば箱と衝突しなくなるか |
|
static |
カプセルと光束の衝突判定
| capsule | [in] 円柱 |
| beam | [in] 光束 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
カプセルと平面の衝突判定
| capsule | [in] 円柱 |
| plane | [in] 平面 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
カプセルと三角メッシュの衝突判定
| capsule | [in] 円柱 |
| trimesh | [in] 三角メッシュ |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
カプセルとカプセルの衝突判定
| capsule0 | [in] 円柱0 |
| capsule1 | [in] 円柱1 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
円柱と光束の衝突判定
| cylinder | [in] 円柱0 |
| beam | [in] 光束 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
円柱とカプセルの衝突判定
| cylinder | [in] 円柱 |
| multisphere | [in] カプセル |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
円柱と平面の衝突判定
| cylinder | [in] 円柱 |
| plane | [in] 平面 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
円柱と三角メッシュの衝突判定
| cylinder | [in] 円柱0 |
| trimesh | [in] 三角メッシュ |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
円柱と円柱の衝突判定
| cylinder0 | [in] 円柱0 |
| cylinder1 | [in] 円柱1 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
マルチ球と光束の衝突判定
| multisphere | [in] マルチ球 |
| beam | [in] 光束 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
マルチ球と平面の衝突判定
| multisphere | [in] マルチ球 |
| plane | [in] 平面 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
マルチ球と三角メッシュの衝突判定
| multisphere | [in] マルチ球 |
| trimesh | [in] 三角メッシュ |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
マルチ球とマルチ球の衝突判定
| multisphere0 | [in] マルチ球0 |
| multisphere1 | [in] マルチ球1 |
| pHitPosition | [out] 接触点の座標 |
| pAdjustVector | [out] どれだけ動かせば衝突しなくなるか |
|
static |
平面と光束の衝突判定
| plane | [in] 平面 |
| beam | [in] 光束 |
| pHitPosition | [out] 中心の平面への投射位置 |
| pAdjustVector | [out] AABBが平面に丁度くっつくまで |
|
static |
平面と三角メッシュの衝突判定
| plane | [in] 平面 |
| trimesh | [in] 三角メッシュ |
| pHitPosition | [in] 中心の平面への投射位置 |
| pAdjustVector | [in] AABBが平面に丁度くっつくまで |
|
static |
平面と平面の衝突判定
| plane0 | [in] 平面0 |
| plane1 | [in] 平面1 |
| pHitPosition | [in] 中心の平面への投射位置 |
| pAdjustVector | [in] AABBが平面に丁度くっつくまで |
|
static |
線分と光束の衝突判定
| ray | [in] 線分 |
| beam | [in] 光束 |
| pHitPosition | [out] 中心の平面への投射位置 |
| pAdjustVector | [out] AABBが平面に丁度くっつくまで |
|
static |
線分と線分の衝突判定
| ray0 | [in] 線分0 |
| ray1 | [in] 線分1 |
| pHitPosition | [out] 中心の平面への投射位置 |
| pAdjustVector | [out] AABBが平面に丁度くっつくまで |
|
static |
球と光束の衝突判定
| sphere | [in] 判定する主体 |
| beam | [in] 判定される側 |
| pHitPosition | [out] beamに最もめり込んでいる、sphere上の点の座標 |
| pAdjustVector | [out] beamをどれだけ動かせばsphereと衝突しなくなるか |

|
static |
球と箱の衝突判定
| sphere | [in] 判定する主体 |
| box | [in] 判定される側 |
| pHitPosition | [out] boxに最もめり込んでいる、sphere上の点の座標 |
| pAdjustVector | [out] boxをどれだけ動かせばsphereと衝突しなくなるか |

|
static |
球と円柱の衝突判定
| sphere | [in] 判定する主体 |
| cylinder | [in] 判定される側 |
| pHitPosition | [out] cylinderに最もめり込んでいる、sphere上の点の座標 |
| pAdjustVector | [out] cylinderをどれだけ動かせばsphereと衝突しなくなるか |
|
static |
球とカプセルの衝突判定
| sphere | [in] 判定する主体 |
| multiSphere | [in] 判定される側 |
| pHitPosition | [out] multisphereに最もめり込んでいる、sphere上の点の座標 |
| pAdjustVector | [out] multisphereをどれだけ動かせばsphereと衝突しなくなるか |

|
static |
球と平面の衝突判定
| sphere | [in] 判定する主体 |
| plane | [in] 判定される側 |
| pHitPosition | [out] planeに最もめり込んでいる、sphere上の点の座標 |
| pAdjustVector | [out] planeをどれだけ動かせばsphereと衝突しなくなるか |
|
static |
球と三角メッシュの衝突判定
| sphere | [in] 判定する主体 |
| trimesh | [in] 判定される側 |
| pHitPosition | [out] trimeshに最もめり込んでいる、sphere上の点の座標 |
| pAdjustVector | [out] trimeshをどれだけ動かせばsphereと衝突しなくなるか |
|
static |
球と球の衝突判定
| sphere0 | [in] 判定する主体 |
| sphere1 | [in] 判定される側 |
| pHitPosition | [out] sphere1に最もめり込んでいる、sphere0上の点の座標 |
| pAdjustVector | [out] sphere1をどれだけ動かせばsphere0と衝突しなくなるか |

|
static |
三角メッシュと光束の衝突判定
| trimesh | [in] 三角メッシュ |
| beam | [in] 光束 |
| pHitPosition | [out] 中心の平面への投射位置 |
| pAdjustVector | [out] AABBが平面に丁度くっつくまで |
|
static |
三角メッシュと線分の衝突判定
| trimesh | [in] 三角メッシュ |
| ray | [in] 線分 |
| pHitPosition | [out] 中心の平面への投射位置 |
| pAdjustVector | [out] AABBが平面に丁度くっつくまで |
|
static |
三角メッシュと三角メッシュの衝突判定
| plane | [in] 平面 |
| trimesh | [in] 三角メッシュ |
| pHitPosition | [out] 中心の平面への投射位置 |
| pAdjustVector | [out] AABBが平面に丁度くっつくまで |
|
static |
箱と線分の衝突判定
| box | [in] 判定する主体 |
| ray | [in] 判定される側 |
| pParameter | [out] ヒット位置 = ray.getPosition0() + *pParam * (ray.getPosition1() - ray.getPosition0())。戻り値がfalseの場合は不定値になります。 |
| pHitNormal | [out] rayが初めにヒットする点の面法線。戻り値がfalseの場合は不定値になります。 |


|
static |
カプセルと線分の衝突判定
| capsule | [in] 判定する主体 |
| ray | [in] 判定される側 |
| pParameter | [out] ヒット位置 = ray.getPosition0() + *pParam * (ray.getPosition1() - ray.getPosition0())。 戻り値がfalseの場合は不定値になります。 |
| pHitNormal | [out] rayが初めにヒットする点の面法線。 戻り値がfalseの場合は不定値になります。 |


|
static |
円柱と線分の衝突判定
| cylinder | [in] 判定する主体 |
| ray | [in] 判定される側 |
| pParameter | [out] ヒット位置 = ray.getPosition0() + *pParameter * (ray.getPosition1() - ray.getPosition0())。戻り値がfalseの場合は不定値になります。 |
| pHitNormal | [out] rayが初めにヒットする点の面法線。戻り値がfalseの場合は不定値になります。レイの始点が内包されているときはGxVector3::ZEROが返ります。 |


|
static |
マルチ球と線分の衝突判定
| multisphere | [in] 判定する主体 |
| ray | [in] 判定される側 |
| pParameter | [out] ヒット位置 = ray.getPosition0() + *pParam * (ray.getPosition1() - ray.getPosition0())。 戻り値がfalseの場合は不定値になります。 |
| pHitNormal | [out] rayが初めにヒットする点の面法線。 戻り値がfalseの場合は不定値になります。 |


|
static |
平面と線分の衝突判定
| plane | [in] 判定する主体 |
| ray | [in] 判定される側 |
| pParameter | [out] ヒット位置 = ray.getPosition0() + *pParameter * (ray.getPosition1() - ray.getPosition0())。戻り値がfalseの場合は不定値になります。 |
| pHitNormal | [out] beamをどれだけ動かせばsphereと衝突しなくなるか |


|
static |
球と線分の衝突判定
| sphere | [in] 判定する主体 |
| ray | [in] 判定される側 |
| pParam | [out] ヒット位置 = ray.getPosition0() + *pParam * (ray.getPosition1() - ray.getPosition0())。戻り値がfalseの場合は不定値になります。 |
| pHitNormal | [out] rayが初めにヒットする点の面法線。戻り値がfalseの場合は不定値になります。 |


指定点が含まれているか判定
| point | [in] チェックする点の座標 |
Reimplemented in GxShapeAxisAlignedBox, GxShapeBox, GxShapeCylinder, GxShapeFrustum, and GxShapeSphere.