|
|
| GxShapeTrimesh (void) |
| デフォルトコンストラクタ
|
|
| GxShapeTrimesh (const GxMatrixAffine &matrix, const GxVector3 *pVertex, u32 numVertex, const u32 *pIndex, u32 numIndex, const u32 *pCheckFlag, const s32 *pMaterial) |
|
|
GX_FORCE_INLINE const GxVector3 & | getVertex (u32 number) const |
| 頂点を取得
|
|
GX_FORCE_INLINE const GxVector3 * | getVertexAddress (void) const |
| 頂点アドレスを取得
|
|
GX_FORCE_INLINE const u32 * | getIndexAddress (void) const |
| インデックスアドレスを取得
|
|
b32 | getTriangleVertex (u32 triangleIndex, GxVector3 &vertex0, GxVector3 &vertex1, GxVector3 &vertex2) const |
| Indexから3頂点を取得
|
|
const GxVector3 | getNormal (const GxVector3 &position) const override |
| 指定位置への法線を取得
|
|
GX_FORCE_INLINE const GxMatrixAffine & | getMatrix (void) const |
| マトリクス取得
|
|
GX_FORCE_INLINE void | setMatrix (const GxMatrixAffine &matrix) |
| マトリクス設定(スケールは許可しない)
|
|
constexpr u32 | getNumVertex (void) const |
| 頂点数を取得
|
|
constexpr u32 | getNumTriangle (void) const |
| 三角メッシュの数を取得する
|
|
constexpr u32 | getCheckFlag (u32 triangleIndex) const |
| 判定用フラグを取得
|
|
GX_FORCE_INLINE b32 | isCheckFlagExist (void) const |
| 判定用フラグが存在するかチェック
|
|
constexpr s32 | getMaterial (u32 triangleIndex) const |
| マテリアルを取得
|
|
GX_FORCE_INLINE b32 | isMaterialExist (void) const |
| マテリアルが存在するかチェック
|
|
| GxShape (void) |
| コンストラクタ
|
|
| ~GxShape (void) override |
| デストラクタ
|
|
virtual b32 | isInclude (const GxVector3 &) 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) |
| デフォルトオブジェクト判定
|
|
|
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) |
| 点と線分の最近接点を求める
|
|
static GX_FORCE_INLINE GxRtti & | __getStaticRtti (void) |
| Rttiの取得
|
|
static const f32 | HIT_DISTANCE = 5.0e-1 |
| この距離未満なら衝突と判定
|
|
static const f32 | NORMALIZED_JUDGE_MAX = 1.0e-3 |
| fabs(lengthSquare - 1.f)がこの値未満なら正規化と判定
|
|