新增功能 #60
【LC】增加测量距离功能
100%
描述
1.在src\core\application\commands\CmdMeasureDistance.cpp中完成;
2. 界面包含一个3列可修改的点坐标表格控件(分别对应X、Y、Z坐标),三个按钮(X对齐,Y对齐,Z对齐),和四个编辑框(用于显示所有相邻点对的距离和);
3. 用户输入交互方式为在屏幕上选点(通过初始化命令时设置m_pDoc->getViewData()->enableRenderMode(ViewPickPoint)激活选点模式),注意退出时要disable ViewPickPoint模式;
4. 当选点模式时,用户在屏幕上选择一点,在cmd的onPickChanged响应该事件,通过 PickPoint * XViewData::getLastPickPoint()获取所选点的坐标加入到点坐标表格控件中,算出距离和,更新显示距离的编辑框;
5. 当选择节点模式时,用户选择任意节点,在cmd的onPickChanged响应该事件,获得XPicker选择的最后一个节点,讲所选点的坐标加入到点坐标表格控件中,算出距离和,更新显示距离的编辑框;;
6. 当点坐标表格控件中的行数小于2,距离编辑框显示为0;
7. 在界面配置文件中为点坐标表格控件添加右键菜单,支持选择某行删除(deleteRow);
8. X对齐,Y对齐,Z对齐按钮功能分别为按照第一个点的X/Y/Z坐标调整第一个点以外的所有X/Y/Z坐标,并更新距离编辑框的值
9. 参照void CmdCreateNode::onControlEvent(const char * ctrlName, TypeID event)调用void XRenderData::makeLines(const Vector3r * pts, int ptCount)
实现选点连线的显示,颜色设置为绿色;