TouchVG framework
Public 成员函数 | Private 属性 | 所有成员列表
GiTransform类 参考

坐标系管理类 更多...

#include <gixform.h>

Public 成员函数

 GiTransform (bool ydown=true)
 默认构造函数 更多...
 
 GiTransform (const GiTransform &src)
 拷贝构造函数 更多...
 
 ~GiTransform ()
 析构函数 更多...
 
GiTransformcopy (const GiTransform &src)
 赋值函数 更多...
 
float getDpiX () const
 返回当前绘图的设备X分辨率 更多...
 
float getDpiY () const
 返回当前绘图的设备Y分辨率 更多...
 
int getWidth () const
 返回显示窗口的宽度,像素 更多...
 
int getHeight () const
 返回显示窗口的高度,像素 更多...
 
Point2d getCenterW () const
 返回显示窗口中心的世界坐标 更多...
 
float getViewScale () const
 返回显示比例 更多...
 
float getWorldToDisplayX (bool useViewScale=true) const
 返回X方向上世界单位对应的像素数 更多...
 
float getWorldToDisplayY (bool useViewScale=true) const
 返回Y方向上世界单位对应的像素数 更多...
 
float displayToModel (float dist, bool mm=false) const
 返回显示长度(默认为像素,可为毫米)对应的模型长度 更多...
 
const Matrix2dmodelToWorld () const
 返回模型坐标系到世界坐标系的变换矩阵 更多...
 
const Matrix2dworldToModel () const
 返回世界坐标系到模型坐标系的变换矩阵 更多...
 
const Matrix2ddisplayToWorld () const
 返回显示坐标系到世界坐标系的变换矩阵 更多...
 
const Matrix2dworldToDisplay () const
 返回世界坐标系到显示坐标系的变换矩阵 更多...
 
const Matrix2ddisplayToModel () const
 返回显示坐标系到模型坐标系的变换矩阵 更多...
 
const Matrix2dmodelToDisplay () const
 返回模型坐标系到显示坐标系的变换矩阵 更多...
 
bool setWndSize (int width, int height)
 设置显示窗口的大小,像素 更多...
 
void setResolution (float dpiX, float dpiY=0)
 设置显示分辨率 更多...
 
bool setModelTransform (const Matrix2d &mat)
 设置模型坐标系的变换矩阵 更多...
 
Box2d getWndRectW () const
 返回显示窗口的世界坐标范围 更多...
 
Box2d getWndRectM () const
 返回显示窗口的模型坐标范围 更多...
 
Box2d getWndRect () const
 返回显示窗口的显示坐标范围 更多...
 
float getMinViewScale () const
 返回最小显示比例 更多...
 
float getMaxViewScale () const
 返回最大显示比例 更多...
 
Box2d getWorldLimits () const
 返回显示极限的世界坐标范围 更多...
 
void setViewScaleRange (float minScale, float maxScale)
 设置显示比例范围 更多...
 
Box2d setWorldLimits (const Box2d &rect)
 设置显示极限的世界坐标范围 更多...
 
bool zoomWnd (const Point2d &pt1, const Point2d &pt2, bool adjust=true)
 开窗放大 更多...
 
bool zoomTo (const Box2d &rectWorld, const RECT_2D *rcTo=(RECT_2D *) 0, bool adjust=true)
 放缩图形到窗口区域 更多...
 
bool zoomTo (const Point2d &pntWorld, const Point2d *pxAt=(Point2d *) 0, bool adjust=true)
 平移显示 更多...
 
bool zoomPan (float dxPixel, float dyPixel, bool adjust=true)
 平移显示 更多...
 
bool zoomByFactor (float factor, const Point2d *pxAt=(Point2d *) 0, bool adjust=true)
 以一点为中心按照倍率放缩 更多...
 
bool zoomScale (float viewScale, const Point2d *pxAt=(Point2d *) 0, bool adjust=true)
 以一点为中心指定比例放缩 更多...
 
bool zoom (Point2d centerW, float viewScale)
 设置显示放缩状态 更多...
 
bool enableZoom (bool enabled)
 设置各种放缩函数是否立即生效 更多...
 
float getZoomValue (Point2d &centerW) const
 得到上一次放缩函数的结果 更多...
 
long getZoomTimes () const
 返回放缩结果改变的次数,供图形系统等观察者作比较使用 更多...
 

Private 属性

GiTransformImplm_impl
 

详细描述

坐标系管理类

坐标系管理类的功能是管理图形系统用到的各种坐标系及其转换。 用到以下三种坐标系:

  1. 世界坐标系:固定不变的笛卡尔坐标系,用作定义所有对象和其他坐标系的基础,   用单位矩阵表示,单位为毫米。
  2. 模型坐标系:用户定义的坐标系,用于描述真实世界中的图形,其单位、比例尺、   X轴和Y轴的方向可以任意独立设定。模型坐标系用一个变换矩阵(Matrix)表示。
  3. 显示坐标系:在显示器、打印机、绘图仪上显示时用的坐标系,单位为像素,   +X向右,+Y向下,原点在显示窗口的左上角。显示坐标系由显示窗口的中心的世界   坐标、显示比例、显示设备的分辨率(DPI)共同决定,可以计算出一个变换矩阵。

该类的文档由以下文件生成:

通用矢量图形框架, 版权所有 (C) 张云贵 2004-2017,BSD 开源许可证