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.

77 lines
2.5 KiB
C

1 month ago
#ifndef COMMONDEFINES_H
#define COMMONDEFINES_H
#include "math.h"
class FACIESPOINT
{
public:
FACIESPOINT(double X=0.0,double Y=0.0,BYTE smooth1=0){x=X;y=Y;smooth=smooth1;flag=0;};
void operator=(const FACIESPOINT& point){x=point.x;y=point.y;flag=point.flag;smooth=point.smooth;};
void operator+=(CSize8& size){x+=size.cx;y+=size.cy;};
BOOL operator==(const FACIESPOINT& point){if(x==point.x && y==point.y) return TRUE;return FALSE;};
BOOL operator!=(const FACIESPOINT& point){if(x!=point.x || y!=point.y) return TRUE;return FALSE;};
void operator*=(double dValue){x*=dValue;y*=dValue;};
void operator+=(FACIESPOINT& point){x+=point.x;y+=point.y;};
POINT ConvertToPOINT(){POINT point;point.x=(int)x;point.y=(int)y;return point;};
double x;
double y;
BYTE smooth;//0x01 ƽ<><C6BD><EFBFBD><EFBFBD>־ 0x02 X<><58><EFBFBD>򵥶<EFBFBD><F2B5A5B6>ƶ<EFBFBD>
BYTE flag;
};
class POINTSERIESID
{
public:
POINTSERIESID(int i0=0,int i1=0,int ver=0){id0=i0;id1=i1;version=ver;};
void operator=(POINTSERIESID& id){id0=id.id0;id1=id.id1;version=id.version;};
void operator=(POINTSERIESID* id){id0=id->id0;id1=id->id1;version=id->version;};
BOOL operator==(POINTSERIESID* id){return memcmp(this,id,sizeof(POINTSERIESID))==0;};
BOOL operator==(POINTSERIESID& id){return memcmp(this,&id,sizeof(POINTSERIESID))==0;};
BOOL operator!=(POINTSERIESID& id){return memcmp(this,&id,sizeof(POINTSERIESID))!=0;};
UINT id0;
UINT id1;
UINT version;
};
class POINTINDEX
{
public:
POINTINDEX(POINTSERIESID ID,int i){id=ID;index=i;};
POINTINDEX(){};
POINTSERIESID id;
int index;
BOOL operator==(POINTINDEX& pointindex){return id==pointindex.id && index==pointindex.index;};
void operator=(POINTINDEX& pointindex){id=pointindex.id;index=pointindex.index;};
};
class INTERPOINT
{
public:
double index0;//<2F><>1<EFBFBD>ϵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double index1;//<2F><>2<EFBFBD>ϵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
double x;//<2F>󽻵<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><E6BDBB>λ<EFBFBD><CEBB>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
double y;//<2F>󽻵<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><E6BDBB>λ<EFBFBD><CEBB>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
double x1;//<2F>󽻵<EFBFBD>ʱδʹ<CEB4><CAB9>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
double y1;//<2F>󽻵<EFBFBD>ʱδʹ<CEB4><CAB9>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
int iType;//02--<2D><><EFBFBD><EFBFBD>Ҳ<EFBFBD> 20--<2D>Ҳൽ<D2B2><E0B5BD><EFBFBD><EFBFBD>
//p2<70>ߴ<EFBFBD>Խp1<70><31>ʱ<EFBFBD><CAB1>λ<EFBFBD>ñ仯<C3B1><E4BBAF>ϵ,02<30><32>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ഩԽ<E0B4A9><D4BD><EFBFBD>Ҳ<EFBFBD>,20<32><30>ʾ<EFBFBD><CABE><EFBFBD>ҲഩԽ<E0B4A9><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL GetLeftToRight() { return (iType/10)==0 || (iType&10)==2; };
void SetLeftToRight(BOOL bValue){ iType=bValue?02:20;};
};
enum FACIESSEGMENTDIRECTION
{
segmentnodirection,
segmentforward,
segmentbackward
};
#define POINTATTRIBUTE_SMOOTH 0x01 //<2F>Ƿ<EFBFBD>ƽ<EFBFBD><C6BD>
#define NULLCOLOR RGB(255,255,255)
#define CURVESTEP 32
#endif