ランタイム: Mix/Geometry/Frustum.h Source File

ランタイム

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

- File List
- File Members

Frustum.h
Go to the documentation of this file.
1 #pragma once
2
5
6 #include "Mix/Geometry/AABB.h"
7 #include "Mix/Geometry/Plane.h"
8 #include "Mix/Geometry/Sphere.h"
9
10 namespace Mix{ namespace Geometry{
11
14 class Frustum
15 {
16 public:
19 enum PLANE_TYPE
20 {
21 PLANE_NEAR = 0,
22 PLANE_FAR = 1,
23 PLANE_TOP = 2,
24 PLANE_BOTTOM = 3,
25 PLANE_LEFT = 4,
26 PLANE_RIGHT = 5,
27 };
28
29 private:
30 Mix::Matrix4x4 m_ViewProjMat;
31 Mix::Geometry::Plane m_Planes[6];
32
33 public:
35 Frustum( void );
38 Frustum( const Mix::Matrix4x4& viewProjMat );
39
41 void Update( const Mix::Matrix4x4& viewProjMat );
42
45 const Mix::Matrix4x4& GetViewProjectionMatrix( void ) const;
46
50 const Mix::Geometry::Plane& GetPlane( Mix::Geometry::Frustum::PLANE_TYPE type ) const;
51
55 Boolean Contains( const Mix::Vector3& point ) const;
59 Boolean Contains( const Mix::Geometry::Sphere& sphere ) const;
63 Boolean ContainsTBLR( const Mix::Geometry::Sphere& sphere ) const;
68 Boolean Contains( const Mix::Geometry::AABB& aabb ) const;
73 Boolean ContainsTBLR( const Mix::Geometry::AABB& aabb ) const;
74 };
75
76 }}
Mix::Vector3
3次元浮動小数点ベクトルクラス
Definition: Vector3.h:12
Mix::Geometry::Frustum
フラスタムクラス
Definition: Frustum.h:14
Sphere.h
スフィアクラスインクルードファイル
Mix::Geometry::Frustum::PLANE_FAR
奥
Definition: Frustum.h:22
Mix::Geometry::Frustum::GetPlane
const Mix::Geometry::Plane & GetPlane(Mix::Geometry::Frustum::PLANE_TYPE type) const
フラスタムを構成する平面を取得します
Mix::Geometry::Frustum::PLANE_TOP
上
Definition: Frustum.h:23
Mix::Geometry::Frustum::Frustum
Frustum(void)
コンストラクタ
AABB.h
AABBクラスインクルードファイル
Mix::Geometry::AABB
AABBクラス
Definition: AABB.h:12
Mix::Geometry::Sphere
球クラス
Definition: Sphere.h:12
Plane.h
プレーンクラスインクルードファイル
Mix::Geometry::Frustum::ContainsTBLR
Boolean ContainsTBLR(const Mix::Geometry::Sphere &sphere) const
球がフラスタム内に入っているかどうかを判定します( Top Bottom Left Right )
Mix::Matrix4x4
4x4行列クラス
Definition: Matrix4x4.h:12
Mix::Geometry::Frustum::GetViewProjectionMatrix
const Mix::Matrix4x4 & GetViewProjectionMatrix(void) const
透視変換行列を取得します
Mix::Geometry::Frustum::PLANE_RIGHT
右
Definition: Frustum.h:26
Mix::Geometry::Frustum::PLANE_BOTTOM
下
Definition: Frustum.h:24
Mix
ミックス
Definition: AtomicValue.h:6
Mix::Geometry::Frustum::PLANE_TYPE
PLANE_TYPE
プレーンタイプ列挙定数
Definition: Frustum.h:19
Mix::Geometry::Frustum::Update
void Update(const Mix::Matrix4x4 &viewProjMat)
更新を行います
Mix::Geometry::Frustum::Contains
Boolean Contains(const Mix::Vector3 &point) const
点がフラスタム内に入っているかどうかを判定します
Mix::Geometry::Plane
平面クラス
Definition: Plane.h:10
Mix::Geometry::Frustum::PLANE_NEAR
手前
Definition: Frustum.h:21
Boolean
BOOL Boolean
32ビットブーリアン
Definition: Common.h:102
Mix::Geometry::Frustum::PLANE_LEFT
左
Definition: Frustum.h:25