線分形状クラス More...
#include <GxShape.h>
Public Member Functions | |
初期化 | |
GxShapeRay (void) | |
デフォルトコンストラクタ | |
GxShapeRay (const GxVector3 &position0, const GxVector3 &position1) | |
コンストラクタ | |
~GxShapeRay (void) override | |
デストラクタ | |
アクセサ | |
GX_FORCE_INLINE const GxVector3 & | getPosition0 (void) const |
位置0を取得 | |
GX_FORCE_INLINE void | setPosition0 (const GxVector3 &position) |
位置0を設定 | |
GX_FORCE_INLINE const GxVector3 & | getPosition1 (void) const |
位置1を取得 | |
GX_FORCE_INLINE void | setPosition1 (const GxVector3 &position) |
位置1を設定 | |
GX_FORCE_INLINE const GxVector3 | getNormal (const GxVector3 &) const override |
指定位置への法線を取得 | |
![]() | |
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) |
デフォルトオブジェクト判定 | |
Additional Inherited Members | |
![]() | |
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)がこの値未満なら正規化と判定 | |
線分形状クラス
|
inlineoverridevirtual |
指定位置への法線を取得
Implements GxShape.