CBlueUI  
C++ 跨平台跨框架的数据可视化工具
载入中...
搜索中...
未找到
BUI::GAnimateTransform类 参考

动画变换矩阵 1.使用时提前调用UpdateTimeLine(t),更新动画。 2.再获取动画的变换矩阵。调用GetTransform2d 更多...

类 BUI::GAnimateTransform 继承关系图:

Public 类型

enum  TransformType {
  am_none = 0 , am_translate , am_ratate , am_scale ,
  am_skew_x , am_skew_y
}

Public 成员函数

 GAnimateTransform ()
 ~GAnimateTransform ()
Transform2d GetTransform2dInView (const RECT &rc_view)
 返回变换的矩阵。(注意:这里是基础变换,并非最后的变换,若需要复杂变换,可以用数组(vector)进行组合)
Transform2d GetTransform2d ()
 ,返回变换的矩阵。(注意:这里是基础变换,并非最后的变换,若需要复杂变换,可以用数组(vector)进行组合)
void SetTranslate (const VecFloat2 &form, const VecFloat2 &to)
 设置平移动画矩阵。(不叠加自身,即会覆盖已有参数)
void SetSkewX (float form, float to)
 设置X斜切变换。(不叠加自身,即会覆盖已有参数)
void SetSkewY (float form, float to)
 设置Y斜切变换。(不叠加自身,即会覆盖已有参数)
void SetRotate (float r_form, float r_to, const VecFloat2 &form_center, const VecFloat2 &to_center)
 设置旋转变换。(不叠加自身,即会覆盖已有参数)
void SetScale (const VecFloat2 &form, const VecFloat2 &to)
 设置缩放变换。(不叠加自身,即会覆盖已有参数)
Public 成员函数 继承自 BUI::GAnimateProperty
 GAnimateProperty ()
virtual ~GAnimateProperty ()
void SetReppeatDuration (float dur)
 设置动画执行时长。0表示无限循环
void SetDuration (float dur)
 设置动画一帧的时长。
void UpdateBeginTime (float t)
 更新动画开始时刻。 e.g. UpdateBeginTime(GetGlobalTime());
void UpdateTimeLine (float t, float *reset=NULL)
 更新动画当前时刻。 e.g. UpdateBeginTime(GetGlobalTime());
BOOL IsPause () const
 获得动画状态
void PauseAnimate (BOOL is_pause)
 动画暂停或启动

Public 属性

VecFloat4 m_form
VecFloat4 m_to
TransformType m_type
BOOL m_is_percent_value
std::vector< VecFloat4m_values
std::vector< float > m_key_times
std::vector< GAnimateBezierEasingm_splines
Public 属性 继承自 BUI::GAnimateProperty
float m_base
float m_begin
float m_dur
float m_repeat_dur
float m_cur
float m_p
CalcMode m_clacmode
GAnimateBezierEasing m_easing
BOOL m_is_pause

详细描述

动画变换矩阵 1.使用时提前调用UpdateTimeLine(t),更新动画。 2.再获取动画的变换矩阵。调用GetTransform2d

成员枚举类型说明

◆ TransformType

枚举值
am_none 
am_translate 
am_ratate 
am_scale 
am_skew_x 
am_skew_y 

构造及析构函数说明

◆ GAnimateTransform()

BUI::GAnimateTransform::GAnimateTransform ( )

◆ ~GAnimateTransform()

BUI::GAnimateTransform::~GAnimateTransform ( )

成员函数说明

◆ GetTransform2d()

Transform2d BUI::GAnimateTransform::GetTransform2d ( )

,返回变换的矩阵。(注意:这里是基础变换,并非最后的变换,若需要复杂变换,可以用数组(vector)进行组合)

返回
Transform2d : 返回变换矩阵

◆ GetTransform2dInView()

Transform2d BUI::GAnimateTransform::GetTransform2dInView ( const RECT & rc_view)

返回变换的矩阵。(注意:这里是基础变换,并非最后的变换,若需要复杂变换,可以用数组(vector)进行组合)

参数
rc_view:对象输出坐标区域。用于在以百分比显示时的,坐标计算
返回
Transform2d : 返回变换矩阵

◆ SetRotate()

void BUI::GAnimateTransform::SetRotate ( float r_form,
float r_to,
const VecFloat2 & form_center,
const VecFloat2 & to_center )

设置旋转变换。(不叠加自身,即会覆盖已有参数)

参数
r_form:旋转起点值
r_to:旋转结束值
form_center: 旋转中心起点值
to_center:旋转中心结束值

◆ SetScale()

void BUI::GAnimateTransform::SetScale ( const VecFloat2 & form,
const VecFloat2 & to )

设置缩放变换。(不叠加自身,即会覆盖已有参数)

参数
form:起点值
to: 结束值

◆ SetSkewX()

void BUI::GAnimateTransform::SetSkewX ( float form,
float to )

设置X斜切变换。(不叠加自身,即会覆盖已有参数)

参数
form:起点值
to: 结束值

◆ SetSkewY()

void BUI::GAnimateTransform::SetSkewY ( float form,
float to )

设置Y斜切变换。(不叠加自身,即会覆盖已有参数)

参数
form:起点值
to: 结束值

◆ SetTranslate()

void BUI::GAnimateTransform::SetTranslate ( const VecFloat2 & form,
const VecFloat2 & to )

设置平移动画矩阵。(不叠加自身,即会覆盖已有参数)

参数
form:起点值
to: 结束值

类成员变量说明

◆ m_form

VecFloat4 BUI::GAnimateTransform::m_form

◆ m_is_percent_value

BOOL BUI::GAnimateTransform::m_is_percent_value

◆ m_key_times

std::vector<float> BUI::GAnimateTransform::m_key_times

◆ m_splines

std::vector<GAnimateBezierEasing> BUI::GAnimateTransform::m_splines

◆ m_to

VecFloat4 BUI::GAnimateTransform::m_to

◆ m_type

TransformType BUI::GAnimateTransform::m_type

◆ m_values

std::vector<VecFloat4> BUI::GAnimateTransform::m_values
鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2026 · CBlueStudio 版权所有