#if !defined(SPLINE_HPP) # define SPLINE_HPP # if !defined(AFFNMTRX_HPP) # include # endif class CubicCurve { public: #if defined(USE_SIGNATURE) friend int Is_Signature_Bad(const volatile CubicCurve *); #endif CubicCurve( // Hermite form const Point3D& p1, const Vector3D& r1, const Point3D& p4, const Vector3D& r4 ); CubicCurve( // Bezier form const Point3D& p1, const Point3D& p2, const Point3D& p3, const Point3D& p4 ); void Evaluate( Scalar t, Point3D *p, Vector3D *v ); Logical TestInstance() const; protected: AffineMatrix basisMatrix; }; #endif