ランタイム: Mix::Geometry Namespace Reference

ランタイム

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

Classes | Functions
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] | plane | Mix::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 を返します