#include <AxisAlignedBox.h>
Public Member Functions | |
AxisAlignedBox () | |
コンストラクタ | |
AxisAlignedBox (const Vector3 &minimum, const Vector3 &maximum) | |
コンストラクタ | |
AxisAlignedBox (float minimumX, float minimumY, float minimumZ, float maximumX, float maximumY, float maximumZ) | |
コンストラクタ | |
AxisAlignedBox (const float *const source) | |
コンストラクタ | |
void | set (const Vector3 &minimum, const Vector3 &maximum) |
値の設定 | |
void | set (float minimumX, float minimumY, float minimumZ, float maximumX, float maximumY, float maximumZ) |
値の設定 | |
void | set (const float *const source) |
値の設定 | |
const Vector3 & | getMinimum () const |
最小値の取得 | |
const Vector3 & | getMaximum () const |
最大値の取得 | |
Vector3 | getSize () const |
サイズの取得 | |
Vector3 | getCenter () const |
中心の取得 | |
Vector3 | getCorner (int index) const |
コーナーの取得 | |
void | getCornerArray (Vector3 corner[8]) const |
コーナー配列の取得 | |
const AxisAlignedBox & | merge (const AxisAlignedBox &box) |
マージ | |
const AxisAlignedBox & | merge (const Vector3 &vector) |
マージ | |
bool | isZero () const |
ゼロボックスかどうか | |
bool | isUnit () const |
単位ボックスかどうか | |
AxisAlignedBox | transform (const Matrix33 &matrix) const |
トランスフォーム | |
AxisAlignedBox | transform (const Matrix34 &matrix) const |
トランスフォーム | |
AxisAlignedBox | 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) 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 AxisAlignedBox &target) const |
軸沿いボックスが同じかどうか | |
bool | epsilonEquals (const AxisAlignedBox &target, float epsilon) const |
軸沿いボックスが同じかどうか | |
bool | operator!= (const AxisAlignedBox &target) const |
軸沿いボックスが同じでないかどうか | |
bool | notEpsilonEquals (const AxisAlignedBox &target, float epsilon) const |
軸沿いボックスが同じでないかどうか | |
String | toString () const |
文字列化 | |
Static Public Attributes | |
const AxisAlignedBox | zero |
ゼロボックス | |
const AxisAlignedBox | unit |
単位ボックス |
このクラスは継承しないで下さい。
Definition at line 51 of file AxisAlignedBox.h.
|
コンストラクタ このコンストラクタは初期値の設定を行わないため値は不定です。 Definition at line 70 of file AxisAlignedBox.h. |
|
コンストラクタ
Definition at line 77 of file AxisAlignedBox.h. References Assert, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. |
|
コンストラクタ
Definition at line 93 of file AxisAlignedBox.h. References Assert, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. |
|
コンストラクタ
Definition at line 107 of file AxisAlignedBox.h. References Assert, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. |
|
軸沿いボックスが同じかどうか
Definition at line 654 of file AxisAlignedBox.h. References Assert, Lamp::Vector3::epsilonEquals(), maximum_, and minimum_. |
|
中心の取得
Definition at line 187 of file AxisAlignedBox.h. Referenced by Lamp::DeformedMeshGeometry::calculateBounding(), Lamp::VectorInterpolationCompressor::compressConstant(), Lamp::CalculateBoundingSphereFilter::filterMesh(), Lamp::CalculateBoundingBoxFilter::filterMesh(), and Lamp::CollisionRenderer::setupStaticDeformedMeshCollision(). |
|
コーナーの取得 以下の図のインデックスに沿ってコーナーを取得します。 0が最小値で4が最大値です。
Definition at line 209 of file AxisAlignedBox.h. References ErrorOut, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. Referenced by Lamp::AxisAlignedBoxIntersection::intersect(). |
|
コーナー配列の取得 以下の図のインデックスに沿ってコーナーを取得します。 0が最小値で4が最大値です。
Definition at line 250 of file AxisAlignedBox.h. References Lamp::Vector3::set(), Lamp::Vector3::x, and Lamp::Vector3::y. Referenced by Lamp::Camera::clipping(), and transform(). |
|
三角距離
Definition at line 535 of file AxisAlignedBox.h. References getSquaredDistance(). |
|
球距離
Definition at line 518 of file AxisAlignedBox.h. References getSquaredDistance(). |
|
セグメント距離
Definition at line 501 of file AxisAlignedBox.h. References getSquaredDistance(). |
|
レイ距離
Definition at line 484 of file AxisAlignedBox.h. References getSquaredDistance(). |
|
平面距離
Definition at line 77 of file AxisAlignedBox.cpp. |
|
指向性ボックス距離
Definition at line 449 of file AxisAlignedBox.h. References getSquaredDistance(). |
|
ライン距離
Definition at line 432 of file AxisAlignedBox.h. References getSquaredDistance(). |
|
コーン距離
Definition at line 415 of file AxisAlignedBox.h. References getSquaredDistance(). |
|
カプセル距離
Definition at line 398 of file AxisAlignedBox.h. References getSquaredDistance(). |
|
軸沿いボックス距離
Definition at line 381 of file AxisAlignedBox.h. References getSquaredDistance(). |
|
点距離
Definition at line 364 of file AxisAlignedBox.h. References getSquaredDistance(). Referenced by getSquaredDistance(). |
|
最大値の取得
Definition at line 175 of file AxisAlignedBox.h. Referenced by Lamp::CalculateBoundingBoxFilter::filterMesh(), Lamp::AxisAlignedBoxIntersection::intersect(), Lamp::TextSceneSaver::writeMeshData(), and Lamp::TextCollisionSaver::writeStaticDeformedMeshCollision(). |
|
最小値の取得
Definition at line 169 of file AxisAlignedBox.h. Referenced by Lamp::CalculateBoundingBoxFilter::filterMesh(), Lamp::AxisAlignedBoxIntersection::intersect(), Lamp::TextSceneSaver::writeMeshData(), and Lamp::TextCollisionSaver::writeStaticDeformedMeshCollision(). |
|
サイズの取得
Definition at line 181 of file AxisAlignedBox.h. Referenced by Lamp::AnimationCompressor::compressScale(), Lamp::AxisAlignedBoxIntersection::intersect(), and Lamp::CollisionRenderer::setupStaticDeformedMeshCollision(). |
|
三角距離の二乗
Definition at line 97 of file AxisAlignedBox.cpp. |
|
球距離の二乗
Definition at line 92 of file AxisAlignedBox.cpp. |
|
セグメント距離の二乗
Definition at line 87 of file AxisAlignedBox.cpp. |
|
レイ距離の二乗
Definition at line 82 of file AxisAlignedBox.cpp. |
|
平面距離の二乗
Definition at line 473 of file AxisAlignedBox.h. References getDistance(). |
|
指向性ボックス距離の二乗
Definition at line 72 of file AxisAlignedBox.cpp. |
|
ライン距離の二乗
Definition at line 67 of file AxisAlignedBox.cpp. |
|
コーン距離の二乗
Definition at line 62 of file AxisAlignedBox.cpp. |
|
カプセル距離の二乗
Definition at line 57 of file AxisAlignedBox.cpp. |
|
軸沿いボックス距離の二乗
Definition at line 51 of file AxisAlignedBox.cpp. |
|
点距離の二乗
Definition at line 46 of file AxisAlignedBox.cpp. Referenced by getDistance(). |
|
三角交差
Definition at line 154 of file AxisAlignedBox.cpp. |
|
球交差
Definition at line 149 of file AxisAlignedBox.cpp. |
|
セグメント交差
Definition at line 144 of file AxisAlignedBox.cpp. |
|
レイ交差
Definition at line 139 of file AxisAlignedBox.cpp. |
|
平面交差
Definition at line 134 of file AxisAlignedBox.cpp. |
|
指向性ボックス交差
Definition at line 129 of file AxisAlignedBox.cpp. |
|
ライン交差
Definition at line 124 of file AxisAlignedBox.cpp. |
|
コーン交差
Definition at line 119 of file AxisAlignedBox.cpp. |
|
カプセル交差
Definition at line 114 of file AxisAlignedBox.cpp. |
|
軸沿いボックス交差
Definition at line 109 of file AxisAlignedBox.cpp. |
|
点交差
Definition at line 104 of file AxisAlignedBox.cpp. Referenced by Lamp::Scene::getLocalLightList(), and Lamp::DeformedMeshGeometry::intersectBounding(). |
|
単位ボックスかどうか
Definition at line 307 of file AxisAlignedBox.h. References epsilonEquals(), and unit. |
|
ゼロボックスかどうか
Definition at line 299 of file AxisAlignedBox.h. References epsilonEquals(), and zero. |
|
マージ
Definition at line 284 of file AxisAlignedBox.h. References Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. |
|
マージ
Definition at line 269 of file AxisAlignedBox.h. References maximum_, minimum_, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. Referenced by Lamp::DeformedMeshGeometry::calculateBounding(), Lamp::VectorInterpolationCompressor::compressConstant(), Lamp::CalculateBoundingBoxFilter::filterMesh(), Lamp::VectorLinearInterpolator::getBoundingBox(), Lamp::VectorArrayInterpolator::getBoundingBox(), Lamp::OrientedBox::scaledTransform(), and transform(). |
|
軸沿いボックスが同じでないかどうか
Definition at line 676 of file AxisAlignedBox.h. References Assert, maximum_, minimum_, and Lamp::Vector3::notEpsilonEquals(). |
|
軸沿いボックスが同じでないかどうか
Definition at line 666 of file AxisAlignedBox.h. |
|
軸沿いボックスが同じかどうか
Definition at line 644 of file AxisAlignedBox.h. |
|
値の設定
Definition at line 154 of file AxisAlignedBox.h. References Assert, Lamp::Vector3::set(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. |
|
値の設定
Definition at line 140 of file AxisAlignedBox.h. References Assert, Lamp::Vector3::set(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. |
|
値の設定
Definition at line 123 of file AxisAlignedBox.h. References Assert, Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. Referenced by Lamp::DeformedMeshGeometry::calculateBounding(), Lamp::CalculateBoundingBoxFilter::filterMesh(), Lamp::VectorLinearInterpolator::getBoundingBox(), Lamp::VectorConstantInterpolator::getBoundingBox(), Lamp::VectorArrayInterpolator::getBoundingBox(), Lamp::TextSceneLoader::readAxisAlignedBox(), Lamp::TextCollisionLoader::readAxisAlignedBox(), and Lamp::OrientedBox::scaledTransform(). |
|
文字列化
Definition at line 690 of file AxisAlignedBox.h. References Lamp::String::format(), Lamp::Vector3::x, Lamp::Vector3::y, and Lamp::Vector3::z. |
|
トランスフォーム
Definition at line 347 of file AxisAlignedBox.h. References getCornerArray(), maximum_, merge(), and minimum_. |
|
トランスフォーム
Definition at line 333 of file AxisAlignedBox.h. References getCornerArray(), maximum_, merge(), and minimum_. |
|
トランスフォーム
Definition at line 319 of file AxisAlignedBox.h. References getCornerArray(), maximum_, merge(), and minimum_. Referenced by Lamp::Mesh::traverse(), and Lamp::StaticDeformedMeshCollision::traverseImplement(). |