Blender V4.3
curve_bezier.cc File Reference
#include <algorithm>
#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::bezier
 

Functions

bool blender::bke::curves::bezier::segment_is_vector (Span< int8_t > handle_types_left, Span< int8_t > handle_types_right, int segment_index)
 
bool blender::bke::curves::bezier::last_cyclic_segment_is_vector (Span< int8_t > handle_types_left, Span< int8_t > handle_types_right)
 
void blender::bke::curves::bezier::calculate_evaluated_offsets (Span< int8_t > handle_types_left, Span< int8_t > handle_types_right, bool cyclic, int resolution, MutableSpan< int > evaluated_offsets)
 
Insertion blender::bke::curves::bezier::insert (const float3 &point_prev, const float3 &handle_prev, const float3 &handle_next, const float3 &point_next, float parameter)
 
static float3 blender::bke::curves::bezier::calculate_aligned_handle (const float3 &position, const float3 &other_handle, const float3 &aligned_handle)
 
static void blender::bke::curves::bezier::calculate_point_handles (const HandleType type_left, const HandleType type_right, const float3 position, const float3 prev_position, const float3 next_position, float3 &left, float3 &right)
 
void blender::bke::curves::bezier::set_handle_position (const float3 &position, HandleType type, HandleType type_other, const float3 &new_handle, float3 &handle, float3 &handle_other)
 
void blender::bke::curves::bezier::calculate_auto_handles (bool cyclic, Span< int8_t > types_left, Span< int8_t > types_right, Span< float3 > positions, MutableSpan< float3 > positions_left, MutableSpan< float3 > positions_right)
 
template<typename T >
void blender::bke::curves::bezier::evaluate_segment_ex (const T &point_0, const T &point_1, const T &point_2, const T &point_3, MutableSpan< T > result)
 
template<>
void blender::bke::curves::bezier::evaluate_segment (const float3 &point_0, const float3 &point_1, const float3 &point_2, const float3 &point_3, MutableSpan< float3 > result)
 
template<>
void blender::bke::curves::bezier::evaluate_segment (const float2 &point_0, const float2 &point_1, const float2 &point_2, const float2 &point_3, MutableSpan< float2 > result)
 
void blender::bke::curves::bezier::calculate_evaluated_positions (Span< float3 > positions, Span< float3 > handles_left, Span< float3 > handles_right, OffsetIndices< int > evaluated_offsets, MutableSpan< float3 > evaluated_positions)
 
template<typename T >
static void blender::bke::curves::bezier::linear_interpolation (const T &a, const T &b, MutableSpan< T > dst)
 
template<typename T >
static void blender::bke::curves::bezier::interpolate_to_evaluated (const Span< T > src, const OffsetIndices< int > evaluated_offsets, MutableSpan< T > dst)
 
void blender::bke::curves::bezier::interpolate_to_evaluated (GSpan src, OffsetIndices< int > evaluated_offsets, GMutableSpan dst)