23#ifndef __FM_CACHEDSEG2D_H__
24#define __FM_CACHEDSEG2D_H__
66 { set( rSeg );
return *
this; };
128 double & dStartAngle,
double & dInclAngle )
const;
135 using CommonSeg2DImpl::set;
146 return CommonSeg2DImpl::set( ptA, ptB, dBulge );
151 return CommonSeg2DImpl::set( ptA, ptB, ptIntermediate );
156 return CommonSeg2DImpl::set( geLine );
161 return CommonSeg2DImpl::set( geArc );
185 inline const OdGePoint2d & _startPt()
const {
return m_ptStart; };
186 inline const OdGePoint2d & _endPt()
const {
return m_ptEnd; };
187 inline double _bulge()
const {
return m_dBulge; };
189 inline SegmentType _type()
const {
return m_eType; };
190 inline double _length()
const {
return m_dLength; };
191 inline double _arcAngle()
const {
return m_dArcInclAngle; };
192 inline double _arcRadius()
const {
return m_dLength / ::fabs(m_dArcInclAngle); };
193 inline const OdGePoint2d & _arcCenter()
const {
return m_ptArcCenter; };
195 double _arcStartAngle()
const;
221 double m_dArcInclAngle;
virtual Attributes2D & attributes4U()
Result set(const CachedSeg2D &rSeg)
CachedSeg2D(const OdGePoint2d &ptA, const OdGePoint2d &ptB, const OdGePoint2d &ptIntermediate)
virtual Result set(const OdGePoint2d &ptA, const OdGePoint2d &ptB, double dBulge, const Attributes2D &rAttr)
virtual SegmentImplClass implClass() const
CachedSeg2D(const IBulgeSeg2D &rAnySeg)
virtual OdGePoint2d arcCenter() const
virtual const Attributes2D & attributes() const
virtual Result getArcData(OdGePoint2d &ptCenter, double &dRadius, double &dStartAngle, double &dInclAngle) const
virtual double deviation() const
CachedSeg2D(const OdGePoint2d &ptA, const OdGePoint2d &ptB, double dBulge, const Attributes2D &rAttr)
CachedSeg2D(const OdGePoint2d &ptA, const OdGePoint2d &ptB, double dBulge=0.0)
virtual double arcStartAngle() const
virtual const OdGePoint2d & endPt() const
virtual double arcAngle() const
virtual Result set(const OdGeCircArc2d &geArc)
CachedSeg2D(const CachedSeg2D &rSeg)
virtual Result set(const OdGeLineSeg2d &geLine)
virtual void getDir(OdGeVector2d &vDir) const
virtual double bulge() const
virtual const OdGePoint2d & startPt() const
virtual Result set(const OdGePoint2d &ptA, const OdGePoint2d &ptB, double dBulge=0.0)
virtual double arcRadius() const
virtual Result set(const OdGePoint2d &ptA, const OdGePoint2d &ptB, const OdGePoint2d &ptIntermediate)
virtual SegmentType type() const
virtual double dirLength() const
virtual Result transformBy(const OdGeMatrix2d &mTrans)
virtual double length() const
virtual Result getCircleData(OdGePoint2d &ptCenter, double &dRadius) const
virtual Result set(const IBulgeSeg2D &rSeg)