Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

93 lines
2.8 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TGGeCircle类
// = Version : ver2.0
// = Author : wlw
// = CreateDate : 2002-09-09
// = Description: TGGeCircle类声明
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _TGGECIRCLE_H_
#define _TGGECIRCLE_H_
#ifndef _TGGESHAPE_H_
#include "TGGeShape.h"
#endif
#ifndef _TADSGEPOINT3D_H_
#include "TADSGePoint3d.h"
#endif
class TGGeArc;
class TGGeLine;
class TEntitySet;
class GEOAPI TGGeCircle : public TGGeShape
{
public:
TGGeCircle();
TGGeCircle(const TGGeCircle &src);
TGGeCircle(const ads_point, const ads_point);
TGGeCircle(const ads_point ptcenter,double dradius);
TGGeCircle(const TEntitySet &entCircle, ads_matrix mat = NULL);
TGGeCircle(const TADSGePoint3d &pt1, const TADSGePoint3d &pt2, const TADSGePoint3d &pt3);
virtual ~TGGeCircle();
virtual bool IsKindOf(TEntityId entType) const;
virtual TEntityId Type() const;
virtual void CopyFrom(const TGGeEntity* pSrc);
virtual ShapeType GetShapeType() const;
virtual int Intersection(const TGGeLine* pLine, ads_point ptrp1 = NULL, ads_point ptrp2 = NULL) const;
virtual int Intersection(const TGGeArc* pArc, ads_point ptrp1 = NULL, ads_point ptrp2 = NULL) const;
virtual int Intersection(const TGGeCircle* pCir, ads_point ptrp1 = NULL, ads_point ptrp2 = NULL) const;
virtual int GetExtend(ads_point lowPt, ads_point upPt) const;
virtual int GetSubArc(const TADSGePoint3d& ptloc, ads_real dchordLen, TGGeArc& xarcres) const;
virtual int Make(const TCHAR* szlay = NULL) const;
virtual int Modify(const TEntitySet* pEntity) const;
virtual int MakeEntity(const TEntitySet* pEntity) const;
virtual void Center(ads_point ptCen);
//图形长度,周长
virtual ads_real GetLength() const;
virtual ads_real Area() const;
virtual int HitTest2d(const TADSGePoint3d &ptTest) const;
virtual int OSnap(int nMode, TADSGePoint3d &ptPick) const;
//第一象限点圆心变换,求半径
virtual void TransUCS(ads_matrix mat);
int operator !() const;
TGGeCircle& operator = (const TGGeCircle &src);
bool operator == (const TGGeCircle &src) const;
TGGeCircle Offset(ads_real dist) const;
TADSGePoint3d GetCenterPt();
TADSGePoint3d GetCenterPt() const;
void SetCenterPt(TADSGePoint3d pt);
double GetRadius() const;
double GetRadius();
void SetRadius(double dR);
bool Set(const TADSGePoint3d &ptStart, const TADSGePoint3d &ptOn, const TADSGePoint3d &ptEnd);
void Set(const TADSGePoint3d &diaPt1, const TADSGePoint3d &diaPt2);
int PtOnCircle(const TADSGePoint3d &pt);
public:
TADSGePoint3d m_ptCenter;
double m_dRadius;
};
inline TGGeEntity::TEntityId TGGeCircle::Type() const
{
return TGGeEntity::eCircle;
}
#endif