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

笛卡尔坐标系 更多...

类 BUI::CCoordinateAffine 继承关系图:

Public 成员函数

 CCoordinateAffine ()
 CCoordinateAffine (LinearAxis *axis_x, LinearAxis *axis_y)
 ~CCoordinateAffine ()
LinearAxisAxisX ()
 X轴
LinearAxisAxisY ()
 X轴
BOOL WithinView (POINT pt) const
 像素点是否在坐标系可视范围内,返回TRUE
BOOL IsViewportArea (double x, double y) const
 判断逻辑坐标(x,y),是否在可视范围内
POINT ViewPointRound (double x, double y) const
 计算逻辑坐标(x,y),在窗口中的位置
VecFloat2 ViewPoint (double x, double y) const
 计算逻辑坐标(x,y),在窗口中的位置
void SwapAxis (BOOL is_swap)
 是否交换坐标轴
void ShowCorssLine (BOOL is_show)
 显示(或隐藏)交叉线
VecFloat2 GetXOtherVector () const
 获得x轴上,在另外一个轴上起点的向量
VecFloat2 GetYOtherVector () const
 获得y轴上,在另外一个轴上起点的向量
void OnPaintCrossLine (ISurface *surface, RECT *rc_clip, POINT pt)
 绘制交叉线
void OnPaintBackX (ISurface *surface, double x1, double x2, GColor color)
 绘制X背景
void OnPaintBackY (ISurface *surface, double y1, double y2, GColor color)
 绘制Y背景
RECT RectDiagram () override
 坐标系矩形区域
void OnCalcAxisPosition (RECT rc_diagram) override
 坐标轴位置时响应事件
void OnPaintChartBackground (ISurface *surface, RECT *rc_clip) override
void OnPaintChart (ISurface *surface, RECT *rc_clip) override
void OnPaintChartCrossLine (ISurface *surface, RECT *rc_clip, double v1, double v2, LineStyle *style, const GColor &color_cross_line) override
BOOL OnNotifyMessage (IEventHandler *notify, UINT message, WPARAM wp, LPARAM lp) override
 消息处理函数
VecFloat2 ViewIntSizeByValueTrans (double cx, double cy, AxisValueTransModel mx, AxisValueTransModel my) override
VecFloat2 ViewIntPointByValueTrans (double x, double y, AxisValueTransModel mx, AxisValueTransModel my) override
BOOL IsViewportAreaByValueTrans (double x, double y, AxisValueTransModel mx, AxisValueTransModel my) override
BOOL IsVaild () override
 坐标系统是否是有效的
void ShellCoordinateAttribute (const BeString &str_name, const BeString &str_value, ICoordList *coord_list) override
 命令控制和属性设置接口
void GetCoordRelationship (std::vector< BeString > &list) override
 获得类的继承关系
void GetCoordinateValue (int mouse_x, int mouse_y, double *out_values, int out_len) override
 获得鼠标处,表示的坐标值
double GetAxisNewTimePos (int axis_index) override
 获得当前最新时间的数据坐标轴位置
void GetDataRange (int axis_index, double &fmin, double &fmax) override
 获得坐标轴(axis_index)的数据范围
double GetShowFactor (int axis_index) override
 获得坐标轴(axis_index). 屏幕起点到终点的距离(D),和数值范围(V)的比值。即V/D。
void Transform (double *x, double *y) override
 得到(x,y)转换后的值。转换后依然存入x和y变量中。
void Transform2x2 (double *x, double *y) override
 得到(x,y)转换(忽略平移值)后的值。通常用于计算宽度和高度的变化。转换后依然存入x和y变量中。
BOOL IsInPath (double x, double y) override
 是否在坐标系内
double GetCoordinateWeight (double value) override
 获得权重
Public 成员函数 继承自 BUI::CChartCoordinate
 CChartCoordinate ()
