You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
GCS-GISControlDlg-for-981A-.../TopologicalAnalysis.h

33 lines
968 B
C

2 years ago
#pragma once
#include <vector>
#include "point.h"
using namespace std;
class TopologicalAnalysis
{
public:
TopologicalAnalysis(void);
~TopologicalAnalysis(void);
bool isPointInLine(double* point, double* startPoint, double* endPoint);
// <20>жϵ<D0B6><CFB5>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int isPointInPolyLine(double* point, vector<double>& lineX,vector<double>& lineY);
bool isPointInLine(CPoint1 point, CPoint1 startPoint, CPoint1 endPoint);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߹<EFBFBD><DFB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ߵĽ<DFB5><C4BD><EFBFBD>
bool GetPointToLineVerticalCross(double* linePt1,double* linePt2,double* pt,double* crossPt);
//<2F>жϵ<D0B6><CFB5>Ƿ<EFBFBD><C7B7>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD>
bool isPointInPolygon(CPoint1 point, vector<CPoint1> polygon);
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>߶<EFBFBD><DFB6>Ƿ<EFBFBD><C7B7>
bool isLineIntersect(CPoint1 line1Start, CPoint1 line1End, CPoint1 line2Start, CPoint1 line2End);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŷʽ<C5B7><CABD><EFBFBD><EFBFBD>, δʵ<CEB4><CAB5>
double getDistance(CPoint1 point1, CPoint1 point2);
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>CPoint1<74><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X
double getMaxX(vector<CPoint1> points);
};