GCS: Const correctness and override qualifier
============================================= Make several functions operate as const. Use the override qualifier
This commit is contained in:
committed by
abdullahtahiriyo
parent
4d6257895d
commit
99c530bcf1
@@ -1298,19 +1298,19 @@ int System::addConstraintInternalAlignmentBSplineControlPoint(BSpline &b, Circle
|
||||
//points are supplied, p is used for first curve and p2 for second, yielding a
|
||||
//remote angle computation (this is useful when the endpoints haven't) been
|
||||
//made coincident yet
|
||||
double System::calculateAngleViaPoint(Curve &crv1, Curve &crv2, Point &p)
|
||||
double System::calculateAngleViaPoint(const Curve &crv1, const Curve &crv2, Point &p) const
|
||||
{
|
||||
return calculateAngleViaPoint(crv1, crv2, p, p);
|
||||
}
|
||||
|
||||
double System::calculateAngleViaPoint(Curve &crv1, Curve &crv2, Point &p1, Point &p2)
|
||||
double System::calculateAngleViaPoint(const Curve &crv1, const Curve &crv2, Point &p1, Point &p2) const
|
||||
{
|
||||
GCS::DeriVector2 n1 = crv1.CalculateNormal(p1);
|
||||
GCS::DeriVector2 n2 = crv2.CalculateNormal(p2);
|
||||
return atan2(-n2.x*n1.y+n2.y*n1.x, n2.x*n1.x + n2.y*n1.y);
|
||||
}
|
||||
|
||||
void System::calculateNormalAtPoint(Curve &crv, Point &p, double &rtnX, double &rtnY)
|
||||
void System::calculateNormalAtPoint(const Curve &crv, const Point &p, double &rtnX, double &rtnY) const
|
||||
{
|
||||
GCS::DeriVector2 n1 = crv.CalculateNormal(p);
|
||||
rtnX = n1.x;
|
||||
|
||||
@@ -325,9 +325,9 @@ namespace GCS
|
||||
int addConstraintInternalAlignmentParabolaFocus(Parabola &e, Point &p1, int tagId=0, bool driving = true);
|
||||
int addConstraintInternalAlignmentBSplineControlPoint(BSpline &b, Circle &c, int poleindex, int tag=0, bool driving = true);
|
||||
|
||||
double calculateAngleViaPoint(Curve &crv1, Curve &crv2, Point &p);
|
||||
double calculateAngleViaPoint(Curve &crv1, Curve &crv2, Point &p1, Point &p2);
|
||||
void calculateNormalAtPoint(Curve &crv, Point &p, double &rtnX, double &rtnY);
|
||||
double calculateAngleViaPoint(const Curve &crv1, const Curve &crv2, Point &p) const;
|
||||
double calculateAngleViaPoint(const Curve &crv1, const Curve &crv2, Point &p1, Point &p2) const;
|
||||
void calculateNormalAtPoint(const Curve &crv, const Point &p, double &rtnX, double &rtnY) const;
|
||||
|
||||
// Calculates errors of all constraints which have a tag equal to
|
||||
// the one supplied. Individual errors are summed up using RMS.
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
namespace GCS{
|
||||
|
||||
DeriVector2::DeriVector2(const Point &p, double *derivparam)
|
||||
DeriVector2::DeriVector2(const Point &p, const double *derivparam)
|
||||
{
|
||||
x=*p.x; y=*p.y;
|
||||
dx=0.0; dy=0.0;
|
||||
@@ -88,7 +88,7 @@ DeriVector2 DeriVector2::divD(double val, double dval) const
|
||||
);
|
||||
}
|
||||
|
||||
DeriVector2 Curve::Value(double /*u*/, double /*du*/, double* /*derivparam*/)
|
||||
DeriVector2 Curve::Value(double /*u*/, double /*du*/, const double* /*derivparam*/) const
|
||||
{
|
||||
assert(false /*Value() is not implemented*/);
|
||||
return DeriVector2();
|
||||
@@ -96,15 +96,16 @@ DeriVector2 Curve::Value(double /*u*/, double /*du*/, double* /*derivparam*/)
|
||||
|
||||
//----------------Line
|
||||
|
||||
DeriVector2 Line::CalculateNormal(Point &/*p*/, double* derivparam)
|
||||
DeriVector2 Line::CalculateNormal(const Point &p, const double* derivparam) const
|
||||
{
|
||||
(void) p;
|
||||
DeriVector2 p1v(p1, derivparam);
|
||||
DeriVector2 p2v(p2, derivparam);
|
||||
|
||||
return p2v.subtr(p1v).rotate90ccw();
|
||||
}
|
||||
|
||||
DeriVector2 Line::Value(double u, double du, double* derivparam)
|
||||
DeriVector2 Line::Value(double u, double du, const double* derivparam) const
|
||||
{
|
||||
DeriVector2 p1v(p1, derivparam);
|
||||
DeriVector2 p2v(p2, derivparam);
|
||||
@@ -138,7 +139,7 @@ Line* Line::Copy()
|
||||
|
||||
//---------------circle
|
||||
|
||||
DeriVector2 Circle::CalculateNormal(Point &p, double* derivparam)
|
||||
DeriVector2 Circle::CalculateNormal(const Point &p, const double* derivparam) const
|
||||
{
|
||||
DeriVector2 cv (center, derivparam);
|
||||
DeriVector2 pv (p, derivparam);
|
||||
@@ -146,7 +147,7 @@ DeriVector2 Circle::CalculateNormal(Point &p, double* derivparam)
|
||||
return cv.subtr(pv);
|
||||
}
|
||||
|
||||
DeriVector2 Circle::Value(double u, double du, double* derivparam)
|
||||
DeriVector2 Circle::Value(double u, double du, const double* derivparam) const
|
||||
{
|
||||
//(x,y) = center + cos(u)*(r,0) + sin(u)*(0,r)
|
||||
|
||||
@@ -214,7 +215,7 @@ Arc* Arc::Copy()
|
||||
//--------------ellipse
|
||||
|
||||
//this function is exposed to allow reusing pre-filled derivectors in constraints code
|
||||
double Ellipse::getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, double b, double db, double &ret_dRadMaj)
|
||||
double Ellipse::getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, double b, double db, double &ret_dRadMaj) const
|
||||
{
|
||||
double cf, dcf;
|
||||
cf = f1.subtr(center).length(dcf);
|
||||
@@ -224,7 +225,7 @@ double Ellipse::getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, doub
|
||||
}
|
||||
|
||||
//returns major radius. The derivative by derivparam is returned into ret_dRadMaj argument.
|
||||
double Ellipse::getRadMaj(double *derivparam, double &ret_dRadMaj)
|
||||
double Ellipse::getRadMaj(double *derivparam, double &ret_dRadMaj) const
|
||||
{
|
||||
DeriVector2 c(center, derivparam);
|
||||
DeriVector2 f1(focus1, derivparam);
|
||||
@@ -232,13 +233,13 @@ double Ellipse::getRadMaj(double *derivparam, double &ret_dRadMaj)
|
||||
}
|
||||
|
||||
//returns the major radius (plain value, no derivatives)
|
||||
double Ellipse::getRadMaj()
|
||||
double Ellipse::getRadMaj() const
|
||||
{
|
||||
double dradmaj;//dummy
|
||||
return getRadMaj(0,dradmaj);
|
||||
}
|
||||
|
||||
DeriVector2 Ellipse::CalculateNormal(Point &p, double* derivparam)
|
||||
DeriVector2 Ellipse::CalculateNormal(const Point &p, const double* derivparam) const
|
||||
{
|
||||
//fill some vectors in
|
||||
DeriVector2 cv (center, derivparam);
|
||||
@@ -279,7 +280,7 @@ DeriVector2 Ellipse::CalculateNormal(Point &p, double* derivparam)
|
||||
return ret;
|
||||
}
|
||||
|
||||
DeriVector2 Ellipse::Value(double u, double du, double* derivparam)
|
||||
DeriVector2 Ellipse::Value(double u, double du, const double* derivparam) const
|
||||
{
|
||||
//In local coordinate system, value() of ellipse is:
|
||||
//(a*cos(u), b*sin(u))
|
||||
@@ -370,7 +371,7 @@ ArcOfEllipse* ArcOfEllipse::Copy()
|
||||
//---------------hyperbola
|
||||
|
||||
//this function is exposed to allow reusing pre-filled derivectors in constraints code
|
||||
double Hyperbola::getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, double b, double db, double &ret_dRadMaj)
|
||||
double Hyperbola::getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, double b, double db, double &ret_dRadMaj) const
|
||||
{
|
||||
double cf, dcf;
|
||||
cf = f1.subtr(center).length(dcf);
|
||||
@@ -382,7 +383,7 @@ double Hyperbola::getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, do
|
||||
}
|
||||
|
||||
//returns major radius. The derivative by derivparam is returned into ret_dRadMaj argument.
|
||||
double Hyperbola::getRadMaj(double *derivparam, double &ret_dRadMaj)
|
||||
double Hyperbola::getRadMaj(double *derivparam, double &ret_dRadMaj) const
|
||||
{
|
||||
DeriVector2 c(center, derivparam);
|
||||
DeriVector2 f1(focus1, derivparam);
|
||||
@@ -390,13 +391,13 @@ double Hyperbola::getRadMaj(double *derivparam, double &ret_dRadMaj)
|
||||
}
|
||||
|
||||
//returns the major radius (plain value, no derivatives)
|
||||
double Hyperbola::getRadMaj()
|
||||
double Hyperbola::getRadMaj() const
|
||||
{
|
||||
double dradmaj;//dummy
|
||||
return getRadMaj(0,dradmaj);
|
||||
}
|
||||
|
||||
DeriVector2 Hyperbola::CalculateNormal(Point &p, double* derivparam)
|
||||
DeriVector2 Hyperbola::CalculateNormal(const Point &p, const double* derivparam) const
|
||||
{
|
||||
//fill some vectors in
|
||||
DeriVector2 cv (center, derivparam);
|
||||
@@ -416,7 +417,7 @@ DeriVector2 Hyperbola::CalculateNormal(Point &p, double* derivparam)
|
||||
return ret;
|
||||
}
|
||||
|
||||
DeriVector2 Hyperbola::Value(double u, double du, double* derivparam)
|
||||
DeriVector2 Hyperbola::Value(double u, double du, const double* derivparam) const
|
||||
{
|
||||
|
||||
//In local coordinate system, value() of hyperbola is:
|
||||
@@ -505,7 +506,7 @@ ArcOfHyperbola* ArcOfHyperbola::Copy()
|
||||
|
||||
//---------------parabola
|
||||
|
||||
DeriVector2 Parabola::CalculateNormal(Point &p, double* derivparam)
|
||||
DeriVector2 Parabola::CalculateNormal(const Point &p, const double* derivparam) const
|
||||
{
|
||||
//fill some vectors in
|
||||
DeriVector2 cv (vertex, derivparam);
|
||||
@@ -522,7 +523,7 @@ DeriVector2 Parabola::CalculateNormal(Point &p, double* derivparam)
|
||||
return ret;
|
||||
}
|
||||
|
||||
DeriVector2 Parabola::Value(double u, double du, double* derivparam)
|
||||
DeriVector2 Parabola::Value(double u, double du, const double* derivparam) const
|
||||
{
|
||||
|
||||
//In local coordinate system, value() of parabola is:
|
||||
@@ -607,7 +608,7 @@ ArcOfParabola* ArcOfParabola::Copy()
|
||||
}
|
||||
|
||||
// bspline
|
||||
DeriVector2 BSpline::CalculateNormal(Point& p, double* derivparam)
|
||||
DeriVector2 BSpline::CalculateNormal(const Point &p, const double* derivparam) const
|
||||
{
|
||||
// place holder
|
||||
DeriVector2 ret;
|
||||
@@ -651,7 +652,7 @@ DeriVector2 BSpline::CalculateNormal(Point& p, double* derivparam)
|
||||
return ret;
|
||||
}
|
||||
|
||||
DeriVector2 BSpline::Value(double /*u*/, double /*du*/, double* /*derivparam*/)
|
||||
DeriVector2 BSpline::Value(double /*u*/, double /*du*/, const double* /*derivparam*/) const
|
||||
{
|
||||
// place holder
|
||||
DeriVector2 ret = DeriVector2();
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace GCS
|
||||
DeriVector2(){x=0; y=0; dx=0; dy=0;}
|
||||
DeriVector2(double x, double y) {this->x = x; this->y = y; this->dx = 0; this->dy = 0;}
|
||||
DeriVector2(double x, double y, double dx, double dy) {this->x = x; this->y = y; this->dx = dx; this->dy = dy;}
|
||||
DeriVector2(const Point &p, double* derivparam);
|
||||
DeriVector2(const Point &p, const double* derivparam);
|
||||
double x, dx;
|
||||
double y, dy;
|
||||
|
||||
@@ -100,7 +100,7 @@ namespace GCS
|
||||
//derivparam is a pointer to a curve parameter (or point coordinate) to
|
||||
// compute the derivative for. The derivative is returned through dx,dy
|
||||
// fields of DeriVector2.
|
||||
virtual DeriVector2 CalculateNormal(Point &p, double* derivparam = 0) = 0;
|
||||
virtual DeriVector2 CalculateNormal(const Point &p, const double* derivparam = 0) const = 0;
|
||||
|
||||
/**
|
||||
* @brief Value: returns point (vector) given the value of parameter
|
||||
@@ -109,7 +109,7 @@ namespace GCS
|
||||
* @param derivparam: pointer to sketch parameter to calculate the derivative for
|
||||
* @return
|
||||
*/
|
||||
virtual DeriVector2 Value(double u, double du, double* derivparam = 0);
|
||||
virtual DeriVector2 Value(double u, double du, const double* derivparam = 0) const;
|
||||
|
||||
//adds curve's parameters to pvec (used by constraints)
|
||||
virtual int PushOwnParams(VEC_pD &pvec) = 0;
|
||||
@@ -126,11 +126,11 @@ namespace GCS
|
||||
virtual ~Line(){}
|
||||
Point p1;
|
||||
Point p2;
|
||||
DeriVector2 CalculateNormal(Point &p, double* derivparam = 0);
|
||||
DeriVector2 Value(double u, double du, double* derivparam = 0);
|
||||
virtual int PushOwnParams(VEC_pD &pvec);
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt);
|
||||
virtual Line* Copy();
|
||||
DeriVector2 CalculateNormal(const Point &p, const double* derivparam = 0) const override;
|
||||
DeriVector2 Value(double u, double du, const double* derivparam = 0) const override;
|
||||
virtual int PushOwnParams(VEC_pD &pvec) override;
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt) override;
|
||||
virtual Line* Copy() override;
|
||||
};
|
||||
|
||||
class Circle: public Curve
|
||||
@@ -140,11 +140,11 @@ namespace GCS
|
||||
virtual ~Circle(){}
|
||||
Point center;
|
||||
double *rad;
|
||||
DeriVector2 CalculateNormal(Point &p, double* derivparam = 0);
|
||||
DeriVector2 Value(double u, double du, double* derivparam = 0);
|
||||
virtual int PushOwnParams(VEC_pD &pvec);
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt);
|
||||
virtual Circle* Copy();
|
||||
DeriVector2 CalculateNormal(const Point &p, const double* derivparam = 0) const override;
|
||||
DeriVector2 Value(double u, double du, const double* derivparam = 0) const override;
|
||||
virtual int PushOwnParams(VEC_pD &pvec) override;
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt) override;
|
||||
virtual Circle* Copy() override;
|
||||
};
|
||||
|
||||
class Arc: public Circle
|
||||
@@ -158,19 +158,19 @@ namespace GCS
|
||||
Point start;
|
||||
Point end;
|
||||
//Point center; //inherited
|
||||
virtual int PushOwnParams(VEC_pD &pvec);
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt);
|
||||
virtual Arc* Copy();
|
||||
virtual int PushOwnParams(VEC_pD &pvec) override;
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt) override;
|
||||
virtual Arc* Copy() override;
|
||||
};
|
||||
|
||||
class MajorRadiusConic: public Curve
|
||||
{
|
||||
public:
|
||||
virtual ~MajorRadiusConic(){}
|
||||
virtual double getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, double b, double db, double &ret_dRadMaj) = 0;
|
||||
virtual double getRadMaj(double* derivparam, double &ret_dRadMaj) = 0;
|
||||
virtual double getRadMaj() = 0;
|
||||
DeriVector2 CalculateNormal(Point &p, double* derivparam = 0) = 0;
|
||||
virtual double getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, double b, double db, double &ret_dRadMaj) const = 0;
|
||||
virtual double getRadMaj(double* derivparam, double &ret_dRadMaj) const = 0;
|
||||
virtual double getRadMaj() const = 0;
|
||||
//DeriVector2 CalculateNormal(Point &p, double* derivparam = 0) = 0;
|
||||
};
|
||||
|
||||
class Ellipse: public MajorRadiusConic
|
||||
@@ -181,14 +181,14 @@ namespace GCS
|
||||
Point center;
|
||||
Point focus1;
|
||||
double *radmin;
|
||||
virtual double getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, double b, double db, double &ret_dRadMaj);
|
||||
virtual double getRadMaj(double* derivparam, double &ret_dRadMaj);
|
||||
virtual double getRadMaj();
|
||||
DeriVector2 CalculateNormal(Point &p, double* derivparam = 0);
|
||||
DeriVector2 Value(double u, double du, double* derivparam = 0);
|
||||
virtual int PushOwnParams(VEC_pD &pvec);
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt);
|
||||
virtual Ellipse* Copy();
|
||||
virtual double getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, double b, double db, double &ret_dRadMaj) const override;
|
||||
virtual double getRadMaj(double* derivparam, double &ret_dRadMaj) const override;
|
||||
virtual double getRadMaj() const override;
|
||||
DeriVector2 CalculateNormal(const Point &p, const double* derivparam = 0) const override;
|
||||
DeriVector2 Value(double u, double du, const double* derivparam = 0) const override;
|
||||
virtual int PushOwnParams(VEC_pD &pvec) override;
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt) override;
|
||||
virtual Ellipse* Copy() override;
|
||||
};
|
||||
|
||||
class ArcOfEllipse: public Ellipse
|
||||
@@ -204,9 +204,9 @@ namespace GCS
|
||||
//Point center; //inherited
|
||||
//double *focus1.x; //inherited
|
||||
//double *focus1.y; //inherited
|
||||
virtual int PushOwnParams(VEC_pD &pvec);
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt);
|
||||
virtual ArcOfEllipse* Copy();
|
||||
virtual int PushOwnParams(VEC_pD &pvec) override;
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt) override;
|
||||
virtual ArcOfEllipse* Copy() override;
|
||||
};
|
||||
|
||||
class Hyperbola: public MajorRadiusConic
|
||||
@@ -217,14 +217,14 @@ namespace GCS
|
||||
Point center;
|
||||
Point focus1;
|
||||
double *radmin;
|
||||
virtual double getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, double b, double db, double &ret_dRadMaj);
|
||||
virtual double getRadMaj(double* derivparam, double &ret_dRadMaj);
|
||||
virtual double getRadMaj();
|
||||
DeriVector2 CalculateNormal(Point &p, double* derivparam = 0);
|
||||
virtual DeriVector2 Value(double u, double du, double* derivparam = 0);
|
||||
virtual int PushOwnParams(VEC_pD &pvec);
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt);
|
||||
virtual Hyperbola* Copy();
|
||||
virtual double getRadMaj(const DeriVector2 ¢er, const DeriVector2 &f1, double b, double db, double &ret_dRadMaj) const override;
|
||||
virtual double getRadMaj(double* derivparam, double &ret_dRadMaj) const override;
|
||||
virtual double getRadMaj() const override;
|
||||
DeriVector2 CalculateNormal(const Point &p, const double* derivparam = 0) const override;;
|
||||
virtual DeriVector2 Value(double u, double du, const double* derivparam = 0) const override;
|
||||
virtual int PushOwnParams(VEC_pD &pvec) override;
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt) override;
|
||||
virtual Hyperbola* Copy() override;
|
||||
};
|
||||
|
||||
class ArcOfHyperbola: public Hyperbola
|
||||
@@ -238,9 +238,9 @@ namespace GCS
|
||||
Point start;
|
||||
Point end;
|
||||
// interface helpers
|
||||
virtual int PushOwnParams(VEC_pD &pvec);
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt);
|
||||
virtual ArcOfHyperbola* Copy();
|
||||
virtual int PushOwnParams(VEC_pD &pvec) override;
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt) override;
|
||||
virtual ArcOfHyperbola* Copy() override;
|
||||
};
|
||||
|
||||
class Parabola: public Curve
|
||||
@@ -250,11 +250,11 @@ namespace GCS
|
||||
virtual ~Parabola(){}
|
||||
Point vertex;
|
||||
Point focus1;
|
||||
DeriVector2 CalculateNormal(Point &p, double* derivparam = 0);
|
||||
virtual DeriVector2 Value(double u, double du, double* derivparam = 0);
|
||||
virtual int PushOwnParams(VEC_pD &pvec);
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt);
|
||||
virtual Parabola* Copy();
|
||||
DeriVector2 CalculateNormal(const Point &p, const double* derivparam = 0) const override;
|
||||
virtual DeriVector2 Value(double u, double du, const double* derivparam = 0) const override;
|
||||
virtual int PushOwnParams(VEC_pD &pvec) override;
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt) override;
|
||||
virtual Parabola* Copy() override;
|
||||
};
|
||||
|
||||
class ArcOfParabola: public Parabola
|
||||
@@ -268,9 +268,9 @@ namespace GCS
|
||||
Point start;
|
||||
Point end;
|
||||
// interface helpers
|
||||
virtual int PushOwnParams(VEC_pD &pvec);
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt);
|
||||
virtual ArcOfParabola* Copy();
|
||||
virtual int PushOwnParams(VEC_pD &pvec) override;
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt) override;
|
||||
virtual ArcOfParabola* Copy() override;
|
||||
};
|
||||
|
||||
class BSpline: public Curve
|
||||
@@ -293,11 +293,11 @@ namespace GCS
|
||||
bool periodic;
|
||||
VEC_I knotpointGeoids; // geoids of knotpoints as to index Geom array
|
||||
// interface helpers
|
||||
DeriVector2 CalculateNormal(Point &p, double* derivparam = 0);
|
||||
virtual DeriVector2 Value(double u, double du, double* derivparam = 0);
|
||||
virtual int PushOwnParams(VEC_pD &pvec);
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt);
|
||||
virtual BSpline* Copy();
|
||||
DeriVector2 CalculateNormal(const Point &p, const double* derivparam = 0) const override;;
|
||||
virtual DeriVector2 Value(double u, double du, const double* derivparam = 0) const override;
|
||||
virtual int PushOwnParams(VEC_pD &pvec) override;
|
||||
virtual void ReconstructOnNewPvec (VEC_pD &pvec, int &cnt) override;
|
||||
virtual BSpline* Copy() override;
|
||||
};
|
||||
|
||||
} //namespace GCS
|
||||
|
||||
Reference in New Issue
Block a user