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

路径顶点源(在GPathStorage的世界里,椭圆,弧线,样条曲线都是由足够细腻的直线拟合的) 更多...

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

Public 类型

enum  CombinationPathFlag {
  combination_or , combination_and , combination_xor , combination_a_minus_b ,
  combination_b_minus_a
}
 
typedef vertex_base_f value_type
 

Public 成员函数

 GPathStorage ()
 
virtual ~GPathStorage ()
 
unsigned vertex (double *x, double *y)
 
unsigned last_command ()
 
unsigned last_vertex (double *x, double *y)
 
unsigned prev_vertex (double *x, double *y)
 
void rewind (unsigned path_id)
 
void add_vertex (double x, double y, unsigned cmd)
 
UINT size () const
 
void clear ()
 
value_typeoperator[] (unsigned int pos)
 
BOOL GetScreenPoint (POINT &pt, int pos, int dx, int dy)
 
void ConcatPath (GPathStorage &vs, unsigned path_id=0)
 
BoundRect PathBox (unsigned path_id=0, bool useTrans=false)
 获得路径的矩形区域
 
RECT PathBoxToRect (unsigned path_id=0, bool useTrans=false)
 
BOOL IsClosed ()
 
int StartNewPath ()
 
unsigned PathIDCounts ()
 组合路径数量
 
unsigned PathId ()
 当前的索引ID
 
void ClosePath ()
 
void RelToAbs (double *x, double *y)
 
void PathMoveTo (double x, double y)
 
void PathLineTo (double x, double y)
 
void PathHLineTo (double x)
 
void PathVLineTo (double y)
 
void Curve3 (double x_to, double y_to)
 
void Curve4 (double x_ctrl2, double y_ctrl2, double x_to, double y_to)
 
void PathCurve4 (POINT pt[4])
 
void PathCurve3 (POINT pt[3])
 
void PathCurve4WithDouble (VecFloat2 pt[4])
 
void PathCurve3WithDouble (VecFloat2 pt[3])
 
void PathBSpline (POINT *pt, int len)
 
void ParseCmdData (const char *data)
 
void PathArcTo (double x, double y, double rx, double ry, double a1, double a2, bool ccw=true)
 PathArcTo
 
void PathJoinArcTo (double x, double y, double rx, double ry, double a1, double a2, bool ccw)
 
void PathPie (double x0, double y0, double rx, double ry, double a1, double a2)
 
void PathRing (double x0, double y0, double rx, double ry, double a1, double a2, double dis)
 
void PathRingRound (double x0, double y0, double rx, double ry, double a1, double a2, double dis, double round=PI/45)
 
void PathEllipse (int cx, int cy, int rx, int ry)
 
void PathRect (double x1, double y1, double w, double h, double rx1=0, double ry1=0, double rx2=0, double ry2=0, double rx3=0, double ry3=0, double rx4=0, double ry4=0)
 
void SetTransform (PathTransform *trans)
 
void UpdateYValue (double low, double hight)
 随机生成Y更新测试数据
 
BOOL HitTestPoint (double x, double y)
 测试命中点
 
void ConvertToPolarCoordinate (double cx, double cy)
 将笛卡尔坐标系数据点,转换为极坐标系
 
void CreateWebTabPath (RECT rcBox, double angle, int dir, float r=4, BOOL isBorder=TRUE)
 Create a Web Tab Path object
 
void generate_soft_icon (int R)
 软件图标
 
void CreateG3RoundRectPath (RECT rcBox, int n)
 生成G3曲率的圆角矩形
 
void generate_star_round (int R)
 圆角五角星
 
void generate_petal5 (int R)
 五花瓣
 
void generate_gear_wheel (int R1, double a1, int R2, double a2)
 齿轮
 
void generate_along_with_single_path (TransAlongSinglePath &tap)
 将图形沿单一路径变换
 
void generate_along_with_double_path (TransAlongDoublePath &tap)
 将图形沿双路径变换
 
void clip_polygon (GPathStorage *result_path, int x1, int y1, int x2, int y2)
 矩形区域裁剪路径
 

静态 Public 成员函数

static void generate_arrowhead (ArrowHead &head, int size)
 
static void build_radius_border_path (GPathStorage *path, RECT &rcRound, RoundRectRadius &radius, BOOL isRoundRadiusDrawLine, BOOL isRoundRadiusParl)
 构建边缘路径
 
static void build_radius_border_parl_path (GPathStorage *path, RECT &rcRound, RoundRectRadius &radius)
 
static void combination_path (GPathStorage *result_path, GPathStorage *path1, GPathStorage *path2, CombinationPathFlag cmp_op)
 路径组合操作
 

Protected 成员函数

virtual value_typeGetAt (unsigned int pos)
 
virtual void push_back (const value_type &vx)
 
unsigned get_transform_vertex (unsigned int pos, double *x, double *y)
 

Protected 属性

unsigned int m_index
 
unsigned int m_num_vertices
 
