Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

Lamp::Cone Class Reference

コーン More...

#include <Cone.h>

List of all members.

Public Member Functions

 Cone ()
 コンストラクタ

 Cone (const Vector3 &origin, const Vector3 &direction, float theta)
 コンストラクタ

 Cone (float originX, float originY, float originZ, float directionX, float directionY, float directionZ, float theta)
 コンストラクタ

 Cone (const float *const source)
 コンストラクタ

void set (const Vector3 &origin, const Vector3 &direction, float theta)
 値の設定

void set (float originX, float originY, float originZ, float directionX, float directionY, float directionZ, float theta)
 値の設定

void set (const float *const source)
 値の設定

void setOrigin (const Vector3 &origin)
 原点の設定

void setDirection (const Vector3 &direction)
 方向の設定

void setTheta (float theta)
 シータの設定

void setPositions (const Vector3 &source, const Vector3 &target)
 位置の設定

void setAngle (float angle)
 角度の設定

const Vector3getOrigin () const
 原点の取得

const Vector3getDirection () const
 方向の取得

float getTheta () const
 シータの取得

const Vector3getSourcePosition () const
 ソース位置の取得

Vector3 getTargetPosition () const
 ターゲット位置の取得

float getAngle () const
 角度の取得

float getSin () const
 サイン取得

float getCos () const
 コサイン取得

bool isZero () const
 ゼロコーンかどうか

Cone transform (const Matrix33 &matrix) const
 トランスフォーム

Cone transform (const Matrix34 &matrix) const
 トランスフォーム

Cone transform (const Matrix44 &matrix) const
 トランスフォーム

float getDistance (const Vector3 &point) const
 点距離

float getSquaredDistance (const Vector3 &point) const
 点距離の二乗

float getDistance (const AxisAlignedBox &axisAlignedBox) const
 軸沿いボックス距離

float getSquaredDistance (const AxisAlignedBox &axisAlignedBox) const
 軸沿いボックス距離の二乗

float getDistance (const Capsule &capsule) const
 カプセル距離

float getSquaredDistance (const Capsule &capsule) const
 カプセル距離の二乗

float getDistance (const Cone &cone) const
 コーン距離

float getSquaredDistance (const Cone &cone) const
 コーン距離の二乗

float getDistance (const Line &line) const
 ライン距離

float getSquaredDistance (const Line &line) const
 ライン距離の二乗

float getDistance (const OrientedBox &orientedBox) const
 指向性ボックス距離

float getSquaredDistance (const OrientedBox &orientedBox) const
 指向性ボックス距離の二乗

float getDistance (const Plane &plane) const
 平面距離

float getSquaredDistance (const Plane &plane) const
 平面距離の二乗

float getDistance (const Ray &ray) const
 レイ距離

float getSquaredDistance (const Ray &ray) const
 レイ距離の二乗

float getDistance (const Segment &segment) const
 セグメント距離

float getSquaredDistance (const Segment &segment) const
 セグメント距離の二乗

float getDistance (const Sphere &sphere) const
 球距離

float getSquaredDistance (const Sphere &sphere) const
 球距離の二乗

float getDistance (const Triangle &triangle) const
 三角距離

float getSquaredDistance (const Triangle &triangle) const
 三角距離の二乗

bool intersect (const Vector3 &point) const
 点交差

bool intersect (const AxisAlignedBox &axisAlignedBox) const
 軸沿いボックス交差

bool intersect (const Capsule &capsule) const
 カプセル交差

bool intersect (const Cone &cone) const
 コーン交差

bool intersect (const Line &line) const
 ライン交差

bool intersect (const OrientedBox &orientedBox) const
 指向性ボックス交差

bool intersect (const Plane &plane) const
 平面交差

bool intersect (const Ray &ray) const
 レイ交差

bool intersect (const Segment &segment) const
 セグメント交差

bool intersect (const Sphere &sphere) const
 球交差

bool intersect (const Triangle &triangle) const
 三角交差

bool operator== (const Cone &target) const
 コーンが同じかどうか

bool epsilonEquals (const Cone &target, float epsilon) const
 コーンが同じかどうか

bool operator!= (const Cone &target) const
 コーンが同じでないかどうか

bool notEpsilonEquals (const Cone &target, float epsilon) const
 コーンが同じでないかどうか

String toString () const
 文字列化


Static Public Attributes

const Cone zero
 ゼロコーン


Detailed Description

コーン

このクラスは継承しないで下さい。

Definition at line 51 of file Cone.h.


Constructor & Destructor Documentation

Lamp::Cone::Cone  )  [inline]
 

コンストラクタ

このコンストラクタは初期値の設定を行わないため値は不定です。

Definition at line 67 of file Cone.h.

Referenced by transform().

Lamp::Cone::Cone const Vector3 origin,
const Vector3 direction,
float  theta
[inline]
 

