ランタイム
Mix::Geometry Namespace Reference

ジオメトリ More...

Classes

class  AABB
 AABBクラス More...
 
class  Frustum
 フラスタムクラス More...
 
class  OBB
 OBBクラス More...
 
class  Plane
 平面クラス More...
 
class  Sphere
 球クラス More...
 

Functions

_MIX_DLL_API Float32 DistancePointPlane (const Mix::Vector3 &p, const Mix::Geometry::Plane &plane)
 平面から点までの距離を求めます More...
 
_MIX_DLL_API void ClosestPointSphere (const Mix::Vector3 &p, const Mix::Geometry::Sphere &sphere, Mix::Vector3 &q)
 球から点への最接近点を求めます More...
 
_MIX_DLL_API void ClosestPointPlane (const Mix::Vector3 &p, const Mix::Geometry::Plane &plane, Mix::Vector3 &q)
 平面から点への最接近点を求めます More...
 
_MIX_DLL_API void ClosestPointOBB (const Mix::Vector3 &p, const Mix::Geometry::OBB &obb, Mix::Vector3 &q)
 OBBから点への最接近点を求めます More...
 
_MIX_DLL_API void ClosestPointAABB (const Mix::Vector3 &p, const Mix::Geometry::AABB &aabb, Mix::Vector3 &q)
 AABBと点の最接近点を求めます More...
 
_MIX_DLL_API Boolean PointInTriangle (const Mix::Vector3 &p, const Mix::Vector3 &a, const Mix::Vector3 &b, const Mix::Vector3 &c)
 点が時計回りの三角形abcの内側にあるかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectPointAABB (const Mix::Vector3 &p, const Mix::Geometry::AABB &aabb)
 AABBと点の交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectSphereSphere (const Mix::Geometry::Sphere &sphere1, const Mix::Geometry::Sphere &sphere2, Float32 *pDist=NULL)
 球同士が交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectSpherePlane (const Mix::Geometry::Sphere &sphere, const Mix::Geometry::Plane &plane, Float32 *pDist=NULL)
 球と平面が交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectSphereOBB (const Mix::Geometry::Sphere &sphere, const Mix::Geometry::OBB &obb, Mix::Vector3 *pPos=NULL)
 球とOBBが交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectSphereAABB (const Mix::Geometry::Sphere &sphere, const Mix::Geometry::AABB &aabb, Mix::Vector3 *pPos=NULL)
 球とAABBが交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectPlanePlane (const Mix::Geometry::Plane &plane1, const Mix::Geometry::Plane &plane2, Mix::Vector3 *pPos=NULL, Mix::Vector3 *pDir=NULL)
 平面と平面が交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectPlaneOBB (const Mix::Geometry::Plane &plane, const Mix::Geometry::OBB &obb)
 平面とOBBが交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectPlaneAABB (const Mix::Geometry::Plane &plane, const Mix::Geometry::AABB &aabb)
 平面とAABBが交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectOBBOBB (const Mix::Geometry::OBB &obb1, const Mix::Geometry::OBB &obb2)
 OBB同士が交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectAABBAABB (const Mix::Geometry::AABB &aabb1, const Mix::Geometry::AABB &aabb2)
 AABB同士が交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectRaySphere (const Mix::Vector3 &rayPos, const Mix::Vector3 &rayDir, const Mix::Geometry::Sphere &sphere, Float32 *pDist=NULL, Mix::Vector3 *pPos=NULL)
 光線と球が交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectRayPlane (const Mix::Vector3 &rayPos, const Mix::Vector3 &rayDir, const Mix::Geometry::Plane &plane, Float32 *pDist=NULL, Mix::Vector3 *pPos=NULL)
 光線と平面が交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectRayOBB (const Mix::Vector3 &rayPos, const Mix::Vector3 &rayDir, const Mix::Geometry::OBB &obb)
 光線とOBBが交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectRayAABB (const Mix::Vector3 &rayPos, const Mix::Vector3 &rayDir, const Mix::Geometry::AABB &aabb, Float32 *pDist=NULL, Mix::Vector3 *pPos=NULL)
 光線とAABBが交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectSegmentSphere (const Mix::Vector3 &p1, const Mix::Vector3 &p2, const Mix::Geometry::Sphere &sphere)
 線分と球が交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectSegmentPlane (const Mix::Vector3 &p1, const Mix::Vector3 &p2, const Mix::Geometry::Plane &plane, Float32 *pDist=NULL, Mix::Vector3 *pPos=NULL)
 線分と平面が交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectSegmentOBB (const Mix::Vector3 &p1, const Mix::Vector3 &p2, const Mix::Geometry::OBB &obb, Float32 *pDist=NULL, Mix::Vector3 *pPos=NULL)
 線分とOBBが交差しているかどうかを判定します More...
 
