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

# Lamp::Triangle Class Reference

三角 More...

`#include <Triangle.h>`

List of all members.

## Public Member Functions
| Triangle ()
| コンストラクタ
| Triangle (const Vector3 &vertex0, const Vector3 &vertex1, const Vector3 &vertex2)
| コンストラクタ
| Triangle (float vertex0x, float vertex0y, float vertex0z, float vertex1x, float vertex1y, float vertex1z, float vertex2x, float vertex2y, float vertex2z)
| コンストラクタ
| Triangle (const Vector3 *const source)
| コンストラクタ
void | set (const Vector3 &vertex0, const Vector3 &vertex1, const Vector3 &vertex2)
| 値の設定
void | set (float vertex0x, float vertex0y, float vertex0z, float vertex1x, float vertex1y, float vertex1z, float vertex2x, float vertex2y, float vertex2z)
| 値の設定
void | set (const Vector3 *const source)
| 値の設定
void | setVertex (int index, const Vector3 &vertex)
| 頂点の設定
const Vector3 & | getVertex (int index) const
| 頂点の取得
Vector3 | getNormal () const
| 法線の取得
bool | isZero () const
| ゼロ三角かどうか
Triangle | transform (const Matrix33 &matrix) const
| トランスフォーム
Triangle | transform (const Matrix34 &matrix) const
| トランスフォーム
Triangle | 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, float range=Math::epsilon) 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 (Intersection *intersection, const Sphere &sphere) const
| 球交差
bool | intersect (const Triangle &triangle) const
| 三角交差
bool | operator== (const Triangle &target) const
| 三角が同じかどうか
bool | epsilonEquals (const Triangle &target, float epsilon) const
| 三角が同じかどうか
bool | operator!= (const Triangle &target) const
| 三角が同じでないかどうか
bool | notEpsilonEquals (const Triangle &target, float epsilon) const
| 三角が同じでないかどうか
String | toString () const
| 文字列化
## Static Public Attributes
const Triangle | zero
| ゼロ三角

## Detailed Description

三角

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

Definition at line 52 of file Triangle.h.

## Constructor & Destructor Documentation

Lamp::Triangle::Triangle | ( |  | ) | `[inline]`

| コンストラクタ このコンストラクタは初期値の設定を行わないため値は不定です。 Definition at line 68 of file Triangle.h. Referenced by transform().

Lamp::Triangle::Triangle | ( | const Vector3 & | vertex0,
|  | const Vector3 & | vertex1,
|  | const Vector3 & | vertex2
| ) | `[inline]`

  | コンストラクタ Parameters:
  vertex0 | 頂点0の初期値
  vertex1 | 頂点1の初期値
  vertex2 | 頂点2の初期値
Definition at line 76 of file Triangle.h.

Lamp::Triangle::Triangle | ( | float | vertex0x,
|  | float | vertex0y,
|  | float | vertex0z,
|  | float | vertex1x,
|  | float | vertex1y,
|  | float | vertex1z,
|  | float | vertex2x,
|  | float | vertex2y,
|  | float | vertex2z
| ) | `[inline]`

  | コンストラクタ Parameters:
  vertex0x | 頂点0のX初期値
  vertex0y | 頂点0のY初期値
  vertex0z | 頂点0のZ初期値
  vertex1x | 頂点1のX初期値
  vertex1y | 頂点1のY初期値
  vertex1z | 頂点1のZ初期値
  vertex2x | 頂点2のX初期値
  vertex2y | 頂点2のY初期値
  vertex2z | 頂点2のZ初期値
Definition at line 95 of file Triangle.h. References Lamp::Vector3::set().

Lamp::Triangle::Triangle | ( | const Vector3 *const | source | ) | `[inline, explicit]`

  | コンストラクタ Parameters:
  source | 初期値配列
Definition at line 107 of file Triangle.h.

## Member Function Documentation

bool Lamp::Triangle::epsilonEquals | ( | const Triangle & | target,
|  | float | epsilon
| ) | const`[inline]`

  | 三角が同じかどうか Parameters:
  target | 比較する三角
  epsilon | 誤差
Returns: 誤差の範囲内で同じ値であればtrueを返す Definition at line 544 of file Triangle.h. References Assert, Lamp::Vector3::epsilonEquals(), and vertex_. Referenced by isZero().

float Lamp::Triangle::getDistance | ( | const Triangle & | triangle | ) | const`[inline]`

  | 三角距離 Parameters:
  triangle | 距離判定する三角
Returns: 距離 Definition at line 413 of file Triangle.h. References getSquaredDistance().

