Kiwano Engine v1.3.x
|
形状 更多...
#include <Shape.h>
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::NativeObject | |
const Any & | GetNative () const |
template<class _Ty > | |
_Ty | GetNative () const |
void | SetNative (const Any &native) |
void | ResetNative () |
bool | IsValid () const override |
判断对象是否有效 更多... | |
Public 成员函数 继承自 kiwano::ObjectBase | |
ObjectBase () | |
构造基础对象 | |
void | SetName (StringView name) |
设置对象名 | |
StringView | GetName () const |
获取对象名 | |
bool | IsName (StringView name) const |
判断对象的名称是否相同 更多... | |
void * | GetUserData () const |
获取用户数据 | |
void | SetUserData (void *data) |
设置用户数据 更多... | |
void | Hold (RefPtr< ObjectBase > other) |
持有一个对象并管理其生命周期 更多... | |
void | Unhold (RefPtr< ObjectBase > other) |
放弃持有的对象 更多... | |
uint64_t | GetObjectID () const |
获取对象ID | |
void | DoSerialize (Serializer *serializer) const override |
序列化 更多... | |
void | DoDeserialize (Deserializer *deserializer) override |
反序列化 更多... | |
virtual bool | IsValid () const |
判断对象是否有效 更多... | |
ObjectStatus * | GetStatus () const |
获取对象状态 | |
void | SetStatus (const ObjectStatus &status) |
设置对象状态 | |
void | Fail (StringView 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) |
从字节串反序列化 | |
virtual void | DoSerialize (Serializer *serializer) const =0 |
执行序列化 更多... | |
virtual void | DoDeserialize (Deserializer *deserializer)=0 |
执行反序列化 更多... | |
静态 Public 成员函数 | |
static RefPtr< Shape > | CreateLine (const Point &begin, const Point &end) |
创建线段形状 更多... | |
static RefPtr< Shape > | CreateRect (const Rect &rect) |
创建矩形 更多... | |
static RefPtr< Shape > | CreateRoundedRect (const Rect &rect, const Vec2 &radius) |
创建圆角矩形 更多... | |
static RefPtr< Shape > | CreateCircle (const Point ¢er, float radius) |
创建圆形 更多... | |
static RefPtr< Shape > | CreateEllipse (const Point ¢er, const Vec2 &radius) |
创建椭圆形 更多... | |
static RefPtr< Shape > | 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::NativeObject | |
Any | native_ |
形状
计算图形上点的位置和切线向量
[in] | length | 点在图形上的位置,范围 [0.0 - 1.0] |
[out] | point | 点的位置 |
[out] | tangent | 点的切线向量 |
bool kiwano::Shape::ContainsPoint | ( | const Point & | point, |
const Matrix3x2 * | transform = nullptr |
||
) | const |
判断图形是否包含点
point | 点 |
transform | 应用到点上的二维变换 |
创建圆形
center | 圆形原点 |
radius | 圆形半径 |
创建椭圆形
center | 椭圆原点 |
radius | 椭圆半径 |
创建线段形状
begin | 线段起点 |
end | 线段终点 |
创建多边形
vertices | 多边形端点集合 |
创建圆角矩形
rect | 矩形 |
radius | 矩形圆角半径 |