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.
46 lines
1.4 KiB
C++
46 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include "MLPlNode.h"
|
|
#include "MLPline.h"
|
|
#include "MLRect.h"
|
|
|
|
class MLFuncom
|
|
{
|
|
public:
|
|
MLFuncom();
|
|
~MLFuncom();
|
|
};
|
|
|
|
void swap(double& a, double& b);
|
|
|
|
//判断两个浮点数据是否相等
|
|
bool Equ(double dVal1, double dVal2); // ==
|
|
bool Equ(double dVal1, double dVal2, int dot); // ==
|
|
//得到距离
|
|
double GetDistance(const MLPlNode& dpt1, const MLPlNode& dpt2);
|
|
double GetDistance(double dx1, double dy1, double dx2, double dy2);
|
|
|
|
//查找(nKey 代表线数据的列序号 x=0 y=1 z=2 l=3 s=4)
|
|
int bs(double dbKey, MLPline& pline, int nKey = 3);
|
|
|
|
// 通过X 得到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);
|
|
|
|
//计算直线段与直线段相交关系(是否充许线1的延长)
|
|
int LineLine(double L1x1, double L1y1, double L1x2, double L1y2, double* L2x1, double* L2y1, double* L2x2, double* L2y2, bool bExtend1 = false);
|
|
|
|
//判断点是否在矩形内
|
|
bool ptInRect(const MLRect& Rect, double dbx, double dby);
|
|
|
|
// 判断两矩形之间关系
|
|
bool CrossRtRt(const MLRect& rect1, const MLRect& rect2);
|
|
|
|
// 双精度转字符串
|
|
__declspec(dllexport) QString ToString(int nVal);
|
|
__declspec(dllexport) QString ToString(double dVal);
|
|
__declspec(dllexport) QString ToString(double dVal, int nDotNum); |