📄 gui_geometrydata.cpp
字号:
/* gui_geometrydata.cpp */#include "gui_geometrydata.h"#include "KitSrc/ugkglobal.h"#include "KitSrc/ugk_errhandle.h"#include "KitSrc/ugk_memopr.h"/******************************************* 类GUI_GeometryPoint*******************************************/GUI_GeometryPoint::GUI_GeometryPoint(){ m_geoNum = 0; m_geoPoints = NULL;}GUI_GeometryPoint::~GUI_GeometryPoint(){ if(m_geoPoints) { UGK_Free(m_geoPoints); }}void GUI_GeometryPoint::setGeoNum(int num){ if(m_geoPoints) UGK_Free(m_geoPoints); m_geoPoints = (RawPoint *)UGK_Calloc( num,sizeof(RawPoint) ); // 错误已经在UGK_Calloc()中报告了 if(m_geoPoints) m_geoNum = num;}void GUI_GeometryPoint::addPoint(int idx,double x, double y){ if((idx<0)||(idx>=m_geoNum)) { UGKError(ET_Failure,UGKErr_IllegalArg,"GUI_GeometryPoint::addPoint(),Invalid param idx:%d",idx); return; } (m_geoPoints+idx)->x = x; (m_geoPoints+idx)->y = y; }RawPoint* GUI_GeometryPoint::getPoint(int idx){ if((idx<0)||(idx>m_geoNum)) { UGKError(ET_Failure,UGKErr_IllegalArg, "GUI_GeometryPoint::getPoint(),Invalid param idx:%d",idx); return 0; } return m_geoPoints+idx;}/******************************************** 类GUI_GeometryLine********************************************/GUI_GeometryLine::GUI_GeometryLine(){ m_geoNum = 0; m_geoLines = NULL;}GUI_GeometryLine::~GUI_GeometryLine(){ if(m_geoNum>0) { for(int i=0;i<m_geoNum;i++) { RawPoint *tmp =(m_geoLines+i)->Points; UGK_Free(tmp); } UGK_Free(m_geoLines); }}void GUI_GeometryLine::setGeoNum(int num){ if(m_geoLines) UGK_Free(m_geoLines); m_geoLines = (RawLine *)UGK_Calloc(num,sizeof(RawLine)); // 错误已经在UGK_Calloc()中报告了 if(m_geoLines) m_geoNum = num;}// pts分配的内存最终由GUI_GeometryLine来释放void GUI_GeometryLine::addLine(int idx, RawPoint *pts,int ptNum){ if((idx<0)||(idx>m_geoNum)) { UGKError(ET_Failure,UGKErr_IllegalArg, "GUI_GeometryLine::addLine(),Invalid param idx:%d",idx); return; } (m_geoLines+idx)->numPoint = ptNum; (m_geoLines+idx)->Points = pts;}RawLine* GUI_GeometryLine::getLine(int idx){ if((idx<0)||(idx>m_geoNum)) { UGKError(ET_Failure,UGKErr_IllegalArg, "GUI_GeometryLine::getLine(),Invalid param idx:%d",idx); return 0; } return (m_geoLines+idx);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -