OROCHI
 
Loading...
Searching...
No Matches
GxShapeTriangle Class Reference

三角形形状クラス More...

#include <GxShape.h>

Inheritance diagram for GxShapeTriangle:
Collaboration diagram for GxShapeTriangle:

Public Member Functions

初期化
 GxShapeTriangle (void)
 デフォルトコンストラクタ
 
 GxShapeTriangle (const GxVector3 *pVertex0, const GxVector3 *pVertex1, const GxVector3 *pVertex2)
 コンストラクタ
 
演算子
b32 operator== (const GxShapeTriangle &triangle) const
 一致
 
b32 operator< (const GxShapeTriangle &triangle) const
 小なり
 
- Public Member Functions inherited from GxShape
 GxShape (void)
 コンストラクタ
 
 ~GxShape (void) override
 デストラクタ
 
virtual b32 isInclude (const GxVector3 &) const
 
- 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 GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
virtual GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void)
 デフォルトオブジェクトを取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

Static Public Attributes

定義
static const u32 VERTEX_COUNT = 3
 頂点数
 
- Static Public Attributes inherited from GxShape
static const f32 HIT_DISTANCE = 5.0e-1
 この距離未満なら衝突と判定
 
static const f32 NORMALIZED_JUDGE_MAX = 1.0e-3
 fabs(lengthSquare - 1.f)がこの値未満なら正規化と判定
 

操作

GX_FORCE_INLINE const GxVector3 getNormal (const GxVector3 &) const override
 指定位置への法線を取得
 
static GX_FORCE_INLINE b32 compareVertex (const GxVector3 *pVertex0, const GxVector3 *pVertex1)
 頂点ソート用比較関数
 

Additional Inherited Members

- Static Public Member Functions inherited from GxShape
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 Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 

Detailed Description

三角形形状クラス

Constructor & Destructor Documentation

◆ GxShapeTriangle()

GxShapeTriangle::GxShapeTriangle ( const GxVector3 * pVertex0,
const GxVector3 * pVertex1,
const GxVector3 * pVertex2 )

コンストラクタ

Parameters
pVertex0[in] 頂点0
pVertex1[in] 頂点1
pVertex2[in] 頂点2

Member Function Documentation

◆ getNormal()

GX_FORCE_INLINE const GxVector3 GxShapeTriangle::getNormal ( const GxVector3 & ) const
inlineoverridevirtual

指定位置への法線を取得

Implements GxShape.

◆ operator<()

b32 GxShapeTriangle::operator< ( const GxShapeTriangle & triangle) const

小なり

Parameters
triangle[in] 比較する三角形
Returns
自身が小さければtrue
Here is the call graph for this function:

◆ operator==()

b32 GxShapeTriangle::operator== ( const GxShapeTriangle & triangle) const

一致

Parameters
triangle[in] 比較する三角形
Returns
一致ならtrue
Here is the call graph for this function:

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