float Lamp::Triangle::getDistance | ( | const Sphere & | sphere | ) | const`[inline]`

  | 球距離 Parameters:
  sphere | 距離判定する球
Returns: 距離 Definition at line 396 of file Triangle.h. References getSquaredDistance().

float Lamp::Triangle::getDistance | ( | const Segment & | segment | ) | const`[inline]`

  | セグメント距離 Parameters:
  segment | 距離判定するセグメント
Returns: 距離 Definition at line 379 of file Triangle.h. References getSquaredDistance().

float Lamp::Triangle::getDistance | ( | const Ray & | ray | ) | const`[inline]`

  | レイ距離 Parameters:
  ray | 距離判定するレイ
Returns: 距離 Definition at line 362 of file Triangle.h. References getSquaredDistance().

float Lamp::Triangle::getDistance | ( | const Plane & | plane | ) | const

  | 平面距離 Parameters:
  plane | 距離判定する平面
Returns: 距離 Definition at line 91 of file Triangle.cpp.

float Lamp::Triangle::getDistance | ( | const OrientedBox & | orientedBox | ) | const`[inline]`

  | 指向性ボックス距離 Parameters:
  orientedBox | 距離判定する指向性ボックス
Returns: 距離 Definition at line 327 of file Triangle.h. References getSquaredDistance().

float Lamp::Triangle::getDistance | ( | const Line & | line | ) | const`[inline]`

  | ライン距離 Parameters:
  line | 距離判定するライン
Returns: 距離 Definition at line 310 of file Triangle.h. References getSquaredDistance().

float Lamp::Triangle::getDistance | ( | const Cone & | cone | ) | const`[inline]`

  | コーン距離 Parameters:
  cone | 距離判定するコーン
Returns: 距離 Definition at line 293 of file Triangle.h. References getSquaredDistance().

float Lamp::Triangle::getDistance | ( | const Capsule & | capsule | ) | const`[inline]`

  | カプセル距離 Parameters:
  capsule | 距離判定するカプセル
Returns: 距離 Definition at line 276 of file Triangle.h. References getSquaredDistance().

float Lamp::Triangle::getDistance | ( | const AxisAlignedBox & | axisAlignedBox | ) | const`[inline]`

  | 軸沿いボックス距離 Parameters:
  axisAlignedBox | 距離判定する軸沿いボックス
Returns: 距離 Definition at line 259 of file Triangle.h. References getSquaredDistance().

float Lamp::Triangle::getDistance | ( | const Vector3 & | point | ) | const`[inline]`

  | 点距離 Parameters:
  point | 距離判定する点
Returns: 距離 Definition at line 242 of file Triangle.h. References getSquaredDistance(). Referenced by getSquaredDistance().

Vector3 Lamp::Triangle::getNormal | ( |  | ) | const`[inline]`

| 法線の取得 Returns: 法線 Definition at line 186 of file Triangle.h.

float Lamp::Triangle::getSquaredDistance | ( | const Triangle & | triangle | ) | const

  | 三角距離の二乗 Parameters:
  triangle | 距離判定する三角
Returns: 距離の二乗 Definition at line 111 of file Triangle.cpp.

float Lamp::Triangle::getSquaredDistance | ( | const Sphere & | sphere | ) | const

  | 球距離の二乗 Parameters:
  sphere | 距離判定する球
Returns: 距離の二乗 Definition at line 106 of file Triangle.cpp.

float Lamp::Triangle::getSquaredDistance | ( | const Segment & | segment | ) | const

  | セグメント距離の二乗 Parameters:
  segment | 距離判定するセグメント
Returns: 距離の二乗 Definition at line 101 of file Triangle.cpp.

float Lamp::Triangle::getSquaredDistance | ( | const Ray & | ray | ) | const

  | レイ距離の二乗 Parameters:
  ray | 距離判定するレイ
Returns: 距離の二乗 Definition at line 96 of file Triangle.cpp.

float Lamp::Triangle::getSquaredDistance | ( | const Plane & | plane | ) | const`[inline]`

  | 平面距離の二乗 Parameters:
  plane | 距離判定する平面
Returns: 距離の二乗 Definition at line 351 of file Triangle.h. References getDistance().

float Lamp::Triangle::getSquaredDistance | ( | const OrientedBox & | orientedBox | ) | const

  | 指向性ボックス距離の二乗 Parameters:
  orientedBox | 距離判定する指向性ボックス
Returns: 距離の二乗 Definition at line 86 of file Triangle.cpp.

float Lamp::Triangle::getSquaredDistance | ( | const Line & | line | ) | const

  | ライン距離の二乗 Parameters:
  line | 距離判定するライン
