FMX.Types3D.TBoundingBox
Delphi
TBoundingBox = record
C++
struct DECLSPEC_DRECORD TBoundingBox
{
private:
float __fastcall GetWidth();
void __fastcall SetWidth(const float Value);
float __fastcall GetHeight();
void __fastcall SetHeight(const float Value);
float __fastcall GetDepth();
void __fastcall SetDepth(const float Value);
System::Math::Vectors::TPoint3D __fastcall GetCenterPoint();
public:
__fastcall TBoundingBox(const System::Math::Vectors::TPoint3D &AnOrigin)/* overload */;
__fastcall TBoundingBox(const System::Math::Vectors::TPoint3D &AnOrigin, const float Width, const float Height, const float Depth)/* overload */;
__fastcall TBoundingBox(const float Left, const float Top, const float Near, const float Right, const float Bottom, const float Far)/* overload */;
__fastcall TBoundingBox(const System::Math::Vectors::TPoint3D &APoint1, const System::Math::Vectors::TPoint3D &APoint2, bool NormalizeBox)/* overload */;
__fastcall TBoundingBox(const TBoundingBox &ABox, bool NormalizeBox)/* overload */;
#ifndef _WIN64
__fastcall TBoundingBox(const System::DynamicArray<System::Math::Vectors::TPoint3D> Points)/* overload */;
#else /* _WIN64 */
__fastcall TBoundingBox(const System::TArray__1<System::Math::Vectors::TPoint3D> Points)/* overload */;
#endif /* _WIN64 */
__fastcall TBoundingBox(const System::Math::Vectors::PPoint3D Points, const int PointCount)/* overload */;
static bool __fastcall _op_Equality(const TBoundingBox &LeftBox, const TBoundingBox &RightBox);
static bool __fastcall _op_Inequality(const TBoundingBox &LeftBox, const TBoundingBox &RightBox);
static TBoundingBox __fastcall _op_Addition(const TBoundingBox &LeftBox, const TBoundingBox &RightBox);
static TBoundingBox __fastcall _op_Multiply(const TBoundingBox &LeftBox, const TBoundingBox &RightBox);
static TBoundingBox __fastcall Empty();
float __fastcall FitIntoScale(const TBoundingBox &ADesignatedArea);
TBoundingBox __fastcall FitInto(const TBoundingBox &ADesignatedArea, /* out */ float &ARatio)/* overload */;
TBoundingBox __fastcall FitInto(const TBoundingBox &ADesignatedArea)/* overload */;
TBoundingBox __fastcall Normalize();
bool __fastcall IsEmpty(const float Epsilon = 1.000000E-04f);
bool __fastcall Contains(const System::Math::Vectors::TPoint3D &APoint)/* overload */;
bool __fastcall Contains(const TBoundingBox &ABox)/* overload */;
bool __fastcall IntersectsWith(const TBoundingBox &ABox);
TBoundingBox __fastcall Intersect(const TBoundingBox &DestBox);
TBoundingBox __fastcall Union(const TBoundingBox &DestBox)/* overload */;
TBoundingBox __fastcall Offset(const float DX, const float DY, const float DZ)/* overload */;
TBoundingBox __fastcall Offset(const System::Math::Vectors::TPoint3D &APoint)/* overload */;
TBoundingBox __fastcall Inflate(const float DX, const float DY, const float DZ)/* overload */;
TBoundingBox __fastcall Inflate(const float DL, const float DT, const float DN, const float DR, const float DB, const float DF)/* overload */;
System::Math::Vectors::TPoint3D __fastcall GetSize();
bool __fastcall EqualsTo(const TBoundingBox &ABox, const float Epsilon = 0.000000E+00f);
__property float Width = {read=GetWidth, write=SetWidth};
__property float Height = {read=GetHeight, write=SetHeight};
__property float Depth = {read=GetDepth, write=SetDepth};
__property System::Math::Vectors::TPoint3D CenterPoint = {read=GetCenterPoint};
TBoundingBox() {}
friend bool operator ==(const TBoundingBox &LeftBox, const TBoundingBox &RightBox) { return TBoundingBox::_op_Equality(LeftBox, RightBox); }
friend bool operator !=(const TBoundingBox &LeftBox, const TBoundingBox &RightBox) { return TBoundingBox::_op_Inequality(LeftBox, RightBox); }
friend TBoundingBox operator +(const TBoundingBox &LeftBox, const TBoundingBox &RightBox) { return TBoundingBox::_op_Addition(LeftBox, RightBox); }
friend TBoundingBox operator *(const TBoundingBox &LeftBox, const TBoundingBox &RightBox) { return TBoundingBox::_op_Multiply(LeftBox, RightBox); }
public:
union
{
struct
{
System::Math::Vectors::TPoint3D MinCorner;
System::Math::Vectors::TPoint3D MaxCorner;
};
struct
{
System::Math::Vectors::TPoint3D TopLeftNear;
System::Math::Vectors::TPoint3D BottomRightFar;
};
struct
{
float Left;
float Top;
float Near;
float Right;
float Bottom;
float Far;
};
};
};
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
record struct |
public | FMX.Types3D.pas FMX.Types3D.hpp |
FMX.Types3D | FMX.Types3D |
Description
Type d'enregistrement pour les informations d'un cadre en 3D aligné sur un axe.
Le type d'enregistrement TBoundingBox stocke le sommet maximal et le sommet minimal qui décrivent le cadre.