![]() |
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 | 矩形圆角半径 |