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

Lamp::Capsule Class Reference

カプセル More...

#include <Capsule.h>

List of all members.

Public Member Functions

 Capsule ()
 コンストラクタ

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

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

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

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

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

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

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

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

void setRadius (float radius)
 半径の設定

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

const Vector3getOrigin () const
 原点の取得

const Vector3getDirection () const
 方向の取得

float getRadius () const
 半径の取得

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

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

bool isZero () const
 ゼロカプセルかどうか

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

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

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

Capsule scaledTransform (const Matrix33 &matrix) const
 スケール有りトランスフォーム

Capsule scaledTransform (const Matrix34 &matrix) const
 スケール有りトランスフォーム

Capsule scaledTransform (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 Capsule &target) const
 カプセルが同じかどうか

bool epsilonEquals (const Capsule &target, float epsilon) const
 カプセルが同じかどうか

bool operator!= (const Capsule &target) const
 カプセルが同じでないかどうか

bool notEpsilonEquals (const Capsule &target, float epsilon) const
 カプセルが同じでないかどうか

String toString () const
 文字列化


Static Public Attributes

const Capsule zero
 ゼロカプセル


Detailed Description

カプセル

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

Definition at line 51 of file Capsule.h.


Constructor & Destructor Documentation

Lamp::Capsule::Capsule  )  [inline]
 

コンストラクタ

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

Definition at line 67 of file Capsule.h.

Referenced by scaledTransform(), and transform().

Lamp::Capsule::Capsule const Vector3 origin,
const Vector3 direction,
float  radius
[inline]
 

コンストラクタ

Parameters:
origin 原点の初期値
direction 方向の初期値
radius 半径の初期値

Definition at line 75 of file Capsule.h.

Lamp::Capsule::Capsule float  originX,
float  originY,
float  originZ,
float  directionX,
float  directionY,
float  directionZ,
float  radius
[inline]
 

コンストラクタ

Parameters:
originX 原点Xの初期値
originY 原点Yの初期値
originZ 原点Zの初期値
directionX 方向Xの初期値
directionY 方向Yの初期値
directionZ 方向Zの初期値
radius 半径の初期値

Definition at line 90 of file Capsule.h.

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

コンストラクタ

Parameters:
source 初期値配列

Definition at line 100 of file Capsule.h.


Member Function Documentation

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

カプセルが同じかどうか

Parameters:
target 比較するカプセル
epsilon 誤差
Returns:
誤差の範囲内で同じ値であればtrueを返す

Definition at line 628 of file Capsule.h.

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

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

方向の取得

Returns:
方向

Definition at line 193 of file Capsule.h.

Referenced by Lamp::CapsuleIntersection::intersect().

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

三角距離

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

Definition at line 507 of file Capsule.h.

References getSquaredDistance().

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

球距離

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

Definition at line 490 of file Capsule.h.

References getSquaredDistance().

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

セグメント距離

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

Definition at line 473 of file Capsule.h.

References getSquaredDistance().

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

レイ距離

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

Definition at line 456 of file Capsule.h.

References getSquaredDistance().

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

平面距離

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

Definition at line 74 of file Capsule.cpp.

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

指向性ボックス距離

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

Definition at line 421 of file Capsule.h.

References getSquaredDistance().

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

ライン距離

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

Definition at line 404 of file Capsule.h.

References getSquaredDistance().

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

コーン距離

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

Definition at line 387 of file Capsule.h.

References getSquaredDistance().

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

カプセル距離

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

Definition at line 370 of file Capsule.h.

References getSquaredDistance().

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

軸沿いボックス距離

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

Definition at line 353 of file Capsule.h.

References getSquaredDistance().

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

点距離

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

Definition at line 336 of file Capsule.h.

References getSquaredDistance().

Referenced by getSquaredDistance().

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

原点の取得

Returns:
原点

Definition at line 187 of file Capsule.h.

Referenced by Lamp::CapsuleIntersection::intersect().

float Lamp::Capsule::getRadius  )  const [inline]
 

半径の取得

Returns:
半径

Definition at line 199 of file Capsule.h.

Referenced by Lamp::CapsuleIntersection::intersect().

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

ソース位置の取得

Returns:
ソース位置

Definition at line 206 of file Capsule.h.

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

三角距離の二乗

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

Definition at line 94 of file Capsule.cpp.

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

球距離の二乗

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

Definition at line 89 of file Capsule.cpp.

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

セグメント距離の二乗

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

Definition at line 84 of file Capsule.cpp.

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

レイ距離の二乗

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

Definition at line 79 of file Capsule.cpp.

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

平面距離の二乗

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

Definition at line 445 of file Capsule.h.

References getDistance().

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

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

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

Definition at line 69 of file Capsule.cpp.

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

ライン距離の二乗

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

Definition at line 64 of file Capsule.cpp.

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

コーン距離の二乗

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

Definition at line 59 of file Capsule.cpp.

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

カプセル距離の二乗

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

Definition at line 54 of file Capsule.cpp.

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

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

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

