AcDbCurve: Functions to Override

A custom class must override the following functions:

virtual Adesk::Boolean    
isClosed() const;      
 
virtual Adesk::Boolean    
isPeriodic() const;
 
virtual Adesk::Boolean    
isPlanar() const;
 
virtual Acad::ErrorStatus 
getPlane(AcGePlane&, AcDb::Planarity&) const; 
 
virtual Acad::ErrorStatus 
getStartParam(double&) const;
 
virtual Acad::ErrorStatus 
getEndParam(double&) const;
 
virtual Acad::ErrorStatus 
getStartPoint(AcGePoint3d&) const;
 
virtual Acad::ErrorStatus 
getEndPoint(AcGePoint3d&) const;
 
virtual Acad::ErrorStatus 
getPointAtParam(double, AcGePoint3d&) const;
 
virtual Acad::ErrorStatus 
getParamAtPoint(const AcGePoint3d&, double&)const;
 
virtual Acad::ErrorStatus 
getDistAtParam(double param, double& dist) const;
 
virtual Acad::ErrorStatus 
getParamAtDist(double dist, double& param) const;
 
virtual Acad::ErrorStatus 
getDistAtPoint(const AcGePoint3d&, double&) const;
 
virtual Acad::ErrorStatus 
getPointAtDist(double, AcGePoint3d&) const;
 
virtual Acad::ErrorStatus 
getFirstDeriv(
    double param,
    AcGeVector3d& firstDeriv) const;
 
virtual Acad::ErrorStatus 
getFirstDeriv(
    const AcGePoint3d&,
    AcGeVector3d& firstDeriv) const;
 
virtual Acad::ErrorStatus 
getSecondDeriv(
    double param,
    AcGeVector3d& secDeriv) const;
 
virtual Acad::ErrorStatus 
getSecondDeriv(
    const AcGePoint3d&,
    AcGeVector3d& secDeriv) const;
 
virtual Acad::ErrorStatus 
getClosestPointTo(
    const AcGePoint3d& givenPnt,
    AcGePoint3d& pointOnCurve,
    Adesk::Boolean extend = Adesk::kFalse) const;
 
virtual Acad::ErrorStatus 
getClosestPointTo(
    const AcGePoint3d& givenPnt,
    const AcGeVector3d& normal,
    AcGePoint3d& pointOnCurve,
    Adesk::Boolean extend = Adesk::kFalse) const;
 
virtual Acad::ErrorStatus 
getOrthoProjectedCurve(
    const AcGePlane&,
    AcDbCurve*& projCrv) const;
 
virtual Acad::ErrorStatus 
getProjectedCurve(
    const AcGePlane&,
    const AcGeVector3d& projDir,
    AcDbCurve*& projCrv) const;
 
virtual Acad::ErrorStatus 
getOffsetCurves(
    double offsetDist,
    AcDbVoidPtrArray& offsetCurves) const;
 
virtual Acad::ErrorStatus 
getSpline(AcDbSpline*& spline) const;
 
virtual Acad::ErrorStatus 
getSplitCurves(
    const AcGeDoubleArray& params,
    AcDbVoidPtrArray& curveSegments) const;
 
virtual Acad::ErrorStatus 
getSplitCurves(
    const AcGePoint3dArray& points,
    AcDbVoidPtrArray& curveSegments) const;
 
virtual Acad::ErrorStatus 
extend(double newParam);
 
virtual Acad::ErrorStatus 
extend(
    Adesk::Boolean extendStart, 
    const AcGePoint3d& toPoint);
 
virtual Acad::ErrorStatus 
getArea(double&) const;