virtual ~CChartCoordinate ()
void SetAxisNameText (const BeString &str)
 设置轴名称
const BeStringGetAxisName ()
 获取轴名称
POINT CoordinateCenterPoint () const
 获取坐标系中的中心点
void SetCoordinateCenterPoint (LONG x, LONG y)
 设置坐标系中的中心点
VecFloat2 GetPointFromPercent (double xp, double yp) const
 返回百分比坐标
void ModifyCoordinateFlags (UINT style, UINT op=ADD_FLAGS)
UINT IsHasCoordinateFlags (UINT flags) const
void SetAxisColorMapGradient (GBrushGradient *color_map)
 设置渐变画刷
GBrushGradientGetAxisColorMapGradient () const
 获取渐变画刷
void SetCoordHitState (BOOL hit)
 设置坐标系下,是否存在命中的元素
BOOL GetCoordHitState () const
 返回在坐标系下,是否存在命中的元素
BOOL IsEnable () const
 获取可用性
void SetEnable (BOOL enable)
 设置可用性
BOOL IsVisable () const
 获取可见性
void SetVisable (BOOL show)
 设置可见性
virtual VecFloat2 GetCurHitPos ()
 获得当前鼠标位置,转换为图标坐标系后的点
virtual void ChangeCoordThemeColors ()
 主题改变时触发
virtual void OnSetWindowRect (RECT rc_window)
 window窗口位置更新
virtual void OnTranslateLanguage ()
 翻译处理函数
Public 成员函数 继承自 BUI::PathTransform
 PathTransform ()
virtual ~PathTransform ()
virtual void TransformFloat (float *x, float *y)
virtual void TransformLong (LONG *x, LONG *y)
virtual BOOL IsCartesianSystem ()
 是否是笛卡尔坐标系

Protected 属性

LinearAxism_axis_x
LinearAxism_axis_y
VecFloat2 m_vtr_on_x
VecFloat2 m_vtr_on_y
VecFloat2 m_point_origin
POINT m_pt_region [4]
BOOL m_is_show_corssline
POINT m_pt_corss
POINT m_pt_trace
BOOL m_is_hit_ele_track
Protected 属性 继承自 BUI::CChartCoordinate
BeString m_name_id
RECT m_rect_diagram
POINT m_view_center_pt
VecFloat2 m_point_cur_hit
WeightValueTransModel m_weight_mode
UINT m_coord_flags
BOOL m_is_hit_ele
GBrushGradientm_color_map
double m_time_axis_value
BOOL m_is_enable
BOOL m_is_visable

额外继承的成员函数

Protected 成员函数 继承自 BUI::CChartCoordinate
void DrawBarStyle (ISurface *surface, DrawBarInfo *barinfo)
BOOL HittestBar (DrawBarInfo *barinfo)
BOOL IsVisibleView (DrawBarInfo *barinfo)
void DoChangeCoordThemeColors (const BeString &name)

详细描述

笛卡尔坐标系

构造及析构函数说明

◆ CCoordinateAffine() [1/2]

BUI::CCoordinateAffine::CCoordinateAffine ( )

◆ CCoordinateAffine() [2/2]

BUI::CCoordinateAffine::CCoordinateAffine ( LinearAxis * axis_x,
LinearAxis * axis_y )

◆ ~CCoordinateAffine()

BUI::CCoordinateAffine::~CCoordinateAffine ( )

成员函数说明

◆ AxisX()

LinearAxis & BUI::CCoordinateAffine::AxisX ( )

X轴

◆ AxisY()

LinearAxis & BUI::CCoordinateAffine::AxisY ( )

X轴

◆ GetAxisNewTimePos()

double BUI::CCoordinateAffine::GetAxisNewTimePos ( int axis_index)
overridevirtual

获得当前最新时间的数据坐标轴位置

参数
axis_index轴序号

重载 BUI::CChartCoordinate .

◆ GetCoordinateValue()