_MIX_DLL_API Boolean IntersectSegmentAABB (const Mix::Vector3 &p1, const Mix::Vector3 &p2, const Mix::Geometry::AABB &aabb)
 線分とAABBが交差しているかどうかを判定します More...
 

Detailed Description

ジオメトリ

Function Documentation

_MIX_DLL_API Float32 Mix::Geometry::DistancePointPlane ( const Mix::Vector3 p,
const Mix::Geometry::Plane plane 
)

平面から点までの距離を求めます

Parameters
[in]p点を表す Mix::Vector3 クラス
[in]planeMix::Geometry::Plane クラス
Returns
平面から点までの距離
_MIX_DLL_API void Mix::Geometry::ClosestPointSphere ( const Mix::Vector3 p,
const Mix::Geometry::Sphere sphere,
Mix::Vector3 q 
)

球から点への最接近点を求めます

Parameters
[in]p判定する点を表す Mix::Vector3 クラス
[in]sphere判定する球を表す Mix::Geometry::Sphere クラス
[out]q最接近点を表す Mix::Vector3 クラス
_MIX_DLL_API void Mix::Geometry::ClosestPointPlane ( const Mix::Vector3 p,
const Mix::Geometry::Plane plane,
Mix::Vector3 q 
)

平面から点への最接近点を求めます

Parameters
[in]p判定する点を表す Mix::Vector3 クラス
[in]plane判定する平面を表す Mix::Geometry::Plane クラス
[out]q最接近点を表す Mix::Vector3 クラス
_MIX_DLL_API void Mix::Geometry::ClosestPointOBB ( const Mix::Vector3 p,
const Mix::Geometry::OBB obb,
Mix::Vector3 q 
)

OBBから点への最接近点を求めます

Parameters
[in]p判定する点を表す Mix::Vector3 クラス
[in]obb判定するOBBを表す Mix::Geometry::OBB クラス
[out]q最接近点を表す Mix::Vector3 クラス
_MIX_DLL_API void Mix::Geometry::ClosestPointAABB ( const Mix::Vector3 p,
const Mix::Geometry::AABB aabb,
Mix::Vector3 q 
)

AABBと点の最接近点を求めます

Parameters
[in]p判定する点を表す Mix::Vector3 クラス
[in]aabb判定するAABBを表す Mix::Geometry::AABB クラス
[out]q最接近点を表す Mix::Vector3 クラス
_MIX_DLL_API Boolean Mix::Geometry::PointInTriangle ( const Mix::Vector3 p,
const Mix::Vector3 a,
const Mix::Vector3 b,
const Mix::Vector3 c 
)

点が時計回りの三角形abcの内側にあるかどうかを判定します

Parameters
[in]p判定する点を表す Mix::Vector3 クラス
[in]a判定する三角形の点1を表す Mix::Vector3 クラス
[in]b判定する三角形の点2を表す Mix::Vector3 クラス
[in]c判定する三角形の3点を表す Mix::Vector3 クラス
Returns
点が三角形の内側にある場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectPointAABB ( const Mix::Vector3 p,
const Mix::Geometry::AABB aabb 
)

AABBと点の交差しているかどうかを判定します

Parameters
[in]p判定する点を表す Mix::Vector3 クラス
[in]aabb判定するAABBを表す Mix::Geometry::AABB クラス
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectSphereSphere ( const Mix::Geometry::Sphere sphere1,
const Mix::Geometry::Sphere sphere2,
Float32 pDist = NULL 
)

球同士が交差しているかどうかを判定します

