add: Geometry::GetBoundingBox & Geometry::ComputeArea
This commit is contained in:
parent
92711b411a
commit
e435d94e4e
|
|
@ -36,6 +36,20 @@ namespace easy2d
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Rect Geometry::GetBoundingBox()
|
||||||
|
{
|
||||||
|
if (!geo_)
|
||||||
|
return Rect{};
|
||||||
|
|
||||||
|
D2D1_RECT_F rect;
|
||||||
|
// no matter it failed or not
|
||||||
|
geo_->GetBounds(
|
||||||
|
ConvertToD2DMatrix(GetTransformMatrix()),
|
||||||
|
&rect
|
||||||
|
);
|
||||||
|
return rect;
|
||||||
|
}
|
||||||
|
|
||||||
float Geometry::GetLength()
|
float Geometry::GetLength()
|
||||||
{
|
{
|
||||||
float length = 0.f;
|
float length = 0.f;
|
||||||
|
|
@ -71,6 +85,20 @@ namespace easy2d
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float Geometry::ComputeArea()
|
||||||
|
{
|
||||||
|
if (!geo_)
|
||||||
|
return 0.f;
|
||||||
|
|
||||||
|
float area = 0.f;
|
||||||
|
// no matter it failed or not
|
||||||
|
geo_->ComputeArea(
|
||||||
|
ConvertToD2DMatrix(GetTransformMatrix()),
|
||||||
|
&area
|
||||||
|
);
|
||||||
|
return area;
|
||||||
|
}
|
||||||
|
|
||||||
bool Geometry::ContainsPoint(Point const & point)
|
bool Geometry::ContainsPoint(Point const & point)
|
||||||
{
|
{
|
||||||
if (!geo_)
|
if (!geo_)
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,9 @@ namespace easy2d
|
||||||
|
|
||||||
virtual ~Geometry();
|
virtual ~Geometry();
|
||||||
|
|
||||||
|
// 삿혤棍학관鍋분
|
||||||
|
Rect GetBoundingBox();
|
||||||
|
|
||||||
// 判断图形是否包含点
|
// 判断图形是否包含点
|
||||||
bool ContainsPoint(
|
bool ContainsPoint(
|
||||||
Point const& point
|
Point const& point
|
||||||
|
|
@ -66,6 +69,9 @@ namespace easy2d
|
||||||
Point* tangent
|
Point* tangent
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 셕炬충생
|
||||||
|
float ComputeArea();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
cpGeometry geo_;
|
cpGeometry geo_;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,13 @@ namespace easy2d
|
||||||
, size(other.size.width, other.size.height)
|
, size(other.size.width, other.size.height)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
Rect(
|
||||||
|
const D2D1_RECT_F& other
|
||||||
|
)
|
||||||
|
: origin(other.left, other.top)
|
||||||
|
, size(other.right - other.left, other.bottom - other.top)
|
||||||
|
{}
|
||||||
|
|
||||||
Rect& operator= (const Rect& other)
|
Rect& operator= (const Rect& other)
|
||||||
{
|
{
|
||||||
origin = other.origin;
|
origin = other.origin;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue