TouchVG framework
Public 成员函数 | 静态 Public 成员函数 | Private 类型 | Private 成员函数 | Private 属性 | 所有成员列表
MgCmdSelect类 参考

选择命令类 更多...

#include <mgcmdselect.h>

类 MgCmdSelect 继承关系图:
Inheritance graph

Public 成员函数

bool dynamicChangeEnded (MgView *view, bool apply)
 
bool applyTransform (const MgMotion *sender, MgStorage *s)
 
virtual int getSelection (MgView *view, int count, const MgShape **shapes)
 得到当前选择的图形 更多...
 
virtual int getSelectionForChange (MgView *view, int count, MgShape **shapes)
 得到当前选择的图形,用于修改 更多...
 
virtual MgSelState getSelectState (MgView *view)
 返回选择状态 更多...
 
virtual int getSelectType (MgView *view)
 返回选中的图形的类型, MgShapeType 更多...
 
virtual int getSelectedHandle (const MgMotion *sender)
 返回当前控制点序号 更多...
 
virtual long getSelectedShapeHandle (const MgMotion *sender)
 返回当前图形的句柄 更多...
 
virtual bool selectAll (const MgMotion *sender)
 选中所有图形 更多...
 
virtual bool deleteSelection (const MgMotion *sender)
 删除选中的图形 更多...
 
virtual bool cloneSelection (const MgMotion *sender)
 对选中的图形复制出新图形,并选中新图形 更多...
 
virtual bool groupSelection (const MgMotion *sender)
 对选中的图形成组,并选中新成组图形 更多...
 
virtual bool ungroupSelection (const MgMotion *sender)
 对选中的成组图形解组 更多...
 
virtual void resetSelection (const MgMotion *sender)
 清除选择集 更多...
 
virtual bool addSelection (const MgMotion *sender, int shapeID)
 添加选择图形 更多...
 
virtual bool deleteVertex (const MgMotion *sender)
 删除当前图形的选中的顶点 更多...
 
virtual bool insertVertex (const MgMotion *sender)
 在当前位置插入一个顶点 更多...
 
virtual bool switchClosed (const MgMotion *sender)
 切换当前图形是否闭合 更多...
 
virtual bool isFixedLength (MgView *view)
 返回当前选中图形是否固定边长 更多...
 
virtual bool setFixedLength (const MgMotion *sender, bool fixed)
 设置当前选中图形是否固定边长 更多...
 
virtual bool isLocked (MgView *view)
 返回当前选中图形是否锁定形状 更多...
 
virtual bool setLocked (const MgMotion *sender, bool locked)
 设置当前选中图形是否锁定形状 更多...
 
virtual bool isEditMode (MgView *view)
 返回当前是否处于顶点编辑状态 更多...
 
virtual bool setEditMode (const MgMotion *sender, bool editMode)
 设置当前是否处于顶点编辑状态 更多...
 
virtual bool overturnPolygon (const MgMotion *sender)
 对当前选中多边形沿一条边翻转 更多...
 
virtual Box2d getBoundingBox (const MgMotion *sender)
 返回选择包络框,模型坐标 更多...
 
virtual bool isSelectedByType (MgView *view, int type)
 判断当前选择的图形是否从指定类型派生 更多...
 
virtual bool applyTransform (const MgMotion *sender, const Matrix2d &xf)
 对当前选中的图形进行几何变形 更多...
 
- Public 成员函数 继承自 MgCommand
 MgCommand (const char *name)
 构造函数,名称最长为30个字符 更多...
 
virtual ~MgCommand ()
 
const char * getName () const
 返回命令名称 更多...
 
virtual bool initialize (const MgMotion *sender, MgStorage *s)
 开始命令 更多...
 
virtual bool gatherShapes (const MgMotion *sender, MgShapes *shapes)
 
virtual bool mouseHover (const MgMotion *sender)
 鼠标掠过 更多...
 
virtual bool isDrawingCommand ()
 是否为绘图命令 更多...
 
virtual bool isFloatingCommand ()
 是否可嵌套在其他命令中 更多...
 
virtual bool doContextAction (const MgMotion *sender, int action)
 执行上下文动作 更多...
 
