Blender V4.3
curves_geometry.cc File Reference
#include <mutex>
#include <utility>
#include "MEM_guardedalloc.h"
#include "BLI_array_utils.hh"
#include "BLI_bounds.hh"
#include "BLI_index_mask.hh"
#include "BLI_length_parameterize.hh"
#include "BLI_math_matrix.hh"
#include "BLI_math_rotation_legacy.hh"
#include "BLI_memory_counter.hh"
#include "BLI_multi_value_map.hh"
#include "BLI_task.hh"
#include "BLO_read_write.hh"
#include "DNA_curves_types.h"
#include "BKE_attribute.hh"
#include "BKE_attribute_math.hh"
#include "BKE_bake_data_block_id.hh"
#include "BKE_curves.hh"
#include "BKE_curves_utils.hh"
#include "BKE_customdata.hh"
#include "BKE_deform.hh"

Go to the source code of this file.

Classes

struct  blender::bke::EvalData
 

Namespaces

namespace  blender
 
namespace  blender::bke
 

Functions

Accessors
static int blender::bke::domain_num (const CurvesGeometry &curves, const AttrDomain domain)
 
static CustomDatablender::bke::domain_custom_data (CurvesGeometry &curves, const AttrDomain domain)
 
static const CustomDatablender::bke::domain_custom_data (const CurvesGeometry &curves, const AttrDomain domain)
 
template<typename T >
static VArray< Tblender::bke::get_varray_attribute (const CurvesGeometry &curves, const AttrDomain domain, const StringRef name, const T default_value)
 
template<typename T >
static Span< Tblender::bke::get_span_attribute (const CurvesGeometry &curves, const AttrDomain domain, const StringRef name)
 
template<typename T >
static MutableSpan< Tblender::bke::get_mutable_attribute (CurvesGeometry &curves, const AttrDomain domain, const StringRef name, const T default_value=T())
 
std::array< int, CURVE_TYPES_NUMblender::bke::calculate_type_counts (const VArray< int8_t > &types)
 
Evaluation
template<typename CountFn >
void blender::bke::build_offsets (MutableSpan< int > offsets, const CountFn &count_fn)
 
static void blender::bke::calculate_evaluated_offsets (const CurvesGeometry &curves, MutableSpan< int > offsets, MutableSpan< int > all_bezier_offsets)
 
static void blender::bke::rotate_directions_around_axes (MutableSpan< float3 > directions, const Span< float3 > axes, const Span< float > angles)
 
static void blender::bke::normalize_span (MutableSpan< float3 > data)
 
static void blender::bke::evaluate_generic_data_for_curve (const EvalData &eval_data, const int curve_index, const GSpan src, GMutableSpan dst)
 
Operations
static void blender::bke::translate_positions (MutableSpan< float3 > positions, const float3 &translation)
 
static void blender::bke::transform_positions (MutableSpan< float3 > positions, const float4x4 &matrix)
 
static void blender::bke::transform_normals (MutableSpan< float3 > normals, const float4x4 &matrix)
 
CurvesGeometry blender::bke::curves_copy_point_selection (const CurvesGeometry &curves, const IndexMask &points_to_copy, const AttributeFilter &attribute_filter)
 
CurvesGeometry blender::bke::curves_copy_curve_selection (const CurvesGeometry &curves, const IndexMask &curves_to_copy, const AttributeFilter &attribute_filter)
 
template<typename T >
static void blender::bke::reverse_curve_point_data (const CurvesGeometry &curves, const IndexMask &curve_selection, MutableSpan< T > data)
 
template<typename T >
static void blender::bke::reverse_swap_curve_point_data (const CurvesGeometry &curves, const IndexMask &curve_selection, MutableSpan< T > data_a, MutableSpan< T > data_b)
 
CurvesGeometry blender::bke::curves_new_no_attributes (int point_num, int curve_num)
 
Domain Interpolation
template<typename T >
static void blender::bke::adapt_curve_domain_point_to_curve_impl (const CurvesGeometry &curves, const VArray< T > &old_values, MutableSpan< T > r_values)
 
template<>
void blender::bke::adapt_curve_domain_point_to_curve_impl (const CurvesGeometry &curves, const VArray< bool > &old_values, MutableSpan< bool > r_values)
 
static GVArray blender::bke::adapt_curve_domain_point_to_curve (const CurvesGeometry &curves, const GVArray &varray)
 
template<typename T >
static void blender::bke::adapt_curve_domain_curve_to_point_impl (const CurvesGeometry &curves, const VArray< T > &old_values, MutableSpan< T > r_values)
 
static GVArray blender::bke::adapt_curve_domain_curve_to_point (const CurvesGeometry &curves, const GVArray &varray)
 

Variables

static const std::string blender::bke::ATTR_POSITION = "position"
 
static const std::string blender::bke::ATTR_RADIUS = "radius"
 
static const std::string blender::bke::ATTR_TILT = "tilt"
 
static const std::string blender::bke::ATTR_CURVE_TYPE = "curve_type"
 
static const std::string blender::bke::ATTR_CYCLIC = "cyclic"
 
static const std::string blender::bke::ATTR_RESOLUTION = "resolution"
 
static const std::string blender::bke::ATTR_NORMAL_MODE = "normal_mode"
 
static const std::string blender::bke::ATTR_HANDLE_TYPE_LEFT = "handle_type_left"
 
static const std::string blender::bke::ATTR_HANDLE_TYPE_RIGHT = "handle_type_right"
 
static const std::string blender::bke::ATTR_HANDLE_POSITION_LEFT = "handle_left"
 
static const std::string blender::bke::ATTR_HANDLE_POSITION_RIGHT = "handle_right"
 
static const std::string blender::bke::ATTR_NURBS_ORDER = "nurbs_order"
 
static const std::string blender::bke::ATTR_NURBS_WEIGHT = "nurbs_weight"
 
static const std::string blender::bke::ATTR_NURBS_KNOTS_MODE = "knots_mode"
 
static const std::string blender::bke::ATTR_SURFACE_UV_COORDINATE = "surface_uv_coordinate"