FMX.Types3D.TBoundingBox

From RAD Studio API Documentation
Jump to: navigation, search

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 */;
    __fastcall TBoundingBox(const System::DynamicArray<System::Math::Vectors::TPoint3D> Points)/* overload */;
    __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;
        };
    };
};

Properties

Type Visibility Source Unit Parent
record
struct
public
FMX.Types3D.pas
FMX.Types3D.hpp
FMX.Types3D FMX.Types3D

Description

Record type for the information of an axis aligned box in 3D.

The TBoundingBox record type stores the maximum and minimum vertices which describe the box.

See Also