|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "MLPlNode.h"
|
|
|
|
|
|
#include "MLPline.h"
|
|
|
|
|
|
#include "MLRect.h"
|
|
|
|
|
|
|
|
|
|
|
|
class MLFuncom
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
MLFuncom();
|
|
|
|
|
|
~MLFuncom();
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
void swap(double& a, double& b);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
bool Equ(double dVal1, double dVal2); // ==
|
|
|
|
|
|
bool Equ(double dVal1, double dVal2, int dot); // ==
|
|
|
|
|
|
//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
double GetDistance(const MLPlNode& dpt1, const MLPlNode& dpt2);
|
|
|
|
|
|
double GetDistance(double dx1, double dy1, double dx2, double dy2);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>(nKey <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x=0 y=1 z=2 l=3 s=4)
|
|
|
|
|
|
int bs(double dbKey, MLPline& pline, int nKey = 3);
|
|
|
|
|
|
|
|
|
|
|
|
// ͨ<><CDA8>X <20>õ<EFBFBD>Yֵ
|
|
|
|
|
|
double CZ(double x0, double x1, double x2, double y1, double y2);
|
|
|
|
|
|
|
|
|
|
|
|
double cz(double dbKey, int nIndex, MLPline& pline, int nKey1, int nKey2);
|
|
|
|
|
|
|
|
|
|
|
|
double GetDistance(const MLPoint& dpt, const MLPoint& dpt1, const MLPoint& dpt2, MLPoint& dptDest);
|
|
|
|
|
|
double GetDistance(const MLPlNode& dpt, const MLPlNode& dpt1, const MLPlNode& dpt2, MLPlNode& dptDest);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ֱ<EFBFBD>߶<EFBFBD><DFB6><EFBFBD>ֱ<EFBFBD>߶<EFBFBD><DFB6>ཻ<EFBFBD><E0BDBB>ϵ(<28>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>ӳ<EFBFBD>)
|
|
|
|
|
|
int LineLine(double L1x1, double L1y1, double L1x2, double L1y2, double* L2x1, double* L2y1, double* L2x2, double* L2y2, bool bExtend1 = false);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F>жϵ<D0B6><CFB5>Ƿ<EFBFBD><C7B7>ھ<EFBFBD><DABE><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
bool ptInRect(const MLRect& Rect, double dbx, double dby);
|
|
|
|
|
|
|
|
|
|
|
|
// <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD>ϵ
|
|
|
|
|
|
bool CrossRtRt(const MLRect& rect1, const MLRect& rect2);
|
|
|
|
|
|
|
|
|
|
|
|
// ˫<><CBAB><EFBFBD><EFBFBD>ת<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
|
|
|
|
__declspec(dllexport) QString ToString(int nVal);
|
|
|
|
|
|
__declspec(dllexport) QString ToString(double dVal);
|
|
|
|
|
|
__declspec(dllexport) QString ToString(double dVal, int nDotNum);
|