Blender V5.0
curve_nurbs.cc File Reference
#include "BLI_task.hh"
#include "BKE_attribute_math.hh"
#include "BKE_curves.hh"

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::bke
namespace  blender::bke::curves
namespace  blender::bke::curves::nurbs

Functions

bool blender::bke::curves::nurbs::check_valid_eval_params (int points_num, int8_t order, bool cyclic, KnotsMode knots_mode, int resolution)
static int blender::bke::curves::nurbs::calc_nonzero_knot_spans (const int points_num, const KnotsMode mode, const int8_t order, const bool cyclic)
static bool blender::bke::curves::nurbs::is_breakpoint (const Span< float > knots, const int knot_span)
static int blender::bke::curves::nurbs::count_nonzero_knot_spans (const int points_num, const int order, const bool cyclic, const Span< float > knots)
int blender::bke::curves::nurbs::calculate_evaluated_num (int points_num, int8_t order, bool cyclic, int resolution, KnotsMode knots_mode, Span< float > knots)
static void blender::bke::curves::nurbs::copy_custom_knots (const int8_t order, const bool cyclic, const Span< float > custom_knots, MutableSpan< float > knots)
void blender::bke::curves::nurbs::calculate_knots (int points_num, KnotsMode mode, int8_t order, bool cyclic, MutableSpan< float > knots)
void blender::bke::curves::nurbs::load_curve_knots (KnotsMode mode, int points_num, int8_t order, bool cyclic, IndexRange curve_knots, Span< float > custom_knots, MutableSpan< float > knots)
Vector< int > blender::bke::curves::nurbs::calculate_multiplicity_sequence (Span< float > knots)
static void blender::bke::curves::nurbs::calculate_basis_for_point (const Span< float > knots, const int degree, const float parameter, const int span_index, MutableSpan< float > r_weights, int &r_start_index)
void blender::bke::curves::nurbs::calculate_basis_cache (int points_num, int evaluated_num, int8_t order, int resolution, bool cyclic, KnotsMode knots_mode, Span< float > knots, BasisCache &basis_cache)
template<typename T>
static void blender::bke::curves::nurbs::interpolate_to_evaluated (const BasisCache &basis_cache, const int8_t order, const Span< T > src, MutableSpan< T > dst)
template<typename T>
static void blender::bke::curves::nurbs::interpolate_to_evaluated_rational (const BasisCache &basis_cache, const int8_t order, const Span< float > control_weights, const Span< T > src, MutableSpan< T > dst)
void blender::bke::curves::nurbs::interpolate_to_evaluated (const BasisCache &basis_cache, int8_t order, Span< float > control_weights, GSpan src, GMutableSpan dst)