49 [[nodiscard]]
static std::vector<Point>
SecondOrderDerivative(
const std::vector<Point>& splines,
size_t startIndex,
size_t endIndex);
56 [[nodiscard]]
static std::vector<double>
SecondOrderDerivative(
const std::vector<double>& coordinates,
size_t startIndex,
size_t endIndex);
64 static std::tuple<Point, Point, double>
66 const std::vector<Point>& splineDerivative,
67 double adimensionalPointCoordinate,
76 static Point Evaluate(
const std::vector<Point>& coordinates,
const std::vector<Point>& secondDerivative,
const double evaluationPoint);
87 const std::vector<Point>& splineDerivative,
90 const int numberOfIterations = constants::numeric::defaultSnappingIterations);
99 static lin_alg::ColVector<double> ComputeSplineWeights(
const lin_alg::ColVector<double>& xf,
100 const lin_alg::ColVector<double>& yf,
107 static std::tuple<lin_alg::ColVector<double>, lin_alg::ColVector<double>> ComputeSamplePoints(
const std::vector<Point>& splinePoints,
108 const lin_alg::Matrix<double, Eigen::ColMajor>& aMatrix);
116 static void SampleSpline(
const std::vector<Point>& splinePoints,
117 const size_t intermediatePointCount,
118 std::vector<Point>& samplePoints);
126 static void ComputeInterpolationMatrix(
const Eigen::Index numberOfSplinePoints,
127 const Eigen::Index intervalRefinement,
128 Eigen::Index& numberOfSamplePoints,
129 lin_alg::Matrix<double, Eigen::ColMajor>& interpolationMatrix);
137 static lin_alg::Matrix<double, Eigen::ColMajor> ComputeLeastSquaresMatrixInverse(
const lin_alg::Matrix<double, Eigen::ColMajor>& splineCoefficients,
138 const lin_alg::ColVector<double>& weights);
static std::vector< double > SecondOrderDerivative(const std::vector< double > &coordinates, size_t startIndex, size_t endIndex)
Second order derivative at spline corner point coordinates (splint)
static std::tuple< Point, Point, double > ComputeCurvatureOnSplinePoint(const std::vector< Point > &splinePoints, const std::vector< Point > &splineDerivative, double adimensionalPointCoordinate, const Projection projection)
Computes curvature in a spline point (comp_curv)
static void SnapSplineToBoundary(std::vector< Point > &splinePoints, const std::vector< Point > &splineDerivative, const LandBoundary &landBoundary, const Projection projection, const int numberOfIterations=constants::numeric::defaultSnappingIterations)
Snap the spline to the land boundary (snap_spline)
static Point Evaluate(const std::vector< Point > &coordinates, const std::vector< Point > &secondDerivative, const double evaluationPoint)
Evaluate a spline function (splint)
static std::vector< Point > SecondOrderDerivative(const std::vector< Point > &splines, size_t startIndex, size_t endIndex)
Second order derivative at spline corner points, from the start node to the end node of the spline (s...