Definition at line 49 of file Capsule.cpp.

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

点距離の二乗

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

Definition at line 44 of file Capsule.cpp.

Referenced by getDistance().

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

ターゲット位置の取得

Returns:
ターゲット位置

Definition at line 212 of file Capsule.h.

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

三角交差

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

Definition at line 151 of file Capsule.cpp.

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

球交差

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

Definition at line 146 of file Capsule.cpp.

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

セグメント交差

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

Definition at line 141 of file Capsule.cpp.

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

レイ交差

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

Definition at line 136 of file Capsule.cpp.

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

平面交差

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

Definition at line 131 of file Capsule.cpp.

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

指向性ボックス交差

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

Definition at line 126 of file Capsule.cpp.

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

ライン交差

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

Definition at line 121 of file Capsule.cpp.

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

コーン交差

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

Definition at line 116 of file Capsule.cpp.

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

カプセル交差

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

Definition at line 111 of file Capsule.cpp.

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

軸沿いボックス交差

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

Definition at line 106 of file Capsule.cpp.

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

点交差

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

Definition at line 101 of file Capsule.cpp.

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

ゼロカプセルかどうか

Returns:
ゼロカプセルならtrue

Definition at line 221 of file Capsule.h.

References Lamp::Vector3::epsilonEquals().

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

カプセルが同じでないかどうか

Parameters:
target 比較するカプセル
epsilon 誤差
Returns:
誤差の範囲内で同じでない値であればtrueを返す

Definition at line 652 of file Capsule.h.

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

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

カプセルが同じでないかどうか

Parameters:
target 比較するカプセル
Returns:
同じでない値であればtrueを返す

Definition at line 641 of file Capsule.h.

References direction_, origin_, and radius_.

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

カプセルが同じかどうか

Parameters:
target 比較するカプセル
Returns:
同じ値であればtrueを返す

Definition at line 616 of file Capsule.h.

References direction_, origin_, and radius_.

Capsule Lamp::Capsule::scaledTransform const Matrix44 matrix  )  const [inline]
 

スケール有りトランスフォーム

一番スケールの大きな軸にあわせて半径が膨らみます。

Parameters:
matrix 乗算する行列
Returns:
変換後のカプセル

Definition at line 312 of file Capsule.h.

References Capsule(), Lamp::Matrix44::m, and Lamp::Matrix44::multiply33().

Capsule Lamp::Capsule::scaledTransform const Matrix34 matrix  )  const [inline]
 

スケール有りトランスフォーム

一番スケールの大きな軸にあわせて半径が膨らみます。

Parameters:
matrix 乗算する行列
Returns:
変換後のカプセル

Definition at line 289 of file Capsule.h.

References Capsule(), Lamp::Matrix34::m, and Lamp::Matrix34::multiply33().

Capsule Lamp::Capsule::scaledTransform const Matrix33 matrix  )  const [inline]
 

スケール有りトランスフォーム

一番スケールの大きな軸にあわせて半径が膨らみます。

Parameters:
matrix 乗算する行列
Returns:
変換後のカプセル

Definition at line 266 of file Capsule.h.

References Capsule(), and Lamp::Matrix33::m.

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

値の設定

Parameters:
source 設定値配列

Definition at line 142 of file Capsule.h.

References Lamp::Vector3::set().

void Lamp::Capsule::set float  originX,
float  originY,
float  originZ,
float  directionX,
float  directionY,
float  directionZ,
float  radius
[inline]
 

値の設定

Parameters:
originX 設定する原点X
originY 設定する原点Y
originZ 設定する原点Z
directionX 設定する方向X
directionY 設定する方向Y
directionZ 設定する方向Z
radius 設定する半径

Definition at line 131 of file Capsule.h.

References Lamp::Vector3::set().

void Lamp::Capsule::set const Vector3 origin,
const Vector3 direction,
float  radius
[inline]
 

値の設定

Parameters:
origin 設定する原点
direction 設定する方向
radius 設定する半径

Definition at line 114 of file Capsule.h.

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

方向の設定

Parameters:
direction 設定する方向

Definition at line 159 of file Capsule.h.

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

原点の設定

Parameters:
origin 設定する原点

Definition at line 153 of file Capsule.h.

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

位置の設定

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

Definition at line 175 of file Capsule.h.

void Lamp::Capsule::setRadius float  radius  )  [inline]
 

半径の設定

Parameters:
radius 設定する半径

Definition at line 167 of file Capsule.h.

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

文字列化

Returns:
カプセルの文字列表記

Definition at line 667 of file Capsule.h.

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

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

トランスフォーム

Parameters:
matrix 乗算する行列
Returns:
変換後のカプセル

Definition at line 253 of file Capsule.h.

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

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

トランスフォーム

Parameters:
matrix 乗算する行列
Returns:
変換後のカプセル

Definition at line 243 of file Capsule.h.

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

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

トランスフォーム

Parameters:
matrix 乗算する行列
Returns:
変換後のカプセル

Definition at line 234 of file Capsule.h.

References Capsule().


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