|
Blender V5.0
|
Variables | |
| TransConvertTypeInfo | TransConvertType_Curves |
|
static |
Definition at line 267 of file transform_convert_curves.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), append_positions_to_custom_data(), blender::ed::transform::TransCustomData::data, blender::array_utils::gather(), blender::Vector< T, InlineBufferCapacity, Allocator >::last(), blender::ed::transform::CurvesTransformData::layer_offsets, blender::ed::transform::CurvesTransformData::positions, blender::ed::transform::CurvesTransformData::selection_by_layer, and blender::index_mask::IndexMask::size().
Referenced by append_positions_to_custom_data(), and curve_populate_trans_data_structs().
| void blender::ed::transform::curves::calculate_aligned_handles | ( | const TransCustomData & | custom_data, |
| bke::CurvesGeometry & | curves, | ||
| int | curve_index ) |
Definition at line 414 of file transform_convert_curves.cc.
References blender::ed::transform::CurvesTransformData::aligned_with_left, blender::ed::transform::CurvesTransformData::aligned_with_right, blender::bke::curves::bezier::calculate_aligned_handles(), calculate_aligned_handles(), blender::ed::transform::TransCustomData::data, blender::ed::curves::get_curves_selection_attribute_names(), and size().
Referenced by calculate_aligned_handles(), recalcData_curves(), and blender::ed::transform::greasepencil::recalcData_grease_pencil().
| void blender::ed::transform::curves::copy_positions_from_curves_transform_custom_data | ( | const TransCustomData & | custom_data, |
| int | layer, | ||
| MutableSpan< float3float3 > | positions_dst ) |
Definition at line 521 of file transform_convert_curves.cc.
References copy_positions_from_curves_transform_custom_data(), blender::ed::transform::TransCustomData::data, blender::ed::transform::CurvesTransformData::layer_offsets, blender::ed::transform::CurvesTransformData::positions, blender::array_utils::scatter(), and blender::ed::transform::CurvesTransformData::selection_by_layer.
Referenced by copy_positions_from_curves_transform_custom_data(), recalcData_curves(), and blender::ed::transform::greasepencil::recalcData_grease_pencil().
| void blender::ed::transform::curves::create_aligned_handles_masks | ( | const bke::CurvesGeometry & | curves, |
| Span< IndexMask > | points_to_transform_per_attr, | ||
| int | curve_index, | ||
| TransCustomData & | custom_data ) |
Definition at line 39 of file transform_convert_curves.cc.
References blender::ed::transform::CurvesTransformData::aligned_with_left, blender::ed::transform::CurvesTransformData::aligned_with_right, BEZIER_HANDLE_ALIGN, blender::ed::transform::TransCustomData::data, blender::IndexMask::from_difference(), blender::IndexMask::from_intersection(), blender::IndexMask::from_predicate(), blender::IndexMask::from_union(), i, blender::ed::transform::CurvesTransformData::memory, blender::Span< T >::size(), and blender::index_mask::ExprBuilder::subtract().
Referenced by createTransCurvesVerts(), and blender::ed::transform::greasepencil::createTransGreasePencilVerts().
| CurvesTransformData * blender::ed::transform::curves::create_curves_transform_custom_data | ( | TransCustomData & | custom_data | ) |
Definition at line 508 of file transform_convert_curves.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), create_curves_transform_custom_data(), blender::ed::transform::TransCustomData::data, data, blender::ed::transform::TransCustomData::free_cb, and blender::ed::transform::CurvesTransformData::layer_offsets.
Referenced by create_curves_transform_custom_data(), createTransCurvesVerts(), and blender::ed::transform::greasepencil::createTransGreasePencilVerts().
Definition at line 283 of file transform_convert_curves.cc.
References blender::ed::transform::CurvesTransformData::aligned_with_left, blender::ed::transform::CurvesTransformData::aligned_with_right, C, create_aligned_handles_masks(), create_curves_transform_custom_data(), createTransCurvesVerts(), CTX_data_ensure_evaluated_depsgraph(), curve_populate_trans_data_structs(), blender::bke::curves::curve_to_point_selection(), CURVE_TYPE_BEZIER, blender::ed::transform::TransDataContainer::custom, blender::ed::transform::TransCustomData::data, blender::ed::transform::TransDataContainer::data, Object::data, blender::ed::transform::TransInfo::data_container, blender::ed::transform::TransInfo::data_container_len, blender::ed::transform::TransDataContainer::data_len, depsgraph, blender::bke::SpanAttributeWriter< T >::finish(), blender::ed::transform::TransInfo::flag, blender::ed::transform::TransCustomData::free_cb, blender::VArray< T >::from_single(), Curves::geometry, blender::ed::curves::get_curves_selection_attribute_names(), blender::bke::crazyspace::get_evaluated_curves_deformation(), i, blender::MutableSpan< T >::index_range(), blender::Span< T >::index_range(), blender::bke::curves::indices_for_type(), blender::index_mask::ExprBuilder::intersect(), blender::index_mask::IndexMask::is_empty(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), MEM_calloc_arrayN(), blender::ed::transform::CurvesTransformData::memory, blender::index_mask::ExprBuilder::merge(), blender::ed::transform::TransInfo::mode, blender::ed::transform::TransDataContainer::obedit, blender::bke::Point, blender::ed::transform::CurvesTransformData::positions, blender::ed::curves::retrieve_selected_points(), blender::Array< T, InlineBufferCapacity, Allocator >::size(), blender::index_mask::IndexMask::size(), blender::Span< T >::size(), blender::bke::SpanAttributeWriter< T >::span, blender::ed::transform::T_PROP_CONNECTED, T_PROP_EDIT_ALL, blender::ed::transform::TFM_CURVE_SHRINKFATTEN, blender::ed::transform::TFM_TILT, blender::ed::transform::TransCustomDataContainer::type, and update_handle_types_for_transform().
Referenced by createTransCurvesVerts().
|
static |
Definition at line 85 of file transform_convert_curves.cc.
References BLI_assert, blender::math::distance(), blender::InplacePriorityQueue< T, FirstHasHigherPriority >::is_empty(), blender::InplacePriorityQueue< T, FirstHasHigherPriority >::pop_index(), blender::InplacePriorityQueue< T, FirstHasHigherPriority >::priority_increased(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by curve_populate_trans_data_structs().
| void blender::ed::transform::curves::curve_populate_trans_data_structs | ( | const TransInfo & | t, |
| TransDataContainer & | tc, | ||
| bke::CurvesGeometry & | curves, | ||
| const float4x4 & | transform, | ||
| const bke::crazyspace::GeometryDeformation & | deformation, | ||
| std::optional< MutableSpan< float > > | value_attribute, | ||
| Span< IndexMask > | points_to_transform_per_attr, | ||
| const IndexMask & | affected_curves, | ||
| bool | use_connected_only, | ||
| const IndexMask & | bezier_curves, | ||
| void * | extra = nullptr ) |
Used for both curves and Grease Pencil objects.
Definition at line 534 of file transform_convert_curves.cc.
References blender::offset_indices::accumulate_counts_to_offsets(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), append_positions_to_custom_data(), blender::ed::transform::TransInfo::around, blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::ed::transform::TransDataBasic::center, blender::offset_indices::copy_group_sizes(), copy_m3_m3(), copy_v3_v3(), curve_connected_point_distances(), CURVE_HANDLE_NONE, curve_populate_trans_data_structs(), CURVE_TYPE_BEZIER, blender::ed::transform::TransDataContainer::custom, cyclic_curve_connected_point_distances(), blender::ed::transform::TransDataContainer::data, blender::ed::transform::TransDataContainer::data_len, blender::bke::crazyspace::GeometryDeformation::deform_mats, blender::ed::transform::TransData::dist, blender::ed::transform::TransDataBasic::extra, blender::Array< T, InlineBufferCapacity, Allocator >::fill(), fill_map(), blender::index_mask::IndexMask::first(), blender::Span< T >::first(), blender::ed::transform::TransDataBasic::flag, blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::foreach_segment(), IndexMask::from_bools(), blender::ed::curves::get_curves_selection_attribute_names(), View3DOverlay::handle_display, blender::ed::curves::has_anything_selected(), i, blender::ed::transform::TransDataBasic::iloc, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::offset_indices::OffsetIndices< T >::index_range(), blender::Span< T >::index_range(), blender::index_mask::IndexMask::is_empty(), blender::ed::transform::TransDataBasic::ival, blender::ed::transform::TransDataBasic::loc, blender::ed::transform::TransData::mtx, View3D::overlay, blender::bke::Point, blender::math::pseudo_invert(), blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), recent_position_offsets(), blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::index_mask::IndexMask::size(), blender::IndexRange::size(), blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::index_mask::IndexMask::slice_content(), blender::ed::transform::TransData::smtx, blender::ed::transform::TD_SELECTED, blender::ed::transform::TD_SKIP, blender::ed::transform::TransCustomDataContainer::type, V3D_AROUND_LOCAL_ORIGINS, blender::ed::transform::TransDataBasic::val, and blender::ed::transform::TransInfo::view.
Referenced by createTransCurvesVerts(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), and curve_populate_trans_data_structs().
|
static |
Definition at line 121 of file transform_convert_curves.cc.
References BLI_assert, blender::math::distance(), blender::InplacePriorityQueue< T, FirstHasHigherPriority >::is_empty(), blender::math::mod_periodic(), blender::InplacePriorityQueue< T, FirstHasHigherPriority >::pop_index(), blender::InplacePriorityQueue< T, FirstHasHigherPriority >::priority_increased(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
Referenced by curve_populate_trans_data_structs().
|
static |
Creates map of indices to tc.data representing the curves. For bezier curves it uses the layout [L0, P0, R0, L1, P1, R1, L2, P2, R2], where [P0, P1, P2], [L0, L1, L2] and [R0, R1, R2] are positions, left handles and right handles respectively. Other curve types just use the positions [P0, P1, ..., Pn] of the control points directly.
Definition at line 484 of file transform_convert_curves.cc.
References CURVE_TYPE_BEZIER, fill_map(), blender::IndexRange::index_range(), blender::threading::parallel_for(), and blender::IndexRange::start().
Referenced by curve_populate_trans_data_structs(), and fill_map().
|
static |
Definition at line 153 of file transform_convert_curves.cc.
References blender::IndexMask::from_predicate(), handles, i, and types.
Referenced by update_handle_types_for_transform(), and update_vector_handle_types().
|
static |
Definition at line 438 of file transform_convert_curves.cc.
References calculate_aligned_handles(), copy_positions_from_curves_transform_custom_data(), blender::ed::transform::TransInfo::data_container, blender::ed::transform::TransInfo::data_container_len, DEG_id_tag_update(), Curves::geometry, blender::ed::curves::get_curves_positions_for_write(), i, Curves::id, ID_RECALC_GEOMETRY, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::ed::transform::TransInfo::mode, recalcData_curves(), blender::ed::transform::TransInfo::state, blender::ed::transform::TFM_CURVE_SHRINKFATTEN, blender::ed::transform::TFM_TILT, blender::ed::transform::TRANS_CANCEL, and blender::ed::transform::transform_snap_project_individual_apply().
Referenced by recalcData_curves().
|
static |
Definition at line 469 of file transform_convert_curves.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), blender::ed::transform::TransCustomData::data, blender::ed::transform::CurvesTransformData::layer_offsets, num, recent_position_offsets(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and Span< T >::slice().
Referenced by curve_populate_trans_data_structs(), and recent_position_offsets().
|
static |
Definition at line 166 of file transform_convert_curves.cc.
References blender::index_mask::ExprBuilder::intersect(), and blender::index_mask::ExprBuilder::merge().
Referenced by update_handle_types_for_transform().
| bool blender::ed::transform::curves::update_handle_types_for_transform | ( | eTfmMode | mode, |
| const std::array< IndexMask, 3 > & | selection_per_attribute, | ||
| const IndexMask & | bezier_points, | ||
| bke::CurvesGeometry & | curves ) |
Definition at line 218 of file transform_convert_curves.cc.
References BEZIER_HANDLE_ALIGN, BEZIER_HANDLE_AUTO, blender::index_mask::IndexMask::contains(), ELEM, IndexMask::from_difference(), handles_by_type(), blender::index_mask::IndexMask::is_empty(), size(), blender::ed::transform::TFM_RESIZE, blender::ed::transform::TFM_ROTATION, update_auto_handle_types(), update_handle_types_for_transform(), and update_vector_handle_types().
Referenced by createTransCurvesVerts(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), and update_handle_types_for_transform().
|
static |
Definition at line 195 of file transform_convert_curves.cc.
References BEZIER_HANDLE_FREE, BEZIER_HANDLE_VECTOR, blender::bke::SpanAttributeWriter< T >::finish(), handles_by_type(), blender::index_mask::IndexMask::is_empty(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::bke::AttributeAccessor::lookup_or_default(), blender::index_mask::masked_fill(), blender::bke::Point, blender::bke::SpanAttributeWriter< T >::span, and update_vector_handle_types().
Referenced by update_handle_types_for_transform(), and update_vector_handle_types().
| TransConvertTypeInfo blender::ed::transform::curves::TransConvertType_Curves |
Definition at line 762 of file transform_convert_curves.cc.
Referenced by blender::ed::transform::convert_type_get(), blender::ed::transform::init_proportional_edit(), blender::ed::transform::init_TransDataContainers(), and blender::ed::transform::initCurveShrinkFatten().