Files
envi-code/SourceCode/Code2026/inc/AdsXRx/CBArc.h
T

46 lines
1.5 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
//-----------------------------------------------------------------------------+
2026-09-28 15:28:50 +08:00
// Copyright (C), 1998-2007, SH Software Co. Ltd.
// = FileName : CBArc.h
// = Version : ver2.0
// = Author : zjq
// = CreateDate : 2002-09-09
2026-10-04 00:04:20 +08:00
// = Description: 类的声明 圆弧描述,坐标系:UCS
2026-09-28 15:28:50 +08:00
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _BARC_H_
#define _BARC_H_
class GEOAPI CBArc
{
public:
CBArc();
CBArc(AcGePoint3d& cen,double radius,double startAng,double centAng);
virtual ~CBArc();
CBArc& operator = (const CBArc& arc);
2026-10-04 00:04:20 +08:00
//返回相对于起点沿圆弧方向s坐标处的点,S>=0
2026-09-28 15:28:50 +08:00
AcGePoint3d GetPtAtS(double s);
2026-10-04 00:04:20 +08:00
//返回相对于起点沿圆弧方向detaAng角度处的点
2026-09-28 15:28:50 +08:00
AcGePoint3d GetPtAtAngle(double detaAng) const;
2026-10-04 00:04:20 +08:00
AcGePoint3d GetStartPoint() const; //取起点
AcGePoint3d GetEndPoint() const; //取尾点
2026-09-28 15:28:50 +08:00
double Length();
2026-10-04 00:04:20 +08:00
double GetMinX() const; //最小X值
double GetMaxX() const; //最大X值
double GetMinY() const; //最小Y值
double GetMaxY() const; //最大Y值
2026-09-28 15:28:50 +08:00
public:
2026-10-04 00:04:20 +08:00
double m_R; //半径
double m_startAngle; //起始点角度
double m_centAngle; //圆心角,>0:逆时针;<0:顺时针
AcGePoint3d m_centPt; //圆心
AcGePoint3d m_startPt; //起点坐标
AcGePoint3d m_endPt; //终点坐标
2026-09-28 15:28:50 +08:00
};
#endif