46 lines
1.5 KiB
C++
46 lines
1.5 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
|
// = FileName : TBArc.h
|
|
// = Version : ver2.0
|
|
// = Author : xlc
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: 类的声明 圆弧描述,坐标系:UCS
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
#ifndef _TBARC_H_
|
|
#define _TBARC_H_
|
|
|
|
class GEOAPI TBArc
|
|
{
|
|
public:
|
|
|
|
TBArc();
|
|
TBArc(AcGePoint3d& cen,double radius,double startAng,double centAng);
|
|
virtual ~TBArc();
|
|
|
|
TBArc& operator = (const TBArc& 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 |