Blender  V3.3
Namespaces | Variables
curves_geometry.cc File Reference
#include <mutex>
#include <utility>
#include "MEM_guardedalloc.h"
#include "BLI_bounds.hh"
#include "BLI_index_mask_ops.hh"
#include "BLI_length_parameterize.hh"
#include "BLI_math_rotation.hh"
#include "DNA_curves_types.h"
#include "BKE_attribute_math.hh"
#include "BKE_curves.hh"
#include "BKE_curves_utils.hh"

Go to the source code of this file.

Namespaces

 blender
 
 blender::bke
 

Functions

Constructors/Destructor
static void blender::bke::copy_curves_geometry (CurvesGeometry &dst, const CurvesGeometry &src)
 
static void blender::bke::move_curves_geometry (CurvesGeometry &dst, CurvesGeometry &src)
 
Accessors
static int blender::bke::domain_num (const CurvesGeometry &curves, const eAttrDomain domain)
 
static CustomDatablender::bke::domain_custom_data (CurvesGeometry &curves, const eAttrDomain domain)
 
static const CustomDatablender::bke::domain_custom_data (const CurvesGeometry &curves, const eAttrDomain domain)
 
template<typename T >
static VArray< Tblender::bke::get_varray_attribute (const CurvesGeometry &curves, const eAttrDomain domain, const StringRefNull name, const T default_value)
 
template<typename T >
static Span< Tblender::bke::get_span_attribute (const CurvesGeometry &curves, const eAttrDomain domain, const StringRefNull name)
 
template<typename T >
static MutableSpan< Tblender::bke::get_mutable_attribute (CurvesGeometry &curves, const eAttrDomain domain, const StringRefNull 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 > bezier_evaluated_offsets)
 
static void blender::bke::rotate_directions_around_axes (MutableSpan< float3 > directions, const Span< float3 > axes, const Span< float > angles)
 
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 std::optional< bounds::MinMaxResult< float3 > > blender::bke::curves_bounds (const CurvesGeometry &curves)
 
static void blender::bke::copy_between_buffers (const CPPType &type, const void *src_buffer, void *dst_buffer, const IndexRange src_range, const IndexRange dst_range)
 
template<typename T >
static void blender::bke::copy_with_map (const Span< T > src, const Span< int > map, MutableSpan< T > dst)
 
static void blender::bke::copy_with_map (const GSpan src, const Span< int > map, GMutableSpan dst)
 
static Array< int > blender::bke::build_point_to_curve_map (const CurvesGeometry &curves)
 
static CurvesGeometry blender::bke::copy_with_removed_points (const CurvesGeometry &curves, const IndexMask points_to_delete)
 
static CurvesGeometry blender::bke::copy_with_removed_curves (const CurvesGeometry &curves, const IndexMask curves_to_delete)
 
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)
 
static bool blender::bke::layer_matches_name_and_type (const CustomDataLayer &layer, const StringRef name, const eCustomDataType type)
 
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_SELECTION_POINT_FLOAT = ".selection_point_float"
 
static const std::string blender::bke::ATTR_SELECTION_CURVE_FLOAT = ".selection_curve_float"
 
static const std::string blender::bke::ATTR_SURFACE_UV_COORDINATE = "surface_uv_coordinate"