- Public 成员函数 继承自 MgSelection
virtual ~MgSelection ()
 
int getSelection (MgView *view, mgvector< const MgShape *> &shapes)
 得到当前选择的图形 更多...
 
int getSelectionForChange (MgView *view, mgvector< MgShape *> &shapes)
 得到当前选择的图形,用于修改 更多...
 
int getSelectionCount (MgView *view)
 得到选中的图形的个数 更多...
 

静态 Public 成员函数

static const char * Name ()
 
static MgCommandCreate ()
 
- 静态 Public 成员函数 继承自 MgCommand
static float drawAngleText (const MgMotion *sender, GiGraphics *gs, float angle, void *stdstr=(void *) 0)
 
static float drawAngleText (MgView *view, GiGraphics *gs, float angle, const Point2d &pt, int align=1, void *stdstr=(void *) 0, GiTextWidthCallback *c=(GiTextWidthCallback *) 0)
 

Private 类型

typedef std::vector< int >::iterator sel_iterator
 

Private 成员函数

 MgCmdSelect ()
 
virtual void release ()
 销毁对象 更多...
 
virtual bool cancel (const MgMotion *sender)
 取消命令 更多...
 
virtual int getSelectedIDs (MgView *view, int *ids, int count)
 
virtual bool initializeWithSelection (const MgMotion *sender, MgStorage *s, const int *ids)
 
virtual bool backStep (const MgMotion *sender)
 回退一步 更多...
 
virtual bool draw (const MgMotion *sender, GiGraphics *gs)
 显示动态图形 更多...
 
virtual bool click (const MgMotion *sender)
 
virtual bool doubleClick (const MgMotion *sender)
 双击 更多...
 
virtual bool longPress (const MgMotion *sender)
 长按 更多...
 
virtual bool touchBegan (const MgMotion *sender)
 开始滑动 更多...
 
virtual bool touchMoved (const MgMotion *sender)
 正在滑动 更多...
 
virtual bool touchEnded (const MgMotion *sender)
 滑动结束 更多...
 
virtual bool twoFingersMove (const MgMotion *sender)
 双指触摸 更多...
 
virtual const MgShapegetShape (const MgMotion *sender)
 当前临时图形 更多...
 
int getStep ()
 
const MgShapehitTestAll (const MgMotion *sender, MgHitResult &res)
 
const MgShapegetSelectedShape (const MgMotion *sender)
 
bool canSelect (const MgShape *shape, const MgMotion *sender)
 
int hitTestHandles (const MgShape *shape, const Point2d &pointM, const MgMotion *sender, float tolmm=10.f)
 
bool isIntersectMode (const MgMotion *sender)
 
int getLockSelShape (const MgMotion *sender, int defValue) const
 
int getLockSelHandle (const MgMotion *sender, int defValue) const
 
int getLockRotateHandle (const MgMotion *sender, int defValue) const
 
Point2d snapPoint (const MgMotion *sender, const MgShape *shape)
 
sel_iterator getSelectedPostion (const MgShape *shape)
 
bool isSelected (const MgShape *shape)
 
const MgShapegetShape (int id, const MgMotion *sender) const
 
Box2d _getBoundingBox (const MgMotion *sender)
 
bool isDragRectCorner (const MgMotion *sender, Matrix2d &mat)
 
bool isCloneDrag (const MgMotion *sender)
 
void cloneShapes (MgView *view)
 
bool applyCloneShapes (MgView *view, bool apply, bool addNewShapes=false)
 
bool canTransform (const MgShape *shape, const MgMotion *sender)
 
bool canRotate (const MgShape *shape, const MgMotion *sender)
 
void selectionChanged (MgView *view)
 

Private 属性

std::vector< int > m_selIds
 
std::vector< MgShape * > m_clones
 
int m_id
 
MgHitResult m_hit
 
Point2d m_ptSnap
 
Point2d m_ptStart
 
int m_handleIndex
 
int m_rotateHandle
 
float m_rotateAngle
 
int m_boxHandle
 
bool m_editMode
 
bool m_insertPt
 
bool m_showSel
 
bool m_boxsel
 
bool m_dragging
 
bool m_canRotateHandle
 
bool m_shapeEdited
 

详细描述

选择命令类


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

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