Parameters
[in]sphere1判定する球を表す Mix::Geometry::Sphere クラス
[in]sphere2判定する球を表す Mix::Geometry::Sphere クラス
[out]pDist球同士の中心の距離
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectSpherePlane ( const Mix::Geometry::Sphere sphere,
const Mix::Geometry::Plane plane,
Float32 pDist = NULL 
)

球と平面が交差しているかどうかを判定します

Parameters
[in]sphere判定する球を表す Mix::Geometry::Sphere クラス
[in]plane判定する平面を表す Mix::Geometry::Plane クラス
[out]pDist平面から球の中心までの距離
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectSphereOBB ( const Mix::Geometry::Sphere sphere,
const Mix::Geometry::OBB obb,
Mix::Vector3 pPos = NULL 
)

球とOBBが交差しているかどうかを判定します

Parameters
[in]sphere判定する球を表す Mix::Geometry::Sphere クラス
[in]obb判定するOBBを表す Mix::Geometry::OBB クラス
[out]pPos球の中心に対するOBB上の最接近点を表す Mix::Vector3 クラスのポインタ
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectSphereAABB ( const Mix::Geometry::Sphere sphere,
const Mix::Geometry::AABB aabb,
Mix::Vector3 pPos = NULL 
)

球とAABBが交差しているかどうかを判定します

Parameters
[in]sphere判定する球を表す Mix::Geometry::Sphere クラス
[in]aabb判定するAABBを表す Mix::Geometry::AABB クラス
[out]pPos球の中心に対するAABB上の最接近点を表す Mix::Vector3 クラスのポインタ
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectPlanePlane ( const Mix::Geometry::Plane plane1,
const Mix::Geometry::Plane plane2,
Mix::Vector3 pPos = NULL,
Mix::Vector3 pDir = NULL 
)

平面と平面が交差しているかどうかを判定します

Parameters
[in]plane1判定する平面を表す Mix::Geometry::Plane クラス
[in]plane2判定する平面を表す Mix::Geometry::Plane クラス
[out]pPos交差直線上の点の位置を表す Mix::Vector3 クラスのポインタ
[out]pDir交差直線上の方向を表す Mix::Vector3 クラスのポインタ
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectPlaneOBB ( const Mix::Geometry::Plane plane,
const Mix::Geometry::OBB obb 
)

平面とOBBが交差しているかどうかを判定します

Parameters
[in]plane判定する平面を表す Mix::Geometry::Plane クラス
[in]obb判定するOBBを表す Mix::Geometry::OBB クラス
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectPlaneAABB ( const Mix::Geometry::Plane plane,
const Mix::Geometry::AABB aabb 
)

平面とAABBが交差しているかどうかを判定します

Parameters
[in]plane判定する平面を表す Mix::Geometry::Plane クラス
[in]aabb判定するAABBを表す Mix::Geometry::AABB クラス
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectOBBOBB ( const Mix::Geometry::OBB obb1,
const Mix::Geometry::OBB obb2 
)

OBB同士が交差しているかどうかを判定します

Parameters
[in]obb1判定するOBBを表す Mix::Geometry::OBB クラス
[in]obb2判定するOBBを表す Mix::Geometry::OBB クラス
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectAABBAABB ( const Mix::Geometry::AABB aabb1,
const Mix::Geometry::AABB aabb2 
)

AABB同士が交差しているかどうかを判定します

Parameters
[in]aabb1判定するAABBを表す Mix::Geometry::AABB クラス
[in]aabb2判定するAABBを表す Mix::Geometry::AABB クラス
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectRaySphere ( const Mix::Vector3 rayPos,
const Mix::Vector3 rayDir,
const Mix::Geometry::Sphere sphere,
Float32 pDist = NULL,
Mix::Vector3 pPos = NULL 
)

光線と球が交差しているかどうかを判定します

Parameters
[in]rayPos光線を発している位置を表す Mix::Vector3 クラス
[in]rayDir光線のベクトルを表す rayDir
[in]sphere判定する球を表す Mix::Geometry::Sphere クラス
[out]pDist光線を発している位置から交差している位置までの距離
[out]pPos光線が交差している位置を表す Mix::Vector3 クラスのポインタ
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectRayPlane ( const Mix::Vector3 rayPos,
const Mix::Vector3 rayDir,
const Mix::Geometry::Plane plane,
Float32 pDist = NULL,
Mix::Vector3 pPos = NULL 
)

