template<size_t Dimension, typename NumberType, typename KernelType>
struct Slic3r::Geometry::PiecewiseFittedCurve< Dimension, NumberType, KernelType >
template<size_t Dimension, typename NumberType , typename KernelType >
70 {
71 Vec<Dimension, NumberType> result = Vec<Dimension, NumberType>::Zero();
72
73
75
76 int start_segment_idx = middle_right_segment_index - Kernel::kernel_span / 2 + 1;
77 for (int segment_index = start_segment_idx; segment_index < int(start_segment_idx + Kernel::kernel_span);
78 segment_index++) {
80 NumberType normalized_segment_distance = (segment_start - observation_point) /
segment_size;
81
83 parameter_index = std::clamp(parameter_index, 0,
int(
coefficients.cols()) - 1);
84 result += Kernel::kernel(normalized_segment_distance) *
coefficients.col(parameter_index);
85 }
86 return result;
87 }
EIGEN_DEVICE_FUNC const FloorReturnType floor() const
Definition ArrayCwiseUnaryOps.h:388
size_t endpoints_level_of_freedom
Definition Curves.hpp:68
Eigen::MatrixXf coefficients
Definition Curves.hpp:65
NumberType start
Definition Curves.hpp:66
NumberType segment_size
Definition Curves.hpp:67
References Slic3r::Geometry::PiecewiseFittedCurve< Dimension, NumberType, KernelType >::coefficients, Slic3r::Geometry::PiecewiseFittedCurve< Dimension, NumberType, KernelType >::endpoints_level_of_freedom, floor(), Slic3r::Geometry::PiecewiseFittedCurve< Dimension, NumberType, KernelType >::segment_size, and Slic3r::Geometry::PiecewiseFittedCurve< Dimension, NumberType, KernelType >::start.