Kiwano Engine  v1.2.x
kiwano::physics::Fixture类 参考

物理夹具 更多...

#include <Fixture.h>

类 kiwano::physics::Fixture 继承关系图:
kiwano::physics::Fixture 的协作图:

struct  Param
 夹具参数 更多...
 

Public 成员函数

bool Init (PhysicBodyPtr body)
 初始化夹具
 
bool Init (PhysicBody *body)
 初始化夹具
 
PhysicBodyGetBody () const
 获取夹具所在的物体
 
bool IsSensor () const
 是否是接触传感器
 
void SetSensor (bool sensor)
 设置夹具是否是接触传感器 更多...
 
void GetMassData (float *mass, Point *center, float *inertia) const
 获取夹具的质量数据
 
float GetDensity () const
 获取密度
 
void SetDensity (float density)
 设置密度
 
float GetFriction () const
 获取摩擦力 [N]
 
void SetFriction (float friction)
 设置摩擦力 [N]
 
float GetRestitution () const
 获取弹性恢复
 
void SetRestitution (float restitution)
 设置弹性恢复
 
bool TestPoint (const Point &p) const
 点测试
 
void Destroy ()
 销毁夹具
 
b2Fixture * GetB2Fixture () const
 获取b2Fixture
 
void SetB2Fixture (b2Fixture *fixture)
 设置b2Fixture
 
bool operator== (const Fixture &rhs) const
 
bool operator!= (const Fixture &rhs) const
 
- 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
 反序列化
 
virtual bool IsValid () const
 判断对象是否有效
 
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 FixturePtr CreateCircle (const Param &param, float radius, const Point &offset=Point())
 创建圆形夹具 更多...
 
static FixturePtr CreateRect (const Param &param, const Size &size, const Point &offset=Point(), float rotation=0.f)
 创建矩形夹具 更多...
 
static FixturePtr CreatePolygon (const Param &param, const Vector< Point > &vertexs)
 创建多边形夹具 更多...
 
static FixturePtr CreateEdge (const Param &param, const Point &p1, const Point &p2)
 创建边夹具 更多...
 
static FixturePtr CreateChain (const Param &param, const Vector< Point > &vertices, bool loop=false)
 创建链条夹具 更多...
 
- 静态 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
 

详细描述

物理夹具

成员函数说明

FixturePtr kiwano::physics::Fixture::CreateChain ( const Param param,
const Vector< Point > &  vertices,
bool  loop = false 
)
static

创建链条夹具

参数
param夹具参数
vertexs链条顶点
loop是否连接链条的起点和终点
FixturePtr kiwano::physics::Fixture::CreateCircle ( const Param param,
float  radius,
const Point offset = Point() 
)
static

创建圆形夹具

参数
param夹具参数
radius圆形半径
offset偏移量
FixturePtr kiwano::physics::Fixture::CreateEdge ( const Param param,
const Point p1,
const Point p2 
)
static

创建边夹具

参数
param夹具参数
p1边的起点
p2边的终点
FixturePtr kiwano::physics::Fixture::CreatePolygon ( const Param param,
const Vector< Point > &  vertexs 
)
static

创建多边形夹具

参数
param夹具参数
vertexs多边形顶点
FixturePtr kiwano::physics::Fixture::CreateRect ( const Param param,
const Size size,
const Point offset = Point(),
float  rotation = 0.f 
)
static

创建矩形夹具

参数
param夹具参数
size矩形大小
offset偏移量
rotation旋转角度
void kiwano::physics::Fixture::SetSensor ( bool  sensor)
inline

设置夹具是否是接触传感器

接触传感器只会产生物理接触,而不会影响物体运动