光線と平面が交差しているかどうかを判定します

Parameters
[in]rayPos光線を発している位置を表す Mix::Vector3 クラス
[in]rayDir光線のベクトルを表す rayDir
[in]plane判定する平面を表す Mix::Geometry::Plane クラス
[out]pDist光線を発している位置から交差している位置までの距離
[out]pPos光線が交差している位置を表す Mix::Vector3 クラスのポインタ
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectRayOBB ( const Mix::Vector3 rayPos,
const Mix::Vector3 rayDir,
const Mix::Geometry::OBB obb 
)

光線とOBBが交差しているかどうかを判定します

Parameters
[in]rayPos光線を発している位置を表す Mix::Vector3 クラス
[in]rayDir光線のベクトルを表す rayDir
[in]obb判定するOBBを表す Mix::Geometry::OBB クラス
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectRayAABB ( const Mix::Vector3 rayPos,
const Mix::Vector3 rayDir,
const Mix::Geometry::AABB aabb,
Float32 pDist = NULL,
Mix::Vector3 pPos = NULL 
)

光線とAABBが交差しているかどうかを判定します

Parameters
[in]rayPos光線を発している位置を表す Mix::Vector3 クラス
[in]rayDir光線のベクトルを表す rayDir
[in]aabb判定するAABBを表す Mix::Geometry::AABB クラス
[out]pDist光線を発している位置から交差している位置までの距離
[out]pPos光線が交差している位置を表す Mix::Vector3 クラスのポインタ
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectSegmentSphere ( const Mix::Vector3 p1,
const Mix::Vector3 p2,
const Mix::Geometry::Sphere sphere 
)

線分と球が交差しているかどうかを判定します

Parameters
[in]p1線分の端の点を表す Mix::Vector3 クラス
[in]p2線分の端の点を表す Mix::Vector3 クラス
[in]sphere判定する球を表す Mix::Geometry::Sphere クラス
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectSegmentPlane ( const Mix::Vector3 p1,
const Mix::Vector3 p2,
const Mix::Geometry::Plane plane,
Float32 pDist = NULL,
Mix::Vector3 pPos = NULL 
)

線分と平面が交差しているかどうかを判定します

Parameters
[in]p1線分の端の点1を表す Mix::Vector3 クラス
[in]p2線分の端の点2を表す Mix::Vector3 クラス
[in]plane判定する平面を表す Mix::Geometry::Plane クラス
[out]pDist光線を発している位置から交差している位置までの距離
[out]pPos光線が交差している位置を表す Mix::Vector3 クラスのポインタ
Returns
交差している場合は True を返します
_MIX_DLL_API Boolean Mix::Geometry::IntersectSegmentOBB ( const Mix::Vector3 p1,
const Mix::Vector3 p2,
const Mix::Geometry::OBB obb,
Float32 pDist = NULL,
Mix::Vector3 pPos = NULL 
)

線分とOBBが交差しているかどうかを判定します

Parameters
[in]p1線分の端の点1を表す Mix::Vector3 クラス
[in]p2線分の端の点2を表す Mix::Vector3 クラス
[in]obb判定するOBBを表す Mix::Geometry::OBB クラス
[out]pDist光線を発している位置から交差している位置までの距離
[out]pPos光線が交差している位置を表す Mix::Vector3 クラスのポインタ
Returns
交差している場合は True を返します
Note
未実装
_MIX_DLL_API Boolean Mix::Geometry::IntersectSegmentAABB ( const Mix::Vector3 p1,
const Mix::Vector3 p2,
const Mix::Geometry::AABB aabb 
)

線分とAABBが交差しているかどうかを判定します

Parameters
[in]p1線分の端の点1を表す Mix::Vector3 クラス
[in]p2線分の端の点2を表す Mix::Vector3 クラス
[in]aabb判定するOBBを表す Mix::Geometry::AABB クラス
Returns
交差している場合は True を返します