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:

- Capsule.h
- Capsule.cpp