23#ifndef __FMIMP_COMMONSEG2D_H__
24#define __FMIMP_COMMONSEG2D_H__
59 virtual double bulge ()
const = 0;
106 const OdGeTol & gTol = FMGeGbl::gTol )
const;
134 const OdGeTol & gTol = FMGeGbl::gTol )
const;
142 const OdGeTol & gTol = FMGeGbl::gTol )
const;
149 const OdGeTol & gTol = FMGeGbl::gTol )
const;
156 const OdGeTol & gTol = FMGeGbl::gTol )
const;
183 double & dStartAngle,
double & dInclAngle )
const;
virtual Result getSubSegment(double dStartParam, double dEndParam, IBulgeSeg2D &rSubSeg) const
virtual Result getTangent(double dParam, OdGeVector2d &vTangent) const
virtual double arcStartAngle() const
virtual Result set(const OdGeCircArc2d &geArc)
virtual SegmentType type() const
virtual Result set(const OdGePoint2d &ptA, const OdGePoint2d &ptB, const OdGePoint2d &ptIntermediate)
virtual double arcAngle() const
virtual Result transformBy(const OdGeMatrix2d &mTrans)
virtual Result getPoint(double dParam, OdGePoint2d &ptPoint) const
virtual Attributes2D & attributes4U()
virtual double nearestParam(const OdGePoint2d &ptTest, OdGePoint2d *ptNearest=0) const
virtual Result set(const OdGePoint2d &ptA, const OdGePoint2d &ptB, double dBulge, const Attributes2D &rAttr)=0
virtual Result getArcSeg(OdGeCircArc2d &geArc) const
virtual OdUInt32 intersectLine(const OdGePoint2d &ptLineOrigin, const OdGeVector2d &vLineDir, Intersection *pInt1=0, Intersection *pInt2=0, const OdGeTol &gTol=FMGeGbl::gTol) const
virtual Result set(const IBulgeSeg2D &rSeg)
virtual const Attributes2D & attributes() const
virtual double length() const
virtual OdUInt32 intersectXRay(const OdGePoint2d &ptTest, bool *pbOnSegment=0, const OdGeTol &gTol=FMGeGbl::gTol) const
virtual Result getCircleData(OdGePoint2d &ptCenter, double &dRadius) const
virtual const OdGePoint2d & startPt() const =0
virtual double bulge() const =0
virtual double deviation() const
virtual Result getParallelSegment(double dNormalOffset, IBulgeSeg2D &rParSeg) const
virtual void getDir(OdGeVector2d &vDir) const
virtual ~CommonSeg2DImpl()
virtual OdGePoint2d arcCenter() const
virtual Result set(const OdGePoint2d &ptA, const OdGePoint2d &ptB, double dBulge=0.0)
virtual OdUInt32 areOn(Intersection **ppInt, const OdGeTol &gTol=FMGeGbl::gTol) const
virtual SegmentImplClass implClass() const
virtual void addExtents(OdGeExtents2d &rExtents, double dTol=0.0) const
virtual const OdGePoint2d & endPt() const =0
virtual Result set(const OdGeLineSeg2d &geLine)
virtual Result getArcData(OdGePoint2d &ptCenter, double &dRadius, double &dStartAngle, double &dInclAngle) const
virtual OdUInt32 intersect(const IBulgeSeg2D &rSegB, OdGePoint2d *pPt1, OdGePoint2d *pPt2=0, const OdGeTol &gTol=FMGeGbl::gTol) const
virtual double dirLength() const
virtual double arcRadius() const
virtual double integrate(const OdGePoint2d &ptOrigin=OdGePoint2d::kOrigin) const
virtual Result getLineSeg(OdGeLineSeg2d &geLine) const
virtual bool isOn(const OdGePoint2d &ptTest, double *pdParam=0, const OdGeTol &gTol=FMGeGbl::gTol) const
virtual OdUInt32 intersect(const IBulgeSeg2D &rSegB, Intersection *pInt1=0, Intersection *pInt2=0, const OdGeTol &gTol=FMGeGbl::gTol) const
static GE_STATIC_EXPORT const OdGePoint2d kOrigin