コンストラクタ

Parameters:
origin 原点の初期値
direction 方向の初期値
theta シータの初期値

Definition at line 75 of file Cone.h.

References Assert.

Lamp::Cone::Cone float  originX,
float  originY,
float  originZ,
float  directionX,
float  directionY,
float  directionZ,
float  theta
[inline]
 

コンストラクタ

Parameters:
originX 原点Xの初期値
originY 原点Yの初期値
originZ 原点Zの初期値
directionX 方向Xの初期値
directionY 方向Yの初期値
directionZ 方向Zの初期値
theta シータの初期値

Definition at line 91 of file Cone.h.

References Assert.

Lamp::Cone::Cone const float *const  source  )  [inline, explicit]
 

コンストラクタ

Parameters:
source 初期値配列

Definition at line 102 of file Cone.h.

References Assert.


Member Function Documentation

bool Lamp::Cone::epsilonEquals const Cone target,
float  epsilon
const [inline]
 

コーンが同じかどうか

Parameters:
target 比較するコーン
epsilon 誤差
Returns:
誤差の範囲内で同じ値であればtrueを返す

Definition at line 597 of file Cone.h.

References Assert, direction_, Lamp::Vector3::epsilonEquals(), origin_, and theta_.

float Lamp::Cone::getAngle  )  const [inline]
 

角度の取得

Returns:
角度

Definition at line 236 of file Cone.h.

float Lamp::Cone::getCos  )  const [inline]
 

コサイン取得

Returns:
コサイン

Definition at line 248 of file Cone.h.

const Vector3& Lamp::Cone::getDirection  )  const [inline]
 

方向の取得

Returns:
方向

Definition at line 211 of file Cone.h.

float Lamp::Cone::getDistance const Triangle triangle  )  const [inline]
 

三角距離

Parameters:
triangle 距離判定する三角
Returns:
距離

Definition at line 476 of file Cone.h.

References getSquaredDistance().

float Lamp::Cone::getDistance const Sphere sphere  )  const [inline]
 

球距離

Parameters:
sphere 距離判定する球
Returns:
距離

Definition at line 459 of file Cone.h.

References getSquaredDistance().

float Lamp::Cone::getDistance const Segment segment  )  const [inline]
 

セグメント距離

Parameters:
segment 距離判定するセグメント
Returns:
距離

Definition at line 442 of file Cone.h.

References getSquaredDistance().

float Lamp::Cone::getDistance const Ray ray  )  const [inline]
 

レイ距離

Parameters:
ray 距離判定するレイ
Returns:
距離

Definition at line 425 of file Cone.h.

References getSquaredDistance().

float Lamp::Cone::getDistance const Plane plane  )  const
 

平面距離

Parameters:
plane 距離判定する平面
Returns:
距離

Definition at line 76 of file Cone.cpp.

float Lamp::Cone::getDistance const OrientedBox orientedBox  )  const [inline]
 

指向性ボックス距離

Parameters:
orientedBox 距離判定する指向性ボックス
Returns:
距離

Definition at line 390 of file Cone.h.

References getSquaredDistance().

float Lamp::Cone::getDistance const Line line  )  const [inline]
 

ライン距離

Parameters:
line 距離判定するライン
Returns:
距離

Definition at line 373 of file Cone.h.

References getSquaredDistance().

float Lamp::Cone::getDistance const Cone cone  )  const [inline]
 

コーン距離

Parameters:
cone 距離判定するコーン
Returns:
距離

Definition at line 356 of file Cone.h.

References getSquaredDistance().

float Lamp::Cone::getDistance const Capsule capsule  )  const [inline]
 

カプセル距離

Parameters:
capsule 距離判定するカプセル
Returns:
距離

Definition at line 339 of file Cone.h.

References getSquaredDistance().

float Lamp::Cone::getDistance const AxisAlignedBox axisAlignedBox  )  const [inline]
 

軸沿いボックス距離

Parameters:
axisAlignedBox 距離判定する軸沿いボックス
Returns:
距離

Definition at line 322 of file Cone.h.

References getSquaredDistance().

float Lamp::Cone::getDistance const Vector3 point  )  const [inline]
 

点距離

Parameters:
point 距離判定する点
Returns:
距離

Definition at line 305 of file Cone.h.

References getSquaredDistance().

Referenced by getSquaredDistance().

const Vector3& Lamp::Cone::getOrigin  )  const [inline]
 

原点の取得

Returns:
原点

Definition at line 205 of file Cone.h.

float Lamp::Cone::getSin  )  const [inline]
 

サイン取得

Returns:
サイン

Definition at line 242 of file Cone.h.

const Vector3& Lamp::Cone::getSourcePosition  )  const [inline]
 

ソース位置の取得

Returns:
ソース位置

Definition at line 224 of file Cone.h.

