Blender V4.3
curve_to_mesh_convert.cc File Reference
#include "BLI_array.hh"
#include "BLI_array_utils.hh"
#include "BLI_math_matrix.hh"
#include "BLI_math_rotation.h"
#include "BLI_set.hh"
#include "BLI_task.hh"
#include "BKE_attribute_math.hh"
#include "BKE_curves.hh"
#include "BKE_customdata.hh"
#include "BKE_geometry_set.hh"
#include "BKE_material.h"
#include "BKE_mesh.hh"
#include "BKE_curve_to_mesh.hh"

Go to the source code of this file.

Classes

struct  blender::bke::CurvesInfo
 
struct  blender::bke::ResultOffsets
 
struct  blender::bke::CombinationInfo
 

Namespaces

namespace  blender
 
namespace  blender::bke
 

Functions

static int blender::bke::segments_num_no_duplicate_edge (const int points_num, const bool cyclic)
 
static void blender::bke::fill_mesh_topology (const int vert_offset, const int edge_offset, const int face_offset, const int loop_offset, const int main_point_num, const int profile_point_num, const bool main_cyclic, const bool profile_cyclic, const bool fill_caps, MutableSpan< int2 > edges, MutableSpan< int > corner_verts, MutableSpan< int > corner_edges, MutableSpan< int > face_offsets)
 
static void blender::bke::mark_bezier_vector_edges_sharp (const int profile_point_num, const int main_segment_num, const Span< int > control_point_offsets, const Span< int8_t > handle_types_left, const Span< int8_t > handle_types_right, MutableSpan< bool > sharp_edges)
 
static float4x4 blender::bke::build_point_matrix (const float3 &location, const float3 &tangent, const float3 &normal)
 
static void blender::bke::fill_mesh_positions (const int main_point_num, const int profile_point_num, const Span< float3 > main_positions, const Span< float3 > profile_positions, const Span< float3 > tangents, const Span< float3 > normals, const Span< float > radii, MutableSpan< float3 > mesh_positions)
 
static CurvesInfo blender::bke::get_curves_info (const CurvesGeometry &main, const CurvesGeometry &profile)
 
static bool blender::bke::offsets_contain_single_point (const OffsetIndices< int > offsets)
 
static ResultOffsets blender::bke::calculate_result_offsets (const CurvesInfo &info, const bool fill_caps)
 
static AttrDomain blender::bke::get_attribute_domain_for_mesh (const AttributeAccessor &mesh_attributes, const StringRef attribute_id)
 
static bool blender::bke::should_add_attribute_to_mesh (const AttributeAccessor &curve_attributes, const AttributeAccessor &mesh_attributes, const StringRef id, const AttributeMetaData &meta_data, const AttributeFilter &attribute_filter)
 
static GSpan blender::bke::evaluate_attribute (const GVArray &src, const CurvesGeometry &curves, Vector< std::byte > &buffer)
 
template<typename Fn >
static void blender::bke::foreach_curve_combination (const CurvesInfo &info, const ResultOffsets &offsets, const Fn &fn)
 
static void blender::bke::build_mesh_positions (const CurvesInfo &curves_info, const ResultOffsets &offsets, Vector< std::byte > &eval_buffer, Mesh &mesh)
 
template<typename T >
static void blender::bke::copy_main_point_data_to_mesh_verts (const Span< T > src, const int profile_point_num, MutableSpan< T > dst)
 
template<typename T >
static void blender::bke::copy_main_point_data_to_mesh_edges (const Span< T > src, const int profile_point_num, const int main_segment_num, const int profile_segment_num, MutableSpan< T > dst)
 
template<typename T >
static void blender::bke::copy_main_point_data_to_mesh_faces (const Span< T > src, const int main_segment_num, const int profile_segment_num, MutableSpan< T > dst)
 
static bool blender::bke::try_sharing_point_data (const CurvesGeometry &main, const StringRef id, const GAttributeReader &src, MutableAttributeAccessor mesh_attributes)
 
static bool blender::bke::try_direct_evaluate_point_data (const CurvesGeometry &main, const GAttributeReader &src, GMutableSpan dst)
 
static void blender::bke::copy_main_point_domain_attribute_to_mesh (const CurvesInfo &curves_info, const StringRef id, const ResultOffsets &offsets, const AttrDomain dst_domain, const GAttributeReader &src_attribute, Vector< std::byte > &eval_buffer, MutableAttributeAccessor mesh_attributes)
 
template<typename T >
static void blender::bke::copy_profile_point_data_to_mesh_verts (const Span< T > src, const int main_point_num, MutableSpan< T > dst)
 
template<typename T >
static void blender::bke::copy_profile_point_data_to_mesh_edges (const Span< T > src, const int main_segment_num, MutableSpan< T > dst)
 
template<typename T >
static void blender::bke::copy_profile_point_data_to_mesh_faces (const Span< T > src, const int main_segment_num, const int profile_segment_num, MutableSpan< T > dst)
 
static void blender::bke::copy_profile_point_domain_attribute_to_mesh (const CurvesInfo &curves_info, const ResultOffsets &offsets, const AttrDomain dst_domain, const GSpan src_all, GMutableSpan dst_all)
 
template<typename T >
static void blender::bke::copy_indices_to_offset_ranges (const VArray< T > &src, const Span< int > curve_indices, const OffsetIndices< int > mesh_offsets, MutableSpan< T > dst)
 
static void blender::bke::copy_curve_domain_attribute_to_mesh (const ResultOffsets &mesh_offsets, const Span< int > curve_indices, const AttrDomain dst_domain, const GVArray &src, GMutableSpan dst)
 
static void blender::bke::write_sharp_bezier_edges (const CurvesInfo &curves_info, const ResultOffsets &offsets, MutableAttributeAccessor mesh_attributes, SpanAttributeWriter< bool > &sharp_edges)
 
Meshblender::bke::curve_to_mesh_sweep (const CurvesGeometry &main, const CurvesGeometry &profile, bool fill_caps, const bke::AttributeFilter &attribute_filter={})
 
static CurvesGeometry blender::bke::get_curve_single_vert ()
 
Meshblender::bke::curve_to_wire_mesh (const CurvesGeometry &curve, const bke::AttributeFilter &attribute_filter={})