#pragma once #include "LaiPuLaserView.h" #include "MainFrm.h" #include "ChildFrm.h" #include "LaiPuLaserDoc.h" #include "Layer.h" extern CLaiPuLaserView *GetCurViewPtr(); extern CLaiPuLaserDoc *GetCurDocPtr(); extern CLayer &GetLayerInstance(); extern CPanePropertiesWnd &GetPropertiesWnd(); extern int IsTwoLineIntersect(Dbxy u1,Dbxy u2,Dbxy v1,Dbxy v2); extern bool IsTwoRectIntersect(DbRect &rect1,DbRect &rect2); extern bool IsLineInRect(Dbxy point1,Dbxy point2,DbRect rect); extern bool IsPointInRect(Dbxy point,DbRect rect); extern int Parallel(Dbxy u1,Dbxy u2,Dbxy v1,Dbxy v2); extern double CalAngle(Dbxy CenterPt,Dbxy StartPt,Dbxy EndPt); extern void AdjustRectByPoint(DbRect &rect,Dbxy pt); extern void AdjustRectByRect(DbRect &rect1,DbRect rect2); extern bool IsTwoDbEqual(double a,double b);//COORD_EPS ÊÇĬÈϾ«¶È extern bool IsTwoDbEqual(double a,double b,double eps); extern bool IsDbEqualZero(double num); extern double CalDistance(Dbxy pt1,Dbxy pt2); extern double AngleTo360(double Angle); extern double _360ToAngle(double _360Angle); extern CMainFrame* GetFrame(); extern int GetTwoNum(CString str,double &Val1,double &Val2); extern double Cal360AngleByTwoPt(Dbxy pt1,Dbxy pt2); extern Dbxy GetPoint2(Dbxy point1,double length,double angle); extern Dbxy CalIntersection(Dbxy u1,Dbxy u2,Dbxy v1,Dbxy v2); extern Dbxy IntersectionOfRectAndLine(Dbxy LinePt1,Dbxy LinePt2,DbRect rect); extern Dbxy CenterPtOfTwoPoint(Dbxy Pt1,Dbxy Pt2); extern int GetNumDigit(int num); extern Dbxy RotatoPt(Dbxy pt,double Angle,Dbxy CenterPt); extern DbRect GetDbPointVecRect(vector &vec); extern void SwapTwoPt(Dbxy &pt1,Dbxy &pt2); extern bool IsShiftKeyDown(); extern bool CompareDbxyByX(Dbxy pt1,Dbxy pt2); extern bool CompareDbxyByY(Dbxy pt1,Dbxy pt2); extern int dot_online_in(Dbxy p,Dbxy l1,Dbxy l2); extern bool IsDbxyZero(Dbxy pt); extern int Byte2Int(BYTE x); extern double RetainDecimalPlaces(double val,int n); extern int GetRandVal(int rang); extern bool IsLineAndRectIntersect(Dbxy pt,DbRect rect,double Ang,double Radius=500); extern void WaitForThreadExit(CWinThread* pThread); extern bool CheckBool(bool b,CString msg); extern void CreatCircleData(CCirclePar CirclePar,vector &Vec); bool IsTwoDbPtEqual(Dbxy pt1,Dbxy pt2,double eps); extern bool CheckRange(int n,int Start,int end); extern char Int2HexChar(int n); extern double _4DigitHex2Double(char *buf,int len); extern int HexChar2Int(char c); extern void IntTo2ByteHex(int n,char *buf); extern int _2CharToHex(char charA,char charB); extern int HexByte2Int(int Byte1,int Byte2);