void BUI::CCoordinateAffine::GetCoordinateValue ( int mouse_x,
int mouse_y,
double * out_values,
int out_len )
overridevirtual

获得鼠标处,表示的坐标值

重载 BUI::CChartCoordinate .

◆ GetCoordinateWeight()

double BUI::CCoordinateAffine::GetCoordinateWeight ( double value)
overridevirtual

获得权重

重载 BUI::CChartCoordinate .

◆ GetCoordRelationship()

void BUI::CCoordinateAffine::GetCoordRelationship ( std::vector< BeString > & list)
overridevirtual

获得类的继承关系

重载 BUI::CChartCoordinate .

◆ GetDataRange()

void BUI::CCoordinateAffine::GetDataRange ( int axis_index,
double & fmin,
double & fmax )
overridevirtual

获得坐标轴(axis_index)的数据范围

参数
axis_index
fmin
fmax

重载 BUI::CChartCoordinate .

◆ GetShowFactor()

double BUI::CCoordinateAffine::GetShowFactor ( int axis_index)
overridevirtual

获得坐标轴(axis_index). 屏幕起点到终点的距离(D),和数值范围(V)的比值。即V/D。

参数
axis_index
fmin
fmax

重载 BUI::CChartCoordinate .

◆ GetXOtherVector()

VecFloat2 BUI::CCoordinateAffine::GetXOtherVector ( ) const

获得x轴上,在另外一个轴上起点的向量

◆ GetYOtherVector()

VecFloat2 BUI::CCoordinateAffine::GetYOtherVector ( ) const

获得y轴上,在另外一个轴上起点的向量

◆ IsInPath()

BOOL BUI::CCoordinateAffine::IsInPath ( double x,
double y )
overridevirtual

是否在坐标系内

重载 BUI::PathTransform .

◆ IsVaild()

BOOL BUI::CCoordinateAffine::IsVaild ( )
overridevirtual

坐标系统是否是有效的

重载 BUI::CChartCoordinate .

◆ IsViewportArea()

BOOL BUI::CCoordinateAffine::IsViewportArea ( double x,
double y ) const

判断逻辑坐标(x,y),是否在可视范围内

◆ IsViewportAreaByValueTrans()

BOOL BUI::CCoordinateAffine::IsViewportAreaByValueTrans ( double x,
double y,
AxisValueTransModel mx,
AxisValueTransModel my )
overridevirtual

◆ OnCalcAxisPosition()

void BUI::CCoordinateAffine::OnCalcAxisPosition ( RECT rc_diagram)
overridevirtual

坐标轴位置时响应事件

重载 BUI::CChartCoordinate .

◆ OnNotifyMessage()

BOOL BUI::CCoordinateAffine::OnNotifyMessage ( IEventHandler * notify,
UINT message,
WPARAM wp,
LPARAM lp )
overridevirtual

消息处理函数

参数
notify指向图标UI控件,用于外部事件回调

重载 BUI::CChartCoordinate .

◆ OnPaintBackX()

void BUI::CCoordinateAffine::OnPaintBackX ( ISurface * surface,
double x1,
double x2,
GColor color )

绘制X背景

◆ OnPaintBackY()

void BUI::CCoordinateAffine::OnPaintBackY ( ISurface * surface,
double y1,
double y2,
GColor color )

绘制Y背景

◆ OnPaintChart()

void BUI::CCoordinateAffine::OnPaintChart ( ISurface * surface,
RECT * rc_clip )
overridevirtual

◆ OnPaintChartBackground()

void BUI::CCoordinateAffine::OnPaintChartBackground ( ISurface * surface,
RECT * rc_clip )
overridevirtual

◆ OnPaintChartCrossLine()

void BUI::CCoordinateAffine::OnPaintChartCrossLine ( ISurface * surface,
RECT * rc_clip,
double v1,
double v2,
LineStyle * style,
const GColor & color_cross_line )
overridevirtual