float Lamp::Cone::getSquaredDistance const Triangle triangle  )  const
 

三角距離の二乗

Parameters:
triangle 距離判定する三角
Returns:
距離の二乗

Definition at line 96 of file Cone.cpp.

float Lamp::Cone::getSquaredDistance const Sphere sphere  )  const
 

球距離の二乗

Parameters:
sphere 距離判定する球
Returns:
距離の二乗

Definition at line 91 of file Cone.cpp.

float Lamp::Cone::getSquaredDistance const Segment segment  )  const
 

セグメント距離の二乗

Parameters:
segment 距離判定するセグメント
Returns:
距離の二乗

Definition at line 86 of file Cone.cpp.

float Lamp::Cone::getSquaredDistance const Ray ray  )  const
 

レイ距離の二乗

Parameters:
ray 距離判定するレイ
Returns:
距離の二乗

Definition at line 81 of file Cone.cpp.

float Lamp::Cone::getSquaredDistance const Plane plane  )  const [inline]
 

平面距離の二乗

Parameters:
plane 距離判定する平面
Returns:
距離の二乗

Definition at line 414 of file Cone.h.

References getDistance().

float Lamp::Cone::getSquaredDistance const OrientedBox orientedBox  )  const
 

指向性ボックス距離の二乗

Parameters:
orientedBox 距離判定する指向性ボックス
Returns:
距離の二乗

Definition at line 71 of file Cone.cpp.

float Lamp::Cone::getSquaredDistance const Line line  )  const
 

ライン距離の二乗

Parameters:
line 距離判定するライン
Returns:
距離の二乗

Definition at line 66 of file Cone.cpp.

float Lamp::Cone::getSquaredDistance const Cone cone  )  const
 

コーン距離の二乗

Parameters:
cone 距離判定するコーン
Returns:
距離の二乗

Definition at line 61 of file Cone.cpp.

float Lamp::Cone::getSquaredDistance const Capsule capsule  )  const
 

カプセル距離の二乗

Parameters:
capsule 距離判定するカプセル
Returns:
距離の二乗

Definition at line 56 of file Cone.cpp.

float Lamp::Cone::getSquaredDistance const AxisAlignedBox axisAlignedBox  )  const
 

軸沿いボックス距離の二乗

Parameters:
axisAlignedBox 距離判定する軸沿いボックス
Returns:
距離の二乗

Definition at line 51 of file Cone.cpp.

float Lamp::Cone::getSquaredDistance const Vector3 point  )  const
 

点距離の二乗

Parameters:
point 距離判定する点
Returns:
距離の二乗

Definition at line 46 of file Cone.cpp.

Referenced by getDistance().

Vector3 Lamp::Cone::getTargetPosition  )  const [inline]
 

ターゲット位置の取得

Returns:
ターゲット位置

Definition at line 230 of file Cone.h.

float Lamp::Cone::getTheta  )  const [inline]
 

シータの取得

Returns:
シータ

Definition at line 217 of file Cone.h.

bool Lamp::Cone::intersect const Triangle triangle  )  const
 

三角交差

Parameters:
triangle 交差判定する三角
Returns:
交差していればtrue

Definition at line 153 of file Cone.cpp.

bool Lamp::Cone::intersect const Sphere sphere  )  const
 

球交差

Parameters:
sphere 交差判定する球
Returns:
交差していればtrue

Definition at line 148 of file Cone.cpp.

bool Lamp::Cone::intersect const Segment segment  )  const
 

セグメント交差

Parameters:
segment 交差判定するセグメント
Returns:
交差していればtrue

Definition at line 143 of file Cone.cpp.

bool Lamp::Cone::intersect const Ray ray  )  const
 

レイ交差

Parameters:
ray 交差判定するレイ
Returns:
交差していればtrue

Definition at line 138 of file Cone.cpp.

bool Lamp::Cone::intersect const Plane plane  )  const
 

平面交差

Parameters:
plane 交差判定する平面
Returns:
交差していればtrue

Definition at line 133 of file Cone.cpp.

bool Lamp::Cone::intersect const OrientedBox orientedBox  )  const
 

指向性ボックス交差

Parameters:
orientedBox 交差判定する指向性ボックス
Returns:
交差していればtrue

Definition at line 128 of file Cone.cpp.

bool Lamp::Cone::intersect const Line line  )  const
 

ライン交差

Parameters:
line 交差判定するライン
Returns:
交差していればtrue

Definition at line 123 of file Cone.cpp.

bool Lamp::Cone::intersect const Cone cone  )  const
 

コーン交差

Parameters:
cone 交差判定するコーン
Returns:
交差していればtrue

Definition at line 118 of file Cone.cpp.

bool Lamp::Cone::intersect const Capsule capsule  )  const
 

カプセル交差

Parameters:
capsule 交差判定するカプセル
Returns:
交差していればtrue

