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 Vector3getVertex (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:
Generated on Wed Mar 16 10:29:53 2005 for Lamp by doxygen 1.3.2