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

笛卡尔坐标系 更多...

+ 类 BUI::CCoordinateAffine 继承关系图:

Public 成员函数

 CCoordinateAffine ()
 
 CCoordinateAffine (LinearAxis *axisX, LinearAxis *axisY)
 
 ~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 bSwap)
 是否交换坐标轴
 
void ShowCorssLine (BOOL bShow)
 显示(或隐藏)交叉线
 
VecFloat2 GetXOtherVector () const
 获得x轴上,在另外一个轴上起点的向量
 
VecFloat2 GetYOtherVector () const
 获得y轴上,在另外一个轴上起点的向量
 
void OnPaintCrossLine (ISurface *pSurface, RECT *rcClip, POINT pt)
 绘制交叉线
 
void OnPaintBackX (ISurface *pSurface, double x1, double x2, GColor color)
 绘制X背景
 
void OnPaintBackY (ISurface *pSurface, double y1, double y2, GColor color)
 绘制Y背景
 
RECT RectDiagram () override
 坐标系矩形区域
 
void OnCalcAxisPosition (RECT rcDiagram) override
 坐标轴位置时响应事件
 
void OnPaintChartBackground (ISurface *pSurface, RECT *rcClip) override
 
void OnPaintChart (ISurface *pSurface, RECT *rcClip) override
 
void OnPaintChartCrossLine (ISurface *pSurface, RECT *rcClip, double v1, double v2, LineStyle *style, const GColor &crosslinecolor) 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 &szName, const BeString &szText, ICoordList *crdlist) override
 命令控制和属性设置接口
 
void GetCoordinateValue (int mouse_x, int mouse_y, double *outValus, 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)
 设置可用性
 
virtual BOOL IsVaild ()
 坐标系统是否是有效的
 
virtual VecFloat2 GetCurHitPos ()
 获得当前鼠标位置,转换为图标坐标系后的点
 
virtual RECT RectDiagram ()
 坐标系矩形区域
 
virtual void ChangeThemeColors ()
 主题改变时触发
 
virtual void GetCoordinateValue (int mouse_x, int mouse_y, double *outValus, int out_len)
 获得鼠标处,表示的坐标值
 
virtual void OnCalcAxisPosition (RECT rcDiagram)
 坐标轴位置时响应事件
 
virtual void OnSetWindowRect (RECT rcWindow)
 window窗口位置更新
 
virtual void OnTranslateLanguage ()
 翻译处理函数
 
virtual void OnPaintChartBackground (ISurface *pSurface, RECT *rcClip)
 
virtual void OnPaintChart (ISurface *pSurface, RECT *rcClip)
 
virtual void OnPaintChartCrossLine (ISurface *pSurface, RECT *rcClip, double v1, double v2, LineStyle *style, const GColor &crosslinecolor)
 
virtual BOOL OnNotifyMessage (IEventHandler *notify, UINT message, WPARAM wp, LPARAM lp)
 消息处理函数
 
virtual VecFloat2 ViewIntSizeByValueTrans (double cx, double cy, AxisValueTransModel mx, AxisValueTransModel my)
 
virtual VecFloat2 ViewIntPointByValueTrans (double x, double y, AxisValueTransModel mx, AxisValueTransModel my)
 
virtual BOOL IsViewportAreaByValueTrans (double x, double y, AxisValueTransModel mx, AxisValueTransModel my)
 
virtual double GetAxisNewTimePos (int axis_index)
 获得当前最新时间的数据坐标轴位置
 
virtual void GetDataRange (int axis_index, double &fmin, double &fmax)
 获得坐标轴(axis_index)的数据范围
 
virtual double GetShowFactor (int axis_index)
 获得坐标轴(axis_index). 屏幕起点到终点的距离(D),和数值范围(V)的比值。即V/D。
 
virtual void ShellCoordinateAttribute (const BeString &szName, const BeString &szText, ICoordList *crdlist)
 命令控制和属性设置接口
 
double GetCoordinateWeight (double value) override
 获得权重
 
- Public 成员函数 继承自 BUI::PathTransform
 PathTransform ()
 
virtual ~PathTransform ()
 
virtual void Transform (double *x, double *y)
 得到(x,y)转换后的值。转换后依然存入x和y变量中。
 
virtual void TransformFloat (float *x, float *y)
 
virtual void TransformLong (LONG *x, LONG *y)
 
virtual void Transform2x2 (double *x, double *y)
 得到(x,y)转换(忽略平移值)后的值。通常用于计算宽度和高度的变化。转换后依然存入x和y变量中。
 
virtual BOOL IsInPath (double x, double y)
 是否在坐标系内
 
virtual double GetCoordinateWeight (double value)
 获得权重
 
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_point_centerView
 
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
 

额外继承的成员函数

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

详细描述

笛卡尔坐标系

构造及析构函数说明

◆ CCoordinateAffine() [1/2]

BUI::CCoordinateAffine::CCoordinateAffine ( )

◆ CCoordinateAffine() [2/2]

BUI::CCoordinateAffine::CCoordinateAffine ( LinearAxis axisX,
LinearAxis axisY 
)

◆ ~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 *  outValus,
int  out_len 
)
overridevirtual

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

重载 BUI::CChartCoordinate .

◆ GetCoordinateWeight()

double BUI::CCoordinateAffine::GetCoordinateWeight ( double  value)
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  rcDiagram)
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 pSurface,
double  x1,
double  x2,
GColor  color 
)

绘制X背景

◆ OnPaintBackY()

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

绘制Y背景

◆ OnPaintChart()

void BUI::CCoordinateAffine::OnPaintChart ( ISurface pSurface,
RECT rcClip 
)
overridevirtual

◆ OnPaintChartBackground()

void BUI::CCoordinateAffine::OnPaintChartBackground ( ISurface pSurface,
RECT rcClip 
)
overridevirtual

◆ OnPaintChartCrossLine()

void BUI::CCoordinateAffine::OnPaintChartCrossLine ( ISurface pSurface,
RECT rcClip,
double  v1,
double  v2,
LineStyle style,
const GColor crosslinecolor 
)
overridevirtual

◆ OnPaintCrossLine()

void BUI::CCoordinateAffine::OnPaintCrossLine ( ISurface pSurface,
RECT rcClip,
POINT  pt 
)

绘制交叉线

◆ RectDiagram()

RECT BUI::CCoordinateAffine::RectDiagram ( )
overridevirtual

坐标系矩形区域

重载 BUI::CChartCoordinate .

◆ ShellCoordinateAttribute()

void BUI::CCoordinateAffine::ShellCoordinateAttribute ( const BeString szName,
const BeString szText,
ICoordList crdlist 
)
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  bShow)

显示(或隐藏)交叉线

◆ SwapAxis()

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

是否交换坐标轴

◆ 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 © 2025 · CBlueStudio 版权所有