Definition at line 113 of file Cone.cpp.

bool Lamp::Cone::intersect const AxisAlignedBox axisAlignedBox  )  const
 

軸沿いボックス交差

Parameters:
axisAlignedBox 交差判定する軸沿いボックス
Returns:
交差していればtrue

Definition at line 108 of file Cone.cpp.

bool Lamp::Cone::intersect const Vector3 point  )  const
 

点交差

Parameters:
point 交差判定する点
Returns:
交差していればtrue

Definition at line 103 of file Cone.cpp.

bool Lamp::Cone::isZero  )  const [inline]
 

ゼロコーンかどうか

Returns:
ゼロコーンならtrue

Definition at line 257 of file Cone.h.

References Lamp::Vector3::epsilonEquals().

bool Lamp::Cone::notEpsilonEquals const Cone target,
float  epsilon
const [inline]
 

コーンが同じでないかどうか

Parameters:
target 比較するコーン
epsilon 誤差
Returns:
誤差の範囲内で同じでない値であればtrueを返す

Definition at line 621 of file Cone.h.

References Assert, direction_, Lamp::Vector3::notEpsilonEquals(), origin_, and theta_.

bool Lamp::Cone::operator!= const Cone target  )  const [inline]
 

コーンが同じでないかどうか

Parameters:
target 比較するコーン
Returns:
同じでない値であればtrueを返す

Definition at line 610 of file Cone.h.

References direction_, origin_, and theta_.

bool Lamp::Cone::operator== const Cone target  )  const [inline]
 

コーンが同じかどうか

Parameters:
target 比較するコーン
Returns:
同じ値であればtrueを返す

Definition at line 585 of file Cone.h.

References direction_, origin_, and theta_.

void Lamp::Cone::set const float *const  source  )  [inline]
 

値の設定

Parameters:
source 設定値配列

Definition at line 147 of file Cone.h.

References Assert, and Lamp::Vector3::set().

void Lamp::Cone::set float  originX,
float  originY,
float  originZ,
float  directionX,
float  directionY,
float  directionZ,
float  theta
[inline]
 

値の設定

Parameters:
originX 設定する原点X
originY 設定する原点Y
originZ 設定する原点Z
directionX 設定する方向X
directionY 設定する方向Y
directionZ 設定する方向Z
theta 設定するシータ

Definition at line 135 of file Cone.h.

References Assert, and Lamp::Vector3::set().

void Lamp::Cone::set const Vector3 origin,
const Vector3 direction,
float  theta
[inline]
 

値の設定

Parameters:
origin 設定する原点
direction 設定する方向
theta 設定するシータ

Definition at line 117 of file Cone.h.

References Assert.

void Lamp::Cone::setAngle float  angle  )  [inline]
 

角度の設定

Parameters:
angle 角度

Definition at line 193 of file Cone.h.

References Assert.

void Lamp::Cone::setDirection const Vector3 direction  )  [inline]
 

方向の設定

Parameters:
direction 設定する方向

Definition at line 165 of file Cone.h.

void Lamp::Cone::setOrigin const Vector3 origin  )  [inline]
 

原点の設定

Parameters:
origin 設定する原点

Definition at line 159 of file Cone.h.

void Lamp::Cone::setPositions const Vector3 source,
const Vector3 target
[inline]
 

位置の設定

Parameters:
source ソース位置
target ターゲット位置

Definition at line 184 of file Cone.h.

void Lamp::Cone::setTheta float  theta  )  [inline]
 

シータの設定

Parameters:
theta 設定するシータ

Definition at line 173 of file Cone.h.

References Assert.

String Lamp::Cone::toString  )  const [inline]
 

文字列化

Returns:
コーンの文字列表記

Definition at line 636 of file Cone.h.

References Lamp::String::format(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z.

Cone Lamp::Cone::transform const Matrix44 matrix  )  const [inline]
 

トランスフォーム

スケールには対応していません

Parameters:
matrix 乗算する行列
Returns:
変換後のコーン

Definition at line 293 of file Cone.h.

References Cone(), and Lamp::Matrix44::multiply33().

Cone Lamp::Cone::transform const Matrix34 matrix  )  const [inline]
 

トランスフォーム

スケールには対応していません

Parameters:
matrix 乗算する行列
Returns:
変換後のコーン

Definition at line 282 of file Cone.h.

References Cone(), and Lamp::Matrix34::multiply33().

Cone Lamp::Cone::transform const Matrix33 matrix  )  const [inline]
 

トランスフォーム

スケールには対応していません

Parameters:
matrix 乗算する行列
Returns:
変換後のコーン

Definition at line 271 of file Cone.h.

References Cone().


The documentation for this class was generated from the following files:
Generated on Wed Mar 16 10:29:45 2005 for Lamp by doxygen 1.3.2