◆ OnPaintCrossLine()

void BUI::CCoordinateAffine::OnPaintCrossLine ( ISurface * surface,
RECT * rc_clip,
POINT pt )

绘制交叉线

◆ RectDiagram()

RECT BUI::CCoordinateAffine::RectDiagram ( )
overridevirtual

坐标系矩形区域

重载 BUI::CChartCoordinate .

◆ ShellCoordinateAttribute()

void BUI::CCoordinateAffine::ShellCoordinateAttribute ( const BeString & str_name,
const BeString & str_value,
ICoordList * coord_list )
overridevirtual

命令控制和属性设置接口

szName属性 szText语法格式
axisx
x轴名称
axisx="name"
axisy
y轴名称
axisy="name"
swap
XY转置
swap="true"
show-crossline
网格线显示
show-crossline="false"

重载 BUI::CChartCoordinate .

◆ ShowCorssLine()

void BUI::CCoordinateAffine::ShowCorssLine ( BOOL is_show)

显示(或隐藏)交叉线

◆ SwapAxis()

void BUI::CCoordinateAffine::SwapAxis ( BOOL is_swap)

是否交换坐标轴

◆ Transform()

void BUI::CCoordinateAffine::Transform ( double * x,
double * y )
overridevirtual

得到(x,y)转换后的值。转换后依然存入x和y变量中。

参数
x: x值
y: y值

重载 BUI::PathTransform .

◆ Transform2x2()

void BUI::CCoordinateAffine::Transform2x2 ( double * x,
double * y )
overridevirtual

得到(x,y)转换(忽略平移值)后的值。通常用于计算宽度和高度的变化。转换后依然存入x和y变量中。

参数
x
y

重载 BUI::PathTransform .

◆ ViewIntPointByValueTrans()

VecFloat2 BUI::CCoordinateAffine::ViewIntPointByValueTrans ( double x,
double y,
AxisValueTransModel mx,
AxisValueTransModel my )
overridevirtual

◆ ViewIntSizeByValueTrans()

VecFloat2 BUI::CCoordinateAffine::ViewIntSizeByValueTrans ( double cx,
double cy,
AxisValueTransModel mx,
AxisValueTransModel my )
overridevirtual

◆ ViewPoint()

VecFloat2 BUI::CCoordinateAffine::ViewPoint ( double x,
double y ) const

计算逻辑坐标(x,y),在窗口中的位置

◆ ViewPointRound()

POINT BUI::CCoordinateAffine::ViewPointRound ( double x,
double y ) const

计算逻辑坐标(x,y),在窗口中的位置

◆ WithinView()

BOOL BUI::CCoordinateAffine::WithinView ( POINT pt) const

像素点是否在坐标系可视范围内,返回TRUE

类成员变量说明

◆ m_axis_x

LinearAxis* BUI::CCoordinateAffine::m_axis_x
protected

◆ m_axis_y

LinearAxis* BUI::CCoordinateAffine::m_axis_y
protected

◆ m_is_hit_ele_track

BOOL BUI::CCoordinateAffine::m_is_hit_ele_track
protected

◆ m_is_show_corssline

BOOL BUI::CCoordinateAffine::m_is_show_corssline
protected

◆ m_point_origin

VecFloat2 BUI::CCoordinateAffine::m_point_origin
protected

◆ m_pt_corss

POINT BUI::CCoordinateAffine::m_pt_corss
protected

◆ m_pt_region

POINT BUI::CCoordinateAffine::m_pt_region[4]
protected

◆ m_pt_trace

POINT BUI::CCoordinateAffine::m_pt_trace
protected

◆ m_vtr_on_x

VecFloat2 BUI::CCoordinateAffine::m_vtr_on_x
protected

◆ m_vtr_on_y

VecFloat2 BUI::CCoordinateAffine::m_vtr_on_y
protected
鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2026 · CBlueStudio 版权所有