Kiwano Engine  v1.2.x
kiwano::Shape类 参考

形状 更多...

#include <Shape.h>

类 kiwano::Shape 继承关系图:
kiwano::Shape 的协作图:

Public 成员函数

Rect GetBoundingBox () const
 获取外切包围盒
 
Rect GetBoundingBox (const Matrix3x2 &transform) const
 获取外切包围盒 更多...
 
bool ContainsPoint (const Point &point, const Matrix3x2 *transform=nullptr) const
 判断图形是否包含点 更多...
 
float GetLength () const
 获取图形展开成一条直线的长度
 
float ComputeArea () const
 计算图形面积
 
bool ComputePointAtLength (float length, Point &point, Vec2 &tangent) const
 计算图形上点的位置和切线向量 更多...
 
void Clear ()
 清除形状
 
- Public 成员函数 继承自 kiwano::NativeObjectBase
bool IsValid () const override
 判断对象是否有效
 
void * GetNativePointer () const
 
template<typename _NativeTy >
_NativeTy * GetNativePointer () const
 
virtual void ResetNativePointer (void *native_pointer=nullptr)
 
- Public 成员函数 继承自 kiwano::ObjectBase
 ObjectBase ()
 构造基础对象
 
void SetName (const String &name)
 设置对象名
 
String GetName () const
 获取对象名
 
bool IsName (const String &name) const
 判断对象的名称是否相同 更多...
 
void * GetUserData () const
 获取用户数据
 
void SetUserData (void *data)
 设置用户数据
 
uint64_t GetObjectID () const
 获取对象ID
 
void DoSerialize (Serializer *serializer) const override
 序列化
 
void DoDeserialize (Deserializer *deserializer) override
 反序列化
 
ObjectStatusGetStatus () const
 获取对象状态
 
void SetStatus (const ObjectStatus &status)
 设置对象状态
 
void Fail (const String &msg, int code=ObjectStatus::fail)
 将对象标记为失败状态
 
void ClearStatus ()
 清除对象状态
 
- Public 成员函数 继承自 kiwano::RefObject
void Retain ()
 增加引用计数
 
void Release ()
 减少引用计数
 
uint32_t GetRefCount () const
 获取引用计数
 
- Public 成员函数 继承自 kiwano::Serializable
Vector< uint8_t > Serialize () const
 序列化为字节串
 
void Deserialize (const Vector< uint8_t > &data)
 从字节串反序列化
 

静态 Public 成员函数

static ShapePtr CreateLine (const Point &begin, const Point &end)
 创建线段形状 更多...
 
static ShapePtr CreateRect (const Rect &rect)
 创建矩形 更多...
 
static ShapePtr CreateRoundedRect (const Rect &rect, const Vec2 &radius)
 创建圆角矩形 更多...
 
static ShapePtr CreateCircle (const Point &center, float radius)
 创建圆形 更多...
 
static ShapePtr CreateEllipse (const Point &center, const Vec2 &radius)
 创建椭圆形 更多...
 
static ShapePtr CreatePolygon (const Vector< Point > &vertices)
 创建多边形 更多...
 
- 静态 Public 成员函数 继承自 kiwano::ObjectBase
static void SetObjectPolicy (const ObjectPolicyFunc &policy)
 设置对象处理策略
 
static bool IsTracingLeaks ()
 是否启用了内存泄漏追踪
 
static void StartTracingLeaks ()
 开始追踪内存泄漏
 
static void StopTracingLeaks ()
 停止追踪内存泄漏
 
static void DumpTracingObjects ()
 打印所有追踪中的对象信息
 
static Vector< ObjectBase * > & GetTracingObjects ()
 获取所有追踪中的对象
 
- 静态 Public 成员函数 继承自 kiwano::RefObject
static void * operator new (size_t size)
 
static void operator delete (void *ptr)
 
static void * operator new (size_t size, std::nothrow_t const &) noexcept
 
static void operator delete (void *ptr, std::nothrow_t const &) noexcept
 
static void * operator new (size_t size, void *ptr) noexcept
 
static void operator delete (void *ptr, void *place) noexcept
 

友元

class ShapeMaker
 

额外继承的成员函数

- Protected 属性 继承自 kiwano::NativeObjectBase
void * native_pointer_
 

详细描述

形状

成员函数说明

bool kiwano::Shape::ComputePointAtLength ( float  length,
Point point,
Vec2 tangent 
) const

计算图形上点的位置和切线向量

参数
[in]length点在图形上的位置,范围 [0.0 - 1.0]
[out]point点的位置
[out]tangent点的切线向量
bool kiwano::Shape::ContainsPoint ( const Point point,
const Matrix3x2 transform = nullptr 
) const

判断图形是否包含点

参数
point
transform应用到点上的二维变换
ShapePtr kiwano::Shape::CreateCircle ( const Point center,
float  radius 
)
static

创建圆形

参数
center圆形原点
radius圆形半径
ShapePtr kiwano::Shape::CreateEllipse ( const Point center,
const Vec2 radius 
)
static

创建椭圆形

参数
center椭圆原点
radius椭圆半径
ShapePtr kiwano::Shape::CreateLine ( const Point begin,
const Point end 
)
static

创建线段形状

参数
begin线段起点
end线段终点
ShapePtr kiwano::Shape::CreatePolygon ( const Vector< Point > &  vertices)
static

创建多边形

参数
vertices多边形端点集合
ShapePtr kiwano::Shape::CreateRect ( const Rect rect)
static

创建矩形

参数
rect矩形
ShapePtr kiwano::Shape::CreateRoundedRect ( const Rect rect,
const Vec2 radius 
)
static

创建圆角矩形

参数
rect矩形
radius矩形圆角半径
Rect kiwano::Shape::GetBoundingBox ( const Matrix3x2 transform) const

获取外切包围盒

参数
transform二维变换