|
| void | blender::ed::curves::operatortypes_curves () |
| |
| void | blender::ed::curves::operatormacros_curves () |
| |
| void | blender::ed::curves::undosys_type_register (UndoType *ut) |
| |
| void | blender::ed::curves::keymap_curves (wmKeyConfig *keyconf) |
| |
| float(* | blender::ed::curves::point_normals_array_create (const Curves *curves_id))[3] |
| |
| Span< StringRef > | blender::ed::curves::get_curves_selection_attribute_names (const bke::CurvesGeometry &curves) |
| |
| Vector< MutableSpan< float3 > > | blender::ed::curves::get_curves_positions_for_write (bke::CurvesGeometry &curves) |
| |
| Span< StringRef > | blender::ed::curves::get_curves_all_selection_attribute_names () |
| |
| Span< StringRef > | blender::ed::curves::get_curves_bezier_selection_attribute_names (const bke::CurvesGeometry &curves) |
| |
| void | blender::ed::curves::remove_selection_attributes (bke::MutableAttributeAccessor &attributes, Span< StringRef > selection_attribute_names) |
| |
| Span< float3 > | blender::ed::curves::get_selection_attribute_positions (const bke::CurvesGeometry &curves, const bke::crazyspace::GeometryDeformation &deformation, const StringRef attribute_name) |
| |
| void | blender::ed::curves::foreach_selectable_point_range (const bke::CurvesGeometry &curves, const bke::crazyspace::GeometryDeformation &deformation, SelectionRangeFn range_consumer) |
| |
| void | blender::ed::curves::foreach_selectable_curve_range (const bke::CurvesGeometry &curves, const bke::crazyspace::GeometryDeformation &deformation, SelectionRangeFn range_consumer) |
| |
| bool | blender::ed::curves::object_has_editable_curves (const Main &bmain, const Object &object) |
| |
| bke::CurvesGeometry | blender::ed::curves::primitive_random_sphere (const int curves_size, const int points_per_curve) |
| |
| VectorSet< Curves * > | blender::ed::curves::get_unique_editable_curves (const bContext &C) |
| |
| void | blender::ed::curves::ensure_surface_deformation_node_exists (bContext &C, Object &curves_ob) |
| |
| void | blender::ed::curves::transverts_from_curves_positions_create (bke::CurvesGeometry &curves, TransVertStore *tvs) |
| |
|
| bool | blender::ed::curves::editable_curves_with_surface_poll (bContext *C) |
| |
| bool | blender::ed::curves::editable_curves_in_edit_mode_poll (bContext *C) |
| |
| bool | blender::ed::curves::curves_with_surface_poll (bContext *C) |
| |
| bool | blender::ed::curves::editable_curves_poll (bContext *C) |
| |
| bool | blender::ed::curves::curves_poll (bContext *C) |
| |
|
| void | blender::ed::curves::CURVES_OT_attribute_set (wmOperatorType *ot) |
| |
| void | blender::ed::curves::CURVES_OT_draw (wmOperatorType *ot) |
| |
| void | blender::ed::curves::CURVES_OT_extrude (wmOperatorType *ot) |
| |
|
| IndexMask | blender::ed::curves::curve_mask_from_points (const bke::CurvesGeometry &curves, const IndexMask &point_mask, const GrainSize grain_size, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::end_points (const bke::CurvesGeometry &curves, const int amount_start, const int amount_end, const bool inverted, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::end_points (const bke::CurvesGeometry &curves, const IndexMask &curves_mask, const int amount_start, const int amount_end, const bool inverted, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::random_mask (const bke::CurvesGeometry &curves, const bke::AttrDomain selection_domain, const uint32_t random_seed, const float probability, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::random_mask (const bke::CurvesGeometry &curves, const IndexMask &mask, const bke::AttrDomain selection_domain, const uint32_t random_seed, const float probability, IndexMaskMemory &memory) |
| |
|
Selection on curves can be stored on either attribute domain: either per-curve or per-point. It can be stored with a float or boolean data-type. The boolean data-type is faster, smaller, and corresponds better to edit-mode selections, but the float data type is useful for soft selection (like masking) in sculpt mode.
The attribute API is used to do the necessary type and domain conversions when necessary, and can handle most interaction with the selection attribute, but these functions implement some helpful utilities on top of that.
|
| void | blender::ed::curves::fill_selection_false (GMutableSpan selection) |
| |
| void | blender::ed::curves::fill_selection_true (GMutableSpan selection) |
| |
| void | blender::ed::curves::fill_selection (GMutableSpan selection, bool value) |
| |
| void | blender::ed::curves::fill_selection_false (GMutableSpan selection, const IndexMask &mask) |
| |
| void | blender::ed::curves::fill_selection_true (GMutableSpan selection, const IndexMask &mask) |
| |
| bool | blender::ed::curves::has_anything_selected (const bke::CurvesGeometry &curves) |
| |
| bool | blender::ed::curves::has_anything_selected (const bke::CurvesGeometry &curves, bke::AttrDomain selection_domain) |
| |
| bool | blender::ed::curves::has_anything_selected (const bke::CurvesGeometry &curves, bke::AttrDomain selection_domain, const IndexMask &mask) |
| |
| bool | blender::ed::curves::has_anything_selected (const GSpan selection) |
| |
| bool | blender::ed::curves::has_anything_selected (const VArray< bool > &varray, const IndexRange range_to_check) |
| |
| bool | blender::ed::curves::has_anything_selected (const VArray< bool > &varray, const IndexMask &indices_to_check) |
| |
| IndexMask | blender::ed::curves::retrieve_selected_curves (const bke::CurvesGeometry &curves, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::retrieve_selected_curves (const Curves &curves_id, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::retrieve_selected_points (const bke::CurvesGeometry &curves, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::retrieve_selected_points (const bke::CurvesGeometry &curves, StringRef attribute_name, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::retrieve_selected_points (const Curves &curves_id, IndexMaskMemory &memory) |
| |
| bke::GSpanAttributeWriter | blender::ed::curves::ensure_selection_attribute (bke::CurvesGeometry &curves, bke::AttrDomain selection_domain, eCustomDataType create_type, StringRef attribute_name) |
| |
| void | blender::ed::curves::foreach_selection_attribute_writer (bke::CurvesGeometry &curves, bke::AttrDomain selection_domain, blender::FunctionRef< void(bke::GSpanAttributeWriter &selection)> fn) |
| |
| void | blender::ed::curves::apply_selection_operation_at_index (GMutableSpan selection, const int index, const eSelectOp sel_op) |
| |
| void | blender::ed::curves::select_all (bke::CurvesGeometry &curves, const bke::AttrDomain selection_domain, int action) |
| |
| void | blender::ed::curves::select_all (bke::CurvesGeometry &curves, const IndexMask &mask, const bke::AttrDomain selection_domain, int action) |
| |
| void | blender::ed::curves::select_linked (bke::CurvesGeometry &curves) |
| |
| void | blender::ed::curves::select_linked (bke::CurvesGeometry &curves, const IndexMask &curves_mask) |
| |
| void | blender::ed::curves::select_alternate (bke::CurvesGeometry &curves, const bool deselect_ends) |
| |
| void | blender::ed::curves::select_alternate (bke::CurvesGeometry &curves, const IndexMask &curves_mask, const bool deselect_ends) |
| |
| void | blender::ed::curves::select_adjacent (bke::CurvesGeometry &curves, const bool deselect) |
| |
| void | blender::ed::curves::select_adjacent (bke::CurvesGeometry &curves, const IndexMask &curves_mask, const bool deselect) |
| |
| std::optional< FindClosestData > | blender::ed::curves::closest_elem_find_screen_space (const ViewContext &vc, const OffsetIndices< int > points_by_curve, const Span< float3 > positions, const VArray< bool > &cyclic, const float4x4 &projection, const IndexMask &mask, const bke::AttrDomain domain, const int2 coord, const FindClosestData &initial_closest) |
| |
| bool | blender::ed::curves::select_box (const ViewContext &vc, bke::CurvesGeometry &curves, const bke::crazyspace::GeometryDeformation &deformation, const float4x4 &projection, const IndexMask &selection_mask, const IndexMask &bezier_mask, const bke::AttrDomain selection_domain, const rcti &rect, const eSelectOp sel_op) |
| |
| bool | blender::ed::curves::select_lasso (const ViewContext &vc, bke::CurvesGeometry &curves, const bke::crazyspace::GeometryDeformation &deformation, const float4x4 &projection_matrix, const IndexMask &selection_mask, const IndexMask &bezier_mask, const bke::AttrDomain selection_domain, const Span< int2 > lasso_coords, const eSelectOp sel_op) |
| |
| bool | blender::ed::curves::select_circle (const ViewContext &vc, bke::CurvesGeometry &curves, const bke::crazyspace::GeometryDeformation &deformation, const float4x4 &projection, const IndexMask &selection_mask, const IndexMask &bezier_mask, const bke::AttrDomain selection_domain, const int2 coord, const float radius, const eSelectOp sel_op) |
| |
| IndexMask | blender::ed::curves::select_adjacent_mask (const bke::CurvesGeometry &curves, const StringRef attribute_name, const bool deselect, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::select_adjacent_mask (const bke::CurvesGeometry &curves, const IndexMask &curves_mask, const StringRef attribute_name, const bool deselect, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::select_box_mask (const ViewContext &vc, const bke::CurvesGeometry &curves, const bke::crazyspace::GeometryDeformation &deformation, const float4x4 &projection, const IndexMask &selection_mask, const IndexMask &bezier_mask, const bke::AttrDomain selection_domain, const StringRef attribute_name, const rcti &rect, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::select_lasso_mask (const ViewContext &vc, const bke::CurvesGeometry &curves, const bke::crazyspace::GeometryDeformation &deformation, const float4x4 &projection, const IndexMask &selection_mask, const IndexMask &bezier_mask, const bke::AttrDomain selection_domain, const StringRef attribute_name, const Span< int2 > lasso_coords, IndexMaskMemory &memory) |
| |
| IndexMask | blender::ed::curves::select_circle_mask (const ViewContext &vc, const bke::CurvesGeometry &curves, const bke::crazyspace::GeometryDeformation &deformation, const float4x4 &projection, const IndexMask &selection_mask, const IndexMask &bezier_mask, const bke::AttrDomain selection_domain, const StringRef attribute_name, const int2 coord, const float radius, IndexMaskMemory &memory) |
| |
|
| bool | blender::ed::curves::remove_selection (bke::CurvesGeometry &curves, const bke::AttrDomain selection_domain) |
| |
| void | blender::ed::curves::duplicate_points (bke::CurvesGeometry &curves, const IndexMask &mask) |
| |
| void | blender::ed::curves::duplicate_curves (bke::CurvesGeometry &curves, const IndexMask &mask) |
| |
| void | blender::ed::curves::add_curves (bke::CurvesGeometry &curves, const Span< int > new_sizes) |
| |
| void | blender::ed::curves::resize_curves (bke::CurvesGeometry &curves, const IndexMask &curves_to_resize, const Span< int > new_sizes) |
| |