Returns: 距離の二乗 Definition at line 81 of file Triangle.cpp.

float Lamp::Triangle::getSquaredDistance | ( | const Cone & | cone | ) | const

  | コーン距離の二乗 Parameters:
  cone | 距離判定するコーン
Returns: 距離の二乗 Definition at line 76 of file Triangle.cpp.

float Lamp::Triangle::getSquaredDistance | ( | const Capsule & | capsule | ) | const

  | カプセル距離の二乗 Parameters:
  capsule | 距離判定するカプセル
Returns: 距離の二乗 Definition at line 71 of file Triangle.cpp.

float Lamp::Triangle::getSquaredDistance | ( | const AxisAlignedBox & | axisAlignedBox | ) | const

  | 軸沿いボックス距離の二乗 Parameters:
  axisAlignedBox | 距離判定する軸沿いボックス
Returns: 距離の二乗 Definition at line 66 of file Triangle.cpp.

float Lamp::Triangle::getSquaredDistance | ( | const Vector3 & | point | ) | const

  | 点距離の二乗 Parameters:
  point | 距離判定する点
Returns: 距離の二乗 Definition at line 61 of file Triangle.cpp. Referenced by getDistance().

const Vector3& Lamp::Triangle::getVertex | ( | int | index | ) | const`[inline]`

  | 頂点の取得 Parameters:
  index | 頂点のインデックス
Returns: 頂点 Definition at line 177 of file Triangle.h. References Assert. Referenced by Lamp::DeformedMeshGeometry::calculateBounding(), Lamp::SphereIntersection::intersect(), Lamp::CollisionRenderer::setupStaticDeformedMeshCollision(), and Lamp::TextCollisionSaver::writeStaticDeformedMeshCollision().

bool Lamp::Triangle::intersect | ( | const Triangle & | triangle | ) | const

  | 三角交差 Parameters:
  triangle | 交差判定する三角
Returns: 交差していればtrue Definition at line 175 of file Triangle.cpp.

bool Lamp::Triangle::intersect | ( | Intersection * | intersection,
|  | const Sphere & | sphere
| ) | const

  | 球交差 Parameters:
  intersection | 交差、返り値がtrueなら設定されている
  sphere | 交差判定する球
Returns: 交差していればtrue Definition at line 168 of file Triangle.cpp. References Lamp::Intersection::reverse().

bool Lamp::Triangle::intersect | ( | const Sphere & | sphere | ) | const

  | 球交差 Parameters:
  sphere | 交差判定する球
Returns: 交差していればtrue Definition at line 163 of file Triangle.cpp.

bool Lamp::Triangle::intersect | ( | const Segment & | segment | ) | const

  | セグメント交差 Parameters:
  segment | 交差判定するセグメント
Returns: 交差していればtrue Definition at line 158 of file Triangle.cpp.

bool Lamp::Triangle::intersect | ( | const Ray & | ray | ) | const

  | レイ交差 Parameters:
  ray | 交差判定するレイ
Returns: 交差していればtrue Definition at line 153 of file Triangle.cpp.

bool Lamp::Triangle::intersect | ( | const Plane & | plane | ) | const

  | 平面交差 Parameters:
  plane | 交差判定する平面
Returns: 交差していればtrue Definition at line 148 of file Triangle.cpp.

bool Lamp::Triangle::intersect | ( | const OrientedBox & | orientedBox | ) | const

  | 指向性ボックス交差 Parameters:
  orientedBox | 交差判定する指向性ボックス
Returns: 交差していればtrue Definition at line 143 of file Triangle.cpp.

bool Lamp::Triangle::intersect | ( | const Line & | line | ) | const

  | ライン交差 Parameters:
  line | 交差判定するライン
Returns: 交差していればtrue Definition at line 138 of file Triangle.cpp.

bool Lamp::Triangle::intersect | ( | const Cone & | cone | ) | const

  | コーン交差 Parameters:
  cone | 交差判定するコーン
Returns: 交差していればtrue Definition at line 128 of file Triangle.cpp.

bool Lamp::Triangle::intersect | ( | const Capsule & | capsule | ) | const

  | カプセル交差 Parameters:
  capsule | 交差判定するカプセル
Returns: 交差していればtrue Definition at line 133 of file Triangle.cpp.

bool Lamp::Triangle::intersect | ( | const AxisAlignedBox & | axisAlignedBox | ) | const

  | 軸沿いボックス交差 Parameters:
  axisAlignedBox | 交差判定する軸沿いボックス
Returns: 交差していればtrue Definition at line 123 of file Triangle.cpp.

