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 Vector3 & getOrigin () const
 原点の取得

const Vector3 & getDirection () const
 方向の取得

float getRadius () const
 半径の取得

const Vector3 & getSourcePosition () 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