47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, SH Software Co. Ltd.
|
|
// = FileName : CBArc.h
|
|
// = Version : ver2.0
|
|
// = Author : zjq
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: 类的声明 圆弧描述,坐标系:UCS
|
|
// = 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);
|
|
|
|
//返回相对于起点沿圆弧方向s坐标处的点,S>=0
|
|
AcGePoint3d GetPtAtS(double s);
|
|
//返回相对于起点沿圆弧方向detaAng角度处的点
|
|
AcGePoint3d GetPtAtAngle(double detaAng) const;
|
|
|
|
AcGePoint3d GetStartPoint() const; //取起点
|
|
AcGePoint3d GetEndPoint() const; //取尾点
|
|
|
|
double Length();
|
|
double GetMinX() const; //最小X值
|
|
double GetMaxX() const; //最大X值
|
|
double GetMinY() const; //最小Y值
|
|
double GetMaxY() const; //最大Y值
|
|
|
|
public:
|
|
double m_R; //半径
|
|
double m_startAngle; //起始点角度
|
|
double m_centAngle; //圆心角,>0:逆时针;<0:顺时针
|
|
AcGePoint3d m_centPt; //圆心
|
|
AcGePoint3d m_startPt; //起点坐标
|
|
AcGePoint3d m_endPt; //终点坐标
|
|
};
|
|
#endif
|