bool Lamp::Triangle::intersect | ( | const Vector3 & | point,
|  | float | range = Math::epsilon
| ) | const

  | 点交差 Parameters:
  point | 交差判定する点
  range | 交差範囲
Returns: 交差していればtrue Definition at line 118 of file Triangle.cpp. Referenced by Lamp::DeformedMeshGeometry::intersectMesh().

bool Lamp::Triangle::isZero | ( |  | ) | const`[inline]`

| ゼロ三角かどうか Returns: ゼロ三角ならtrueを返す Definition at line 197 of file Triangle.h. References epsilonEquals(), and zero.

bool Lamp::Triangle::notEpsilonEquals | ( | const Triangle & | target,
|  | float | epsilon
| ) | const`[inline]`

  | 三角が同じでないかどうか Parameters:
  target | 比較する三角
  epsilon | 誤差
Returns: 誤差の範囲内で同じでない値であればtrueを返す Definition at line 571 of file Triangle.h. References Assert, Lamp::Vector3::notEpsilonEquals(), and vertex_.

bool Lamp::Triangle::operator!= | ( | const Triangle & | target | ) | const`[inline]`

  | 三角が同じでないかどうか Parameters:
  target | 比較する三角
Returns: 同じでない値であればtrueを返す Definition at line 558 of file Triangle.h. References vertex_.

bool Lamp::Triangle::operator== | ( | const Triangle & | target | ) | const`[inline]`

  | 三角が同じかどうか Parameters:
  target | 比較する三角
Returns: 同じ値であればtrueを返す Definition at line 531 of file Triangle.h. References vertex_.

void Lamp::Triangle::set | ( | const Vector3 *const | source | ) | `[inline]`

  | 値の設定 Parameters:
  source | 設定値配列
Definition at line 153 of file Triangle.h.

void Lamp::Triangle::set | ( | float | vertex0x,
|  | float | vertex0y,
|  | float | vertex0z,
|  | float | vertex1x,
|  | float | vertex1y,
|  | float | vertex1z,
|  | float | vertex2x,
|  | float | vertex2y,
|  | float | vertex2z
| ) | `[inline]`

  | 値の設定 Parameters:
  vertex0x | 設定する頂点0のX値
  vertex0y | 設定する頂点0のY値
  vertex0z | 設定する頂点0のZ値
  vertex1x | 設定する頂点1のX値
  vertex1y | 設定する頂点1のY値
  vertex1z | 設定する頂点1のZ値
  vertex2x | 設定する頂点2のX値
  vertex2y | 設定する頂点2のY値
  vertex2z | 設定する頂点2のZ値
Definition at line 141 of file Triangle.h. References Lamp::Vector3::set().

void Lamp::Triangle::set | ( | const Vector3 & | vertex0,
|  | const Vector3 & | vertex1,
|  | const Vector3 & | vertex2
| ) | `[inline]`

  | 値の設定 Parameters:
  vertex0 | 設定する頂点0
  vertex1 | 設定する頂点1
  vertex2 | 設定する頂点2
Definition at line 122 of file Triangle.h.

void Lamp::Triangle::setVertex | ( | int | index,
|  | const Vector3 & | vertex
| ) | `[inline]`

  | 頂点の設定 Parameters:
  index | 頂点のインデックス
  vertex | 設定する頂点
Definition at line 164 of file Triangle.h. References Assert. Referenced by Lamp::MeshData::getTriangle(), and Lamp::TextCollisionLoader::readTriangle().

String Lamp::Triangle::toString | ( |  | ) | const`[inline]`

| 文字列化 Returns: 三角の文字列表記 Definition at line 587 of file Triangle.h. References Lamp::String::format().

Triangle Lamp::Triangle::transform | ( | const Matrix44 & | matrix | ) | const`[inline]`

  | トランスフォーム Parameters:
  matrix | 乗算する行列
Returns: 変換後の三角 Definition at line 229 of file Triangle.h. References Triangle().

Triangle Lamp::Triangle::transform | ( | const Matrix34 & | matrix | ) | const`[inline]`

  | トランスフォーム Parameters:
  matrix | 乗算する行列
Returns: 変換後の三角 Definition at line 219 of file Triangle.h. References Triangle().

Triangle Lamp::Triangle::transform | ( | const Matrix33 & | matrix | ) | const`[inline]`

  | トランスフォーム Parameters:
  matrix | 乗算する行列
Returns: 変換後の三角 Definition at line 209 of file Triangle.h. References Triangle(). Referenced by Lamp::StaticDeformedMeshCollision::getWorldMesh().

The documentation for this class was generated from the following files:

- Triangle.h
- Triangle.cpp