|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
//#include <vector>
|
|
|
|
|
|
#include "clipper2\clipper.engine.h"
|
|
|
|
|
|
#include "clipper2\clipper.core.h"
|
|
|
|
|
|
#include "clipper2\clipper.h"
|
|
|
|
|
|
//#include "clipper2\clipper.rectclip.h"
|
|
|
|
|
|
#include "clipper2\clipper.rectclip.h"
|
|
|
|
|
|
//#include "clipper2\RectClipLines.h"
|
|
|
|
|
|
//#include "clipper2\clipper.export.h"
|
|
|
|
|
|
#include "DrawOperator\FormatReader\GeoMapDataType.h"
|
|
|
|
|
|
#include "IntersectionUtil.h"
|
|
|
|
|
|
|
|
|
|
|
|
//#include "clipper2\clipper.engine.h"
|
|
|
|
|
|
//#include "clipper2\clipper.offset.h"
|
|
|
|
|
|
//#include "clipper2\clipper.minkowski.h"
|
|
|
|
|
|
//#include "DPoint.h"
|
|
|
|
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
using namespace Clipper2Lib;
|
|
|
|
|
|
#define M_PI 3.14159265358979323846
|
|
|
|
|
|
class AFX_EXT_CLASS IDWCalculation
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
IDWCalculation();
|
|
|
|
|
|
~IDWCalculation();
|
|
|
|
|
|
|
|
|
|
|
|
void SetSortedData(vector<DPoint3>* pData);
|
|
|
|
|
|
void SetData(vector<double>& vecX, vector<double>& vecY, vector<double>& vecZ);
|
|
|
|
|
|
void SetData(vector<array<double, 3>>& data);
|
|
|
|
|
|
double GetValue(double x, double y);
|
|
|
|
|
|
void SetArea(double area);
|
|
|
|
|
|
|
|
|
|
|
|
double TestR(double x, double y);
|
|
|
|
|
|
void SetSearchR(double r);
|
|
|
|
|
|
void SetFaultageHelp(const CIntersectionUtil* intersectHelp);
|
|
|
|
|
|
|
|
|
|
|
|
bool IsIntersects(const Paths64* subjects, Point64& pt1, Point64& pt2);
|
|
|
|
|
|
|
|
|
|
|
|
static bool PointSort(DPoint3& pt1, DPoint3& pt2);
|
|
|
|
|
|
private:
|
|
|
|
|
|
int FindPoints(double centerX, double centerY, double radius, vector<DPoint3>& ptsInrange);
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
|
/* Ĭ<><C4AC>ֵΪ2<CEAA><32><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>0.5<EFBFBD><EFBFBD>3<EFBFBD><EFBFBD>ֵ<EFBFBD>ɻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
/* ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ɽ<EFBFBD>һ<EFBFBD><D2BB>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㡣<EFBFBD><E3A1A3><EFBFBD>ˣ<EFBFBD><CBA3>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD>죬
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>
|
|
|
|
|
|
ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>Ծ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD>죬<EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>ع<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>ʵ<EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪֵΪ30<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>á<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>μ<EFBFBD>һ<EFBFBD>㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
/************************************************************************/
|
|
|
|
|
|
double m_factor = 2.5;
|
|
|
|
|
|
//double m_searchDistance = 0;
|
|
|
|
|
|
private:
|
|
|
|
|
|
vector<double>* m_pX;
|
|
|
|
|
|
vector<double>* m_pY;
|
|
|
|
|
|
vector<double>* m_pZ;
|
|
|
|
|
|
|
|
|
|
|
|
vector<DPoint3>* m_pPts;
|
|
|
|
|
|
|
|
|
|
|
|
BOOL m_bCreated = FALSE;
|
|
|
|
|
|
double m_Area;
|
|
|
|
|
|
int m_K;
|
|
|
|
|
|
double m_R; //<2F><><EFBFBD><EFBFBD><EFBFBD>뾶<EFBFBD><EBBEB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨ɨ<CCA8><C9A8>
|
|
|
|
|
|
int m_SearchTimes;
|
|
|
|
|
|
int m_SearchResult;
|
|
|
|
|
|
double m_RInflexion;
|
|
|
|
|
|
double m_SearchTolerant;
|
|
|
|
|
|
|
|
|
|
|
|
CIntersectionUtil* m_IntersectHelp;
|
|
|
|
|
|
};
|
|
|
|
|
|
|