⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gui_geometrydata.cpp

📁 linux下一款GIS程序源码
💻 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 + -