std::vector< value_typem_vertexs
 
PathTransformm_transform
 

详细描述

路径顶点源(在GPathStorage的世界里,椭圆,弧线,样条曲线都是由足够细腻的直线拟合的)

成员类型定义说明

◆ value_type

成员枚举类型说明

◆ CombinationPathFlag

枚举值
combination_or 
combination_and 
combination_xor 
combination_a_minus_b 
combination_b_minus_a 

构造及析构函数说明

◆ GPathStorage()

BUI::GPathStorage::GPathStorage ( )

◆ ~GPathStorage()

virtual BUI::GPathStorage::~GPathStorage ( )
virtual

成员函数说明

◆ add_vertex()

void BUI::GPathStorage::add_vertex ( double  x,
double  y,
unsigned  cmd 
)

◆ build_radius_border_parl_path()

static void BUI::GPathStorage::build_radius_border_parl_path ( GPathStorage path,
RECT rcRound,
RoundRectRadius radius 
)
static

◆ build_radius_border_path()

static void BUI::GPathStorage::build_radius_border_path ( GPathStorage path,
RECT rcRound,
RoundRectRadius radius,
BOOL  isRoundRadiusDrawLine,
BOOL  isRoundRadiusParl 
)
static

构建边缘路径

参数
isRoundRadiusDrawLineTRUE:直线型, FALSE:圆角型

◆ clear()

void BUI::GPathStorage::clear ( )

◆ clip_polygon()

void BUI::GPathStorage::clip_polygon ( GPathStorage result_path,
int  x1,
int  y1,
int  x2,
int  y2 
)

矩形区域裁剪路径

◆ ClosePath()

void BUI::GPathStorage::ClosePath ( )

◆ combination_path()

static void BUI::GPathStorage::combination_path ( GPathStorage result_path,
GPathStorage path1,
GPathStorage path2,
CombinationPathFlag  cmp_op 
)
static

路径组合操作

参数
result_path输出结果路径
path1
path2
cmp_op合并操作

◆ ConcatPath()

void BUI::GPathStorage::ConcatPath ( GPathStorage vs,
unsigned  path_id = 0 
)

◆ ConvertToPolarCoordinate()

void BUI::GPathStorage::ConvertToPolarCoordinate ( double  cx,
double  cy 
)

将笛卡尔坐标系数据点,转换为极坐标系

◆ CreateG3RoundRectPath()

void BUI::GPathStorage::CreateG3RoundRectPath ( RECT  rcBox,
int  n 
)

生成G3曲率的圆角矩形

◆ CreateWebTabPath()

void BUI::GPathStorage::CreateWebTabPath ( RECT  rcBox,
double  angle,
int  dir,
float  r = 4,
BOOL  isBorder = TRUE 
)

Create a Web Tab Path object

参数
angle偏角大小
dir方向
r圆角尺寸

◆ Curve3()

void BUI::GPathStorage::Curve3 ( double  x_to,
double  y_to 
)

◆ Curve4()

void BUI::GPathStorage::Curve4 ( double  x_ctrl2,
double  y_ctrl2,
double  x_to,
double  y_to 
)

◆ generate_along_with_double_path()

void BUI::GPathStorage::generate_along_with_double_path ( TransAlongDoublePath tap)

将图形沿双路径变换

◆ generate_along_with_single_path()

void BUI::GPathStorage::generate_along_with_single_path ( TransAlongSinglePath tap)

将图形沿单一路径变换

◆ generate_arrowhead()

static void BUI::GPathStorage::generate_arrowhead ( ArrowHead head,
int  size 
)
static

◆ generate_gear_wheel()

void BUI::GPathStorage::generate_gear_wheel ( int  R1,
double  a1,
int  R2,
double  a2 
)

齿轮

参数
R1齿外边缘半径
a1齿外边缘弧度大小
R2齿内边缘半径
a2齿内边缘弧度大小

◆ generate_petal5()

void BUI::GPathStorage::generate_petal5 ( int  R)

五花瓣

◆ generate_soft_icon()

void BUI::GPathStorage::generate_soft_icon ( int  R)

软件图标

◆ generate_star_round()

void BUI::GPathStorage::generate_star_round ( int  R)

圆角五角星

◆ get_transform_vertex()

unsigned BUI::GPathStorage::get_transform_vertex ( unsigned int  pos,
double *  x,
double *  y 
)
protected

◆ GetAt()

virtual value_type & BUI::GPathStorage::GetAt ( unsigned int  pos)
protectedvirtual

◆ GetScreenPoint()

BOOL BUI::GPathStorage::GetScreenPoint ( POINT pt,
int  pos,
int  dx,
int  dy 
)

◆ HitTestPoint()

BOOL BUI::GPathStorage::HitTestPoint ( double  x,
double  y 
)

测试命中点

◆ IsClosed()

BOOL BUI::GPathStorage::IsClosed ( )

◆ last_command()

unsigned BUI::GPathStorage::last_command ( )

◆ last_vertex()

unsigned BUI::GPathStorage::last_vertex ( double *  x,
double *  y 
)

◆ operator[]()

value_type & BUI::GPathStorage::operator[] ( unsigned int  pos)

◆ ParseCmdData()

void BUI::GPathStorage::ParseCmdData ( const char *  data)

◆ PathArcTo()

void BUI::GPathStorage::PathArcTo ( double  x,
double  y,
double  rx,
double  ry,
double  a1,
double  a2,
bool  ccw = true 
)

PathArcTo

参数
a1a2 基于三点方向顺时针的角度
ccw优弧顺时针方向为true,劣弧逆时针方向为false

◆ PathBox()

BoundRect BUI::GPathStorage::PathBox ( unsigned  path_id = 0,
bool  useTrans = false 
)

获得路径的矩形区域

参数
path_id路径起始位置
useTransfalse:原始坐标点,true:变换后的坐标点
返回
BoundRect 矩形区域

◆ PathBoxToRect()

RECT BUI::GPathStorage::PathBoxToRect ( unsigned  path_id = 0,
bool  useTrans = false 
)

◆ PathBSpline()

void BUI::GPathStorage::PathBSpline ( POINT pt,
int  len 
)

◆ PathCurve3()

void BUI::GPathStorage::PathCurve3 ( POINT  pt[3])

◆ PathCurve3WithDouble()

void BUI::GPathStorage::PathCurve3WithDouble ( VecFloat2  pt[3])

◆ PathCurve4()

void BUI::GPathStorage::PathCurve4 ( POINT  pt[4])

◆ PathCurve4WithDouble()

void BUI::GPathStorage::PathCurve4WithDouble ( VecFloat2  pt[4])

◆ PathEllipse()

void BUI::GPathStorage::PathEllipse ( int  cx,
int  cy,
int  rx,
int  ry 
)

◆ PathHLineTo()

void BUI::GPathStorage::PathHLineTo ( double  x)

◆ PathId()

unsigned BUI::GPathStorage::PathId ( )

当前的索引ID

◆ PathIDCounts()

unsigned BUI::GPathStorage::PathIDCounts ( )

组合路径数量

◆ PathJoinArcTo()

void BUI::GPathStorage::PathJoinArcTo ( double  x,
double  y,
double  rx,
double  ry,
double  a1,
double  a2,
bool  ccw 
)

◆ PathLineTo()

void BUI::GPathStorage::PathLineTo ( double  x,
double  y 
)

◆ PathMoveTo()

void BUI::GPathStorage::PathMoveTo ( double  x,
double  y 
)

◆ PathPie()

void BUI::GPathStorage::PathPie ( double  x0,
double  y0,
double  rx,
double  ry,
double  a1,
double  a2 
)

◆ PathRect()

void BUI::GPathStorage::PathRect ( double  x1,
double  y1,
double  w,
double  h,
double  rx1 = 0,
double  ry1 = 0,
double  rx2 = 0,
double  ry2 = 0,
double  rx3 = 0,
double  ry3 = 0,
double  rx4 = 0,
double  ry4 = 0 
)

◆ PathRing()

void BUI::GPathStorage::PathRing ( double  x0,
double  y0,
double  rx,
double  ry,
double  a1,
double  a2,
double  dis 
)

◆ PathRingRound()

void BUI::GPathStorage::PathRingRound ( double  x0,
double  y0,
double  rx,
double  ry,
double  a1,
double  a2,
double  dis,
double  round = PI/45 
)

◆ PathVLineTo()

void BUI::GPathStorage::PathVLineTo ( double  y)

◆ prev_vertex()

unsigned BUI::GPathStorage::prev_vertex ( double *  x,
double *  y 
)

◆ push_back()

virtual void BUI::GPathStorage::push_back ( const value_type vx)
protectedvirtual

◆ RelToAbs()

void BUI::GPathStorage::RelToAbs ( double *  x,
double *  y 
)

◆ rewind()

void BUI::GPathStorage::rewind ( unsigned  path_id)

◆ SetTransform()

void BUI::GPathStorage::SetTransform ( PathTransform trans)

◆ size()

UINT BUI::GPathStorage::size ( ) const

◆ StartNewPath()

int BUI::GPathStorage::StartNewPath ( )

◆ UpdateYValue()

void BUI::GPathStorage::UpdateYValue ( double  low,
double  hight 
)

随机生成Y更新测试数据

◆ vertex()

unsigned BUI::GPathStorage::vertex ( double *  x,
double *  y 
)

类成员变量说明

◆ m_index

unsigned int BUI::GPathStorage::m_index
protected

◆ m_num_vertices

unsigned int BUI::GPathStorage::m_num_vertices
protected

◆ m_transform

PathTransform* BUI::GPathStorage::m_transform
protected

◆ m_vertexs

std::vector<value_type> BUI::GPathStorage::m_vertexs
protected
鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2025 · CBlueStudio 版权所有