feat: 多机批量航线优化

pull/36/head
cbwu 10 months ago
parent 7ec357ab6d
commit ae26173efe

File diff suppressed because it is too large Load Diff

@ -407,7 +407,7 @@ extern "C" void WINAPI UpdateDataInfo(int index,const char* key,double value )
//功能:目标追踪测试接口
//输入经纬度点的像素大小默认20
extern "C" void WINAPI OnShowTargetPoint(const double lon, const double lat, const int pixelSize)
extern "C" void WINAPI OnShowTargetPoint(double lon, double lat, int pixelSize)
{
AFX_MANAGE_STATE(AfxGetAppModuleState());
if (g_bCreateMap)

@ -108,7 +108,7 @@ extern "C" _declspec(dllexport) void DrawCallBackPoint(const BYTE callbackMode,
//功能:目标追踪测试接口
//输入经纬度点的像素大小默认20
extern "C" _declspec(dllexport) void OnShowTargetPoint(const double lon, const double lat, const int pixelSize=20);
extern "C" _declspec(dllexport) void OnShowTargetPoint(double lon, double lat, int pixelSize);

@ -346,7 +346,7 @@ void CFlyLineDesign::OnSaveFlyLine()
memset(&pt, 0, sizeof(PtStruct));
//原点数据写入
fprintf(fp, "%d, %d, %lf, %lf, %.2lf, %d, %02X, %02X\n", designLineID, 0, g_gcsLon, g_gcsLat, 0.0, 0, 0, 2);
fprintf(fp, "%d, %d, %.7f, %.7f, %.2lf, %d, %02X, %02X\n", designLineID, 0, g_gcsLon, g_gcsLat, 0.0, 0, 0, 2);
//遍历航点集合数据
for ( int i = 0; i < m_linePtNums; i++ )
@ -356,11 +356,11 @@ void CFlyLineDesign::OnSaveFlyLine()
//将除最后一个点的数据写入文件
if ( i < (m_linePtNums-1))
{
fprintf(fp, "%d, %d, %lf, %lf, %.2lf, %d, %02X, %02X\n", designLineID, pt.nPt, pt.dX, pt.dY, pt.nH, pt.nV, pt.ch1, pt.ch2);
fprintf(fp, "%d, %d, %.7f, %.7f, %.2lf, %d, %02X, %02X\n", designLineID, pt.nPt, pt.dX, pt.dY, pt.nH, pt.nV, pt.ch1, pt.ch2);
}
else//将最后一个点的航段特征数据写入文件
{
fprintf(fp, "%d, %d, %lf, %lf, %.2lf, %d, %02X, %02X\n", designLineID, pt.nPt, pt.dX, pt.dY, pt.nH, pt.nV, pt.ch1, lineProperty);
fprintf(fp, "%d, %d, %.7f, %.7f, %.2lf, %d, %02X, %02X\n", designLineID, pt.nPt, pt.dX, pt.dY, pt.nH, pt.nV, pt.ch1, lineProperty);
}
}

@ -679,6 +679,7 @@ BEGIN
MENUITEM "开始编辑", ID_EDIT_NODE
MENUITEM "修改航点", ID_EDIT_LINE
MENUITEM "保存编辑", ID_EDIT_SAVE
MENUITEM "ÅúÁ¿º½Ïß", ID_COPE_LINE
END
POPUP "限制区"
BEGIN

@ -188,6 +188,17 @@ CGISDlg::CGISDlg(CWnd* pParent /*=NULL*/)
m_CircleGuideLayer = -1; //盘旋引导图层
//多机子航线
for (int i=0;i<20;++i)
{
for (int j=0;j<20;++j)
{
m_subLineLayerID[i][j]=-1;
m_subLinePtLayerID[i][j]=-1;
m_pHaveDrawCopyLineFlag[i][j] = -1;
}
}
m_bShowCopyLine = false;
/*******************************测绘航线********************************/
surveyRegionLayerID = -1;
tmpSurveyRegionLayerID = -1;
@ -583,6 +594,7 @@ BEGIN_MESSAGE_MAP(CGISDlg, CBCGPDialog)
ON_COMMAND(ID_EDIT_NODE, OnEditLine) //编辑航线
ON_COMMAND(ID_EDIT_LINE, ShowModifyPointDlg) //修改航点
ON_COMMAND(ID_EDIT_SAVE, ShowEditSaveDlg) //保存编辑
ON_COMMAND(ID_COPE_LINE, ShowMultiRouteSetting) //批量航线
/*
ON_COMMAND(ID_MODIFY_LINEPOINT, OnMapSelect); //修改航点航线
ON_COMMAND(ID_EDIT_SAVE, OnMapSelect); //保存编辑*/
@ -3717,7 +3729,7 @@ void CGISDlg::AddTargetPoint(const int nPt, const double dX, const double dY)
//说明创建专门用于绘制无人机的矢量面图层每次先删除上次标绘的Shp再重新标绘
void CGISDlg::DrawUAV(int uavid, const double dX, const double dY, const double yaw,bool control)
{
if (uavid<0||uavid>1000)
if (uavid<0||uavid>2)
{
return;
}
@ -4627,7 +4639,13 @@ void CGISDlg::DrawFlyLine(const DrawLineDataStruct lineData)
}
else
{
strText.Format(_T("%d-%d"), lineData.lineID, lineData.pts[i].nPt);
/*
if (g_b981AMulti && lineData.pts[0].ch1 > 1)
{
strText.Format(_T("%d(%d)-%d"), lineData.lineID, lineData.pts[0].ch1,lineData.pts[i].nPt);
}
else*/
strText.Format(_T("%d-%d"), lineData.lineID, lineData.pts[i].nPt);
}
//增加Labels
@ -4639,6 +4657,95 @@ void CGISDlg::DrawFlyLine(const DrawLineDataStruct lineData)
m_map.Redraw();
}
//功能:标绘飞行航线(批量航线)
//输入航线数据lineData
void CGISDlg::DrawCopyFlyLine(const DrawLineDataStruct lineData)
{
//field索引值
long fieldIndex = 0;
//航线索引号
int lineID = lineData.lineID-1;
//子航线索引号
int sublineID = lineData.pts[0].ch1-1;
/*
map<long,long> subLineLayerIDs;
map<long,long> subLinePtLayerIDs;
if (m_subLineLayerID.find(lineData.lineID)!=m_subLineLayerID.end())
{
subLineLayerIDs = m_subLineLayerID[lineData.lineID];
}
if (m_subLinePtLayerID.find(lineData.lineID)!=m_subLinePtLayerID.end())
{
subLinePtLayerIDs = m_subLinePtLayerID[lineData.lineID];
}*/
//没有目标标绘SHP图层创建该图层
if (m_subLineLayerID[lineID][sublineID] ==-1)
{
//创建线图层
CreateEmptyShapfile(m_subLineLayerID[lineID][sublineID], 1, /*RGB(0,255,0)*/LineClr[lineID]);
//创建线图层成功
m_pHaveDrawCopyLineFlag[lineID][sublineID] = true;
}
//没有目标标绘SHP图层创建该图层
if (m_subLinePtLayerID[lineID][sublineID] ==-1)
{
//创建点图层
CreateEmptyShapfile(m_subLinePtLayerID[lineID][sublineID], 0, /*RGB(0,255,0)*/LineClr[lineID]);
//创建线图层成功
m_pHaveDrawCopyLineFlag[lineID][sublineID] = true;
}
//向点图层加入航点数据
AddPoints2PointShapfile(m_subLinePtLayerID[lineID][sublineID], lineData.pts, lineData.pointNum);
//向线图层加入航点数据
AddPoints2LineShapfile(m_subLineLayerID[lineID][sublineID], lineData.linePts, lineData.linePointNum);
/////////////////////往SHP图层中加入目标点标注信息///////////////////////////////
//Label集合
CLabels labesPtr;
labesPtr = (m_map.GetShapefile(m_subLinePtLayerID[lineID][sublineID])).GetLabels();
labesPtr.SetFontColor(/*RGB(255,0,0)*/LineClr[lineID]);
labesPtr.SetAlignment(1);
labesPtr.SetFontBold(true);
labesPtr.SetFontName(LPCTSTR("黑体"));
labesPtr.SetFontSize(16);
labesPtr.put_FontSize2(16);
labesPtr.SetFrameVisible(false);
labesPtr.SetAvoidCollisions(FALSE);
CString strText = _T("");
//标绘航点的名称
for (long i=0; i<lineData.pointNum; i++)
{
//标注信息
if ( 14 ==lineData.lineID)
{
strText.Format(_T("自主着陆点(%d)") /*lineData.lineID, */ /*lineData.pts[i].nPt*/,lineData.pts[0].ch1);
}
else
{
strText.Format(_T("%d(%d)-%d"), lineData.lineID, lineData.pts[0].ch1,lineData.pts[i].nPt);
}
//增加Labels
labesPtr.AddLabel((LPCTSTR)strText, lineData.pts[i].dX, lineData.pts[i].dY, 0, 0);
}
/////////////////////往SHP图层中加入目标点标注信息///////////////////////////////
//重新绘制
m_map.Redraw();
}
//功能:根据地图控件的显示分辨率移动地图控件
@ -4949,6 +5056,25 @@ void CGISDlg::ClearDrawedLine(const int lineID)
}
}
//功能:清除已经标绘的航线(多机子航线)
//输入航线编号lineID从0开始计数
void CGISDlg::ClearDrawedCopyLine(const int lineID,const int sublineID)
{
if (m_pHaveDrawCopyLineFlag[lineID][sublineID])
{
//清除标绘的点矢量图层
ClearPointShape(m_subLinePtLayerID[lineID][sublineID]);
//清除已经标绘的航线
m_map.RemoveLayer(m_subLineLayerID[lineID][sublineID]);
m_pHaveDrawCopyLineFlag[lineID][sublineID] = false;
m_subLineLayerID[lineID][sublineID] = -1;
m_subLinePtLayerID[lineID][sublineID] = -1;
}
}
//功能:处理快捷菜单与航线显示相关的操作
// 1)航线已经标注,清除显示
// 2)航线未标注,进行显示
@ -4968,6 +5094,21 @@ void CGISDlg::SetFlyLineShowStatus(const int lineID)
//标识置false
m_pHaveDrawLineFlag[lineIndex] = false;
if (g_b981AMulti)
{
for (int i=0;i<10;++i)
{
if (m_pHaveDrawCopyLineFlag[lineIndex][i])
{
ClearDrawedCopyLine(lineIndex,i);
//刷新
m_map.Redraw2(mapWindow::RedrawMinimal);
//m_map.Redraw();
m_pHaveDrawCopyLineFlag[lineIndex][i] = false;
}
}
}
}
else
{
@ -4983,6 +5124,21 @@ void CGISDlg::SetFlyLineShowStatus(const int lineID)
CString str = LineRouteDlg.GetPathName(); //获取文件路径名
//OnShowGivenLine(GetFlyLineName(lineID));
OnShowGivenLine(str);
if (g_b981AMulti)
{
CString tmp;
m_bShowCopyLine = true;
for (int i=2;i<=10;++i)
{
tmp.Format("-%d",i);
CString dirPath = ExtractDirPath(str);
CString fileName = ExtractFileName(str,false);
CString fileType = ExtractFileType(str);
CString pathName = dirPath + "\\" + fileName + tmp + "." + fileType;
OnShowGivenLine(pathName);
}
m_bShowCopyLine = false;
}
}
}
@ -5060,7 +5216,7 @@ void CGISDlg::OnShowGivenLine(const CString strLineFileName)
}
//判断文件是否存在
if (!SearchDirectory(strLineFileName))
if (!SearchDirectory(strLineFileName) && !m_bShowCopyLine)
{
BCGPMessageBox( _T( "航路文件不存在!" ) );
return;
@ -5076,12 +5232,23 @@ void CGISDlg::OnShowGivenLine(const CString strLineFileName)
if (m_lineManage.ReadLineDataFromFile(lineDataGroup, strLineFileName))
{
//判断航线号是否正确lineID取值1-8,10-11,13add by jackwong 2018.08.01
if(lineDataGroup.lineID<1 || /*(*/lineDataGroup.lineID>14 /*&& lineDataGroup.lineID<10)*/ /*|| lineDataGroup.lineID==14 *//*|| lineDataGroup.lineID>13*/)
if(lineDataGroup.lineID<1 || lineDataGroup.lineID>14 )
{
BCGPMessageBox("航线号不正确!");
return;
}
m_lineFullPathName[lineDataGroup.lineID] = strLineFileName;
if (lineDataGroup.pts[0].ch1>1)
{
//清除标绘的航线
ClearDrawedCopyLine(lineDataGroup.lineID-1,lineDataGroup.pts[0].ch1);
//标绘航线
DrawCopyFlyLine(lineDataGroup);
return;
}
int ch = lineDataGroup.linePts[lineDataGroup.pointNum-1].ch1;
/***************************测绘区域处理************************************/
if (ch == 0x03)
@ -5635,7 +5802,7 @@ void CGISDlg::OnEnddesign() //
if (IDOK == dlgSave.DoModal())
{
strFlyLineName = dlgSave.GetPathName();
pathName = ExtractFileName(strFlyLineName);
pathName = ExtractFileName(strFlyLineName,false);
////写出航线数据
FILE *fp = fopen(strFlyLineName, "w" );
@ -5684,7 +5851,8 @@ void CGISDlg::OnEnddesign() //
{
vector<vector<PtStruct>> resultLines;
GetMultiRouteLine(azmuth,lineInterval,numLine,m_pDesignLineStruct,m_designLinePointNum,resultLines);
SaveMultiRouteLine(pathName,heightInterval,resultLines);
vector<CString>savePathNameArr;
SaveMultiRouteLine(pathName,heightInterval,savePathNameArr,resultLines);
}
memset(m_pDesignLineStruct, 0, sizeof(PtStruct)*m_lineMaxPointNum); //初始化新建一条航线
@ -8444,7 +8612,7 @@ void CGISDlg::GetMultiRouteLine(double azimuth,double lineInterval,int lineNumbe
}
}
void CGISDlg::SaveMultiRouteLine(CString pathDirName,double heightInterval,const vector<vector<PtStruct>>& resultLines)
void CGISDlg::SaveMultiRouteLine(CString pathDirName,double heightInterval,vector<CString>& savePathNameArr,const vector<vector<PtStruct>>& resultLines)
{
CString saveFileName;
for (int i=0;i<resultLines.size();++i)
@ -8453,21 +8621,73 @@ void CGISDlg::SaveMultiRouteLine(CString pathDirName,double heightInterval,const
CString tmp;
tmp.Format("-%d",i+2);
saveFileName = pathDirName + tmp + ".txt";
savePathNameArr.push_back(saveFileName);
//保存文件
FILE* fp = fopen(saveFileName,"w");
fprintf(fp,"%d, 0, %.7f, %.7f, %.2f, 0, 00, 03\n", line[0].nL, 0.0, 0.0, 0.0);
int j = 0;
for (j;j<line.size()-1;++j)
{
fprintf(fp,"%d, %d, %.7f, %.7f, %.2f, 0, 00, 03\n", line[j].nL, j+1,line[j].dX, line[j].dY,line[j].nH + heightInterval*(i+1));
if (j==0) //第一个航线存储批量航线子航线号
{
fprintf(fp,"%d, %d, %.7f, %.7f, %.2f, 0, %02X, 03\n", line[j].nL, j+1,line[j].dX, line[j].dY,line[j].nH + heightInterval*(i+1),i+2);
}
else
fprintf(fp,"%d, %d, %.7f, %.7f, %.2f, 0, 00, 03\n", line[j].nL, j+1,line[j].dX, line[j].dY,line[j].nH + heightInterval*(i+1));
}
fprintf(fp,"%d, %d, %.7f, %.7f, %.2f, 0, %02X, 01\n", line[j].nL, j+1,line[j].dX, line[j].dY,line[j].nH + heightInterval*(i+1),line[j].ch2);
fprintf(fp,"%d, %d, %.7f, %.7f, %.2f, 0, %02X, 01\n", line[j].nL, j+1,line[j].dX, line[j].dY,line[j].nH + heightInterval*(i+1),line[j].ch1);
fclose(fp);
}
}
void CGISDlg::ShowMultiRouteSetting()
{
if (!m_bSelectFeatureFlag || m_lineSelectedID==-1) return;
//批量航线设置
double azmuth,heightInterval,lineInterval,numLine;
bool bSaveMultiLine = false;
CString pathName;
vector<CString>pathNameArr;
if (g_b981AMulti)
{
SetMultiRouteDlg multiRouteDlg;
if (multiRouteDlg.DoModal() == IDOK )
{
azmuth = multiRouteDlg.azmuth;
heightInterval = multiRouteDlg.heightInterval;
lineInterval = multiRouteDlg.lineInterval;
numLine = multiRouteDlg.numLine;
bSaveMultiLine = true;
CString selectLinePath = m_lineFullPathName[m_lineSelectedID];
if (ExtractFileType(selectLinePath) == ".route") return; // 已装订的航线不允许批量生成
DrawLineDataStruct selectLineData = m_ShowedLineDataList[m_lineSelectedID];
CString dirPath = ExtractDirPath(selectLinePath);
CString fileName = ExtractFileName(selectLinePath,false);
pathName = dirPath + "\\" + fileName;
//批量航线保存
vector<vector<PtStruct>> resultLines;
GetMultiRouteLine(azmuth,lineInterval,numLine,selectLineData.pts,selectLineData.pointNum,resultLines);
SaveMultiRouteLine(pathName,heightInterval,pathNameArr,resultLines);
}
else
{
bSaveMultiLine = false;
}
}
ClearHighLightLine();
m_bSelectFeatureFlag = false;
m_lineSelectedID==-1;
m_map.SetCursorMode(mapWindow::tkCursorMode::cmNone);
for (int i=0;i<pathNameArr.size();++i)
{
OnShowGivenLine(pathNameArr.at(i));
}
}
void CGISDlg::OnShowTargetPoint(const double lon,const double lat,int pixelSize)
void CGISDlg::OnShowTargetPoint(double lon,double lat,int pixelSize)
{
if (testLayer!=-1)
{

@ -34,6 +34,7 @@
#include "TopologicalAnalysis.h"
#include "DlgMarker.h"
#include <map>
#include <array>
#include "MapElevation.h"
#include "../Include/8BMapDLL_type.h"
#include "SaveZoneDlg.h"
@ -247,6 +248,13 @@ public:
void ZoomToLocation(double lon,double lat);
private: // by Wu
//map<int,map<long,long>> m_subLineLayerID; //子航线线图层号
//map<int,map<long,long>> m_subLinePtLayerID; //子航线点图层号
long m_subLineLayerID[20][20]; //子航线线图层号
long m_subLinePtLayerID[20][20]; //子航线点图层号
bool m_pHaveDrawCopyLineFlag[20][20];
bool m_bShowCopyLine;
map<int,CString> m_lineFullPathName;
//
void ShowModifyPointDlg(int selectedPointID=0); //编辑航线时,显示航点设置对话框
void ShowEditSaveDlg(); //显示保存编辑对话框
@ -319,14 +327,14 @@ private:
bool m_bHaveAddMap;
//航迹标绘图层ID
long m_flyTrackLayerID[1000];
long m_flyTrackLayerID[3];
//UAV航迹标绘图层ID
long m_UAVFlyTrackLayerID[1000];
long m_UAVFlyTrackLayerID[3];
long m_UAVFlyTrackLayerID_ADS[MAX_PLANE_NUM_ADS];
//是否已经标绘了无人机的飞行轨迹
bool m_bFirstDrawUAVTrack[1000];
bool m_bFirstDrawUAVTrack[3];
bool m_bFirstDrawUAVTrack_ADS[MAX_PLANE_NUM_ADS];
//地图显示区宽度、高度倒数
@ -713,6 +721,9 @@ private:
//功能:标绘飞行航线
//输入航线数据lineData
void DrawFlyLine(const DrawLineDataStruct lineData);
//功能:标绘飞行航线(批量航线)
//输入航线数据lineData
void DrawCopyFlyLine(const DrawLineDataStruct lineData);
afx_msg void OnUpdateLineDisplay1(CCmdUI* pCmdUI);
afx_msg void OnUpdateLineDisplay2(CCmdUI* pCmdUI);
@ -727,6 +738,9 @@ private:
//功能:清除已经标绘的航线
//输入航线编号lineID从0开始计数
void ClearDrawedLine(const int lineID);
//功能:清除已经标绘的航线(多机子航线)
//输入航线编号lineID从0开始计数
void ClearDrawedCopyLine(const int lineID,const int sublineID);
//功能:清除点图层标注信息
@ -984,11 +998,12 @@ public:
void OnShowDesignSurveyLineDlg();
/****************************多机航线一键生成************************************/
void GetMultiRouteLine(double azimuth,double lineInterval,int lineNumber,PtStruct* lineStruct,int nLinePts,vector<vector<PtStruct>>& resultLines);
void SaveMultiRouteLine(CString pathDirName,double heightInterval,const vector<vector<PtStruct>>& resultLines);
void SaveMultiRouteLine(CString pathDirName,double heightInterval,vector<CString>& savePathNameArr,const vector<vector<PtStruct>>& resultLines);
void ShowMultiRouteSetting();
/****************************吊舱目标追踪测试************************************/
long testLayer;
void OnShowTargetPoint(const double lon,const double lat,int pixelSize=20);
void OnShowTargetPoint(double lon,double lat,int pixelSize);
};
//{{AFX_INSERT_LOCATION}}

@ -97,6 +97,7 @@ extern bool CreateDirectory(const CString &strDir)
}
//提取没有后缀名的文件名
/*
extern CString ExtractFileName(CString fileName)
{
// 查找最后一个点的位置
@ -114,7 +115,7 @@ extern CString ExtractFileName(CString fileName)
// 如果没有找到点,说明没有后缀,直接显示文件名
return fileName;
}
}
}*/
//功能一个字节分成8位分别存储到数组中
@ -189,6 +190,58 @@ CString GetFlyLineName( const int lineID )
return (GetSoftwareCurrentDirectory() + _T( "\\route" ) + str + _T( ".txt" ));
}
CString GetFlyLineDirName( const int lineID )
{
CString str;
if (lineID<=5)
{
str.Format( "航线%d", lineID );
}
else if (lineID == 11)
{
str = "应急航线";
}
else if( lineID == 12 )
{
str = "电子围栏";
}
else if (lineID == 14)
{
str = "回收航线";
}
return (GetSoftwareCurrentDirectory() + _T( "\\Route\\" ) + str );
}
//获取文件路径字符串
CString ExtractDirPath(CString strFullPath)
{
int n=strFullPath.ReverseFind('\\')+1;
return strFullPath.Left(n);
}
//获取文件名字字符串
CString ExtractFileName(CString strFullPath,bool bIncludeType)
{
CString strFile;
int n=strFullPath.GetLength()-strFullPath.ReverseFind('\\')-1;
strFile=strFullPath.Right(n);
if (bIncludeType==false) //去除文件名后缀
{
n = strFile.ReverseFind('.');
return strFile.Left(n);
}
else
{
return strFile;
}
}
//获取文件类型
CString ExtractFileType(CString strFullPath)
{
int n=strFullPath.GetLength()-strFullPath.ReverseFind('.')-1;
return strFullPath.Right(n);
}
//可视域分析相关变量
/************************************************************************/

@ -173,7 +173,7 @@ extern bool SearchDirectory(const CString &strDir);
extern bool CreateDirectory(const CString &strDir);
//提取没有后缀名的文件名
extern CString ExtractFileName(CString fileName);
//extern CString ExtractFileName(CString fileName);
//功能一个字节分成8位分别存储到数组中
//输入字节oneByte
@ -193,6 +193,15 @@ extern CString GPSUTCTime2BeijingTime(const double utcTime);
//获得航线文件名输入航线号1、2、3、4、5
extern CString GetFlyLineName( const int lineID );
//获取航线文件夹名字
extern CString GetFlyLineDirName( const int lineID );
//获取文件路径字符串
extern CString ExtractDirPath(CString strFullPath);
//获取文件名字字符串
extern CString ExtractFileName(CString strFullPath,bool bIncludeType=true);
//获取文件类型
extern CString ExtractFileType(CString strFullPath);
const int LINEPTNUM = 256;

@ -1,13 +1,13 @@
//
// GISCONTROLDLG.RC2 - resources Microsoft Visual C++ does not edit directly
//
#ifdef APSTUDIO_INVOKED
#error this file is not editable by Microsoft Visual C++
#endif //APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
// Add manually edited resources here...
/////////////////////////////////////////////////////////////////////////////
//
// GISCONTROLDLG.RC2 - resources Microsoft Visual C++ does not edit directly
//
#ifdef APSTUDIO_INVOKED
#error this file is not editable by Microsoft Visual C++
#endif //APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
// Add manually edited resources here...
/////////////////////////////////////////////////////////////////////////////

@ -426,13 +426,15 @@
#define ID__32940 32940
#define ID__DESIGNSURVEYLINE 32941
#define ID_DESIGNSURVEYLINE 32942
#define ID_32943 32943
#define ID_COPE_LINE 32944
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 1174
#define _APS_NEXT_COMMAND_VALUE 32943
#define _APS_NEXT_COMMAND_VALUE 32945
#define _APS_NEXT_CONTROL_VALUE 1056
#define _APS_NEXT_SYMED_VALUE 1000
#endif

Loading…
Cancel
Save