|
Blender V4.5
|
#include <BLI_span.hh>
Inherited by blender::MutableVArraySpan< T >.
Public Types | |
| using | value_type = T |
| using | pointer = T * |
| using | const_pointer = const T * |
| using | reference = T & |
| using | const_reference = const T & |
| using | iterator = T * |
| using | size_type = int64_t |
Public Member Functions | |
| constexpr | MutableSpan ()=default |
| constexpr | MutableSpan (T *start, const int64_t size) |
| constexpr | MutableSpan (std::vector< T > &vector) |
| template<std::size_t N> | |
| constexpr | MutableSpan (std::array< T, N > &array) |
| template<typename U, BLI_ENABLE_IF((is_span_convertible_pointer_v< U, T >))> | |
| constexpr | MutableSpan (MutableSpan< U > span) |
| constexpr | operator Span< T > () const |
| template<typename U, BLI_ENABLE_IF((is_span_convertible_pointer_v< T, U >))> | |
| constexpr | operator Span< U > () const |
| constexpr int64_t | size () const |
| constexpr int64_t | size_in_bytes () const |
| constexpr bool | is_empty () const |
| constexpr void | fill (const T &value) const |
| template<typename IndexT> | |
| constexpr void | fill_indices (Span< IndexT > indices, const T &value) const |
| constexpr T * | data () const |
| constexpr T * | begin () const |
| constexpr T * | end () const |
| constexpr std::reverse_iterator< T * > | rbegin () const |
| constexpr std::reverse_iterator< T * > | rend () const |
| constexpr T & | operator[] (const int64_t index) const |
| constexpr MutableSpan | slice (const int64_t start, const int64_t size) const |
| constexpr MutableSpan | slice (IndexRange range) const |
| constexpr MutableSpan | slice_safe (const int64_t start, const int64_t size) const |
| constexpr MutableSpan | slice_safe (IndexRange range) const |
| constexpr MutableSpan | drop_front (const int64_t n) const |
| constexpr MutableSpan | drop_back (const int64_t n) const |
| constexpr MutableSpan | take_front (const int64_t n) const |
| constexpr MutableSpan | take_back (const int64_t n) const |
| constexpr void | reverse () const |
| constexpr Span< T > | as_span () const |
| constexpr IndexRange | index_range () const |
| constexpr T & | first () const |
| constexpr T & | last (const int64_t n=0) const |
| constexpr int64_t | count (const T &value) const |
| constexpr bool | contains (const T &value) const |
| constexpr bool | contains_ptr (const T *ptr) const |
| constexpr void | copy_from (Span< T > values) const |
| template<typename NewT> | |
| constexpr MutableSpan< NewT > | cast () const |
Protected Attributes | |
| T * | data_ = nullptr |
| int64_t | size_ = 0 |
Mostly the same as Span, except that one can change the array elements through a MutableSpan.
Definition at line 443 of file BLI_span.hh.
| using blender::MutableSpan< T >::const_pointer = const T * |
Definition at line 447 of file BLI_span.hh.
| using blender::MutableSpan< T >::const_reference = const T & |
Definition at line 449 of file BLI_span.hh.
| using blender::MutableSpan< T >::iterator = T * |
Definition at line 450 of file BLI_span.hh.
| using blender::MutableSpan< T >::pointer = T * |
Definition at line 446 of file BLI_span.hh.
| using blender::MutableSpan< T >::reference = T & |
Definition at line 448 of file BLI_span.hh.
| using blender::MutableSpan< T >::size_type = int64_t |
Definition at line 451 of file BLI_span.hh.
| using blender::MutableSpan< T >::value_type = T |
Definition at line 445 of file BLI_span.hh.
|
constexprdefault |
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 462 of file BLI_span.hh.
References data(), MutableSpan(), and size().
|
inlineconstexpr |
Definition at line 465 of file BLI_span.hh.
References data(), MutableSpan(), and N.
|
inlineconstexpr |
Support implicit conversions like the one below: MutableSpan<T *> -> MutableSpan<const T *>
Definition at line 474 of file BLI_span.hh.
References data(), data_, MutableSpan(), size(), size_, and T.
|
inlineconstexpr |
Returns an (immutable) Span that references the same array. This is usually not needed, due to implicit conversions. However, sometimes automatic type deduction needs some help.
Definition at line 661 of file BLI_span.hh.
Referenced by blender::ed::sculpt_paint::cloth::apply_grab_brush(), blender::ed::sculpt_paint::mask::apply_mask_bmesh(), blender::ed::sculpt_paint::mask::apply_mask_grids(), blender::ed::sculpt_paint::mask::apply_mask_mesh(), blender::ed::sculpt_paint::cloth::apply_snake_hook_brush(), blender::ed::sculpt_paint::smooth::blur_geometry_data_array(), blender::ed::sculpt_paint::boundary::calc_bend_bmesh(), blender::ed::sculpt_paint::boundary::calc_bend_grids(), blender::ed::sculpt_paint::boundary::calc_bend_mesh(), blender::ed::sculpt_paint::pose::calc_bmesh(), blender::ed::sculpt_paint::cloth::calc_constraint_factors(), blender::draw::calc_face_tri_starts_mesh(), blender::ed::sculpt_paint::boundary::calc_grab_bmesh(), blender::ed::sculpt_paint::boundary::calc_grab_grids(), blender::ed::sculpt_paint::boundary::calc_grab_mesh(), blender::ed::sculpt_paint::pose::calc_grids(), blender::ed::sculpt_paint::boundary::calc_inflate_bmesh(), blender::ed::sculpt_paint::boundary::calc_inflate_grids(), blender::ed::sculpt_paint::boundary::calc_inflate_mesh(), blender::ed::sculpt_paint::pose::calc_mesh(), blender::ed::sculpt_paint::boundary::calc_slide_bmesh(), blender::ed::sculpt_paint::boundary::calc_slide_grids(), blender::ed::sculpt_paint::boundary::calc_slide_mesh(), blender::ed::sculpt_paint::boundary::calc_smooth_bmesh(), blender::ed::sculpt_paint::boundary::calc_smooth_grids(), blender::ed::sculpt_paint::boundary::calc_smooth_mesh(), blender::ed::sculpt_paint::filter::calc_surface_smooth_filter(), blender::ed::sculpt_paint::boundary::calc_twist_bmesh(), blender::ed::sculpt_paint::boundary::calc_twist_grids(), blender::ed::sculpt_paint::boundary::calc_twist_mesh(), blender::geometry::copy_and_reorder_curves(), blender::geometry::copy_and_reorder_mesh_faces(), blender::geometry::curve_simplify(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_bmesh(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_grids(), blender::ed::sculpt_paint::mask::decrease_contrast_mask_mesh(), blender::deform_drawing_as_envelope(), blender::ed::sculpt_paint::color::do_paint_brush_task(), blender::ed::sculpt_paint::face_set::face_hide_update(), blender::ed::sculpt_paint::face_set::face_sets_update(), blender::draw::grease_pencil_edit_batch_ensure(), blender::ed::sculpt_paint::mask::increase_contrast_mask_bmesh(), blender::ed::sculpt_paint::mask::increase_contrast_mask_grids(), blender::ed::sculpt_paint::mask::increase_contrast_mask_mesh(), blender::ed::sculpt_paint::filter::mesh_filter_sharpen_init(), blender::geometry::reorder_and_flip_curves(), blender::geometry::resample_to_uniform(), and blender::ed::sculpt_paint::color::sculpt_color_presmooth_init().
|
inlineconstexpr |
Definition at line 544 of file BLI_span.hh.
Referenced by BKE_animsys_nla_remap_keyframe_values(), BKE_mesh_legacy_uv_seam_from_flags(), blender::offset_indices::build_reverse_offsets(), blender::nodes::node_geo_field_average_cc::calculate_median(), blender::index_mask::consolidate_index_mask_segments(), contains_ptr(), blender::index_mask::evaluated_segments_to_index_mask(), blender::array_utils::fill_index_range(), blender::nodes::node_geo_scale_elements_cc::from_indices_large_groups(), blender::io::obj::OBJMesh::get_face_deform_group_index(), blender::nodes::socket_usage_inference::infer_group_interface_inputs_usage(), blender::ed::transform::make_sorted_index_map(), blender::bke::mesh_custom_normals_to_legacy(), blender::bke::mesh_sculpt_mask_to_legacy(), rend(), blender::geometry::resample_to_count(), blender::draw::command::DrawMulti::serialize(), blender::index_mask::sort_course_boundaries(), blender::index_mask::sort_course_boundaries(), and sort_readers().
|
inlineconstexpr |
Returns a new span to the same underlying memory buffer. No conversions are done. The caller is responsible for making sure that the type cast is valid.
Definition at line 749 of file BLI_span.hh.
References BLI_assert, data_, MutableSpan(), size_, and T.
Referenced by blender::geometry::ngon::calc_corner_tris(), blender::geometry::quad::calc_corner_tris(), blender::draw::calc_edit_handles_ibo(), blender::nodes::node_fn_combine_matrix_cc::CombineMatrixFunction::call(), blender::LinearAllocator< Allocator >::construct_elements_and_pointer_array(), blender::io::hydra::copy_submesh(), blender::gpu::VertBuf::data(), blender::geometry::EvalDataBuffer::resize(), and blender::bke::mesh::vert_tris_from_corner_tris().
|
inlineconstexpr |
Does a linear search to see of the value is in the array. Returns true if it is, otherwise false.
Definition at line 715 of file BLI_span.hh.
Referenced by strip_loose_faces_corners(), and blender::tests::TEST().
|
inlineconstexpr |
|
inlineconstexpr |
Copy all values from another span into this span. This invokes undefined behavior when the destination contains uninitialized data and T is not trivially copy constructible. The size of both spans is expected to be the same.
Definition at line 739 of file BLI_span.hh.
References BLI_assert, blender::Span< T >::data(), data_, blender::initialized_copy_n(), blender::Span< T >::size(), and size_.
Referenced by blender::ed::curves::add_curves(), blender::geometry::add_curves_on_mesh(), blender::bke::add_orco_mesh(), blender::ed::curves::append_point_knots(), arrayModifier_doArray(), BKE_keyblock_convert_to_mesh(), BKE_mesh_calc_edges_tessface(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), BKE_mesh_nomain_to_meshkey(), BKE_mesh_orco_ensure(), BKE_mesh_wrapper_vert_coords_copy(), BKE_modifier_deform_verts(), C_BVHTree_FromObject(), blender::geometry::quad::calc_corner_tris(), blender::geometry::ngon::calc_edges(), blender::ed::sculpt_paint::filter::calc_inflate_filter(), blender::ed::sculpt_paint::filter::calc_random_filter(), blender::ed::sculpt_paint::filter::calc_scale_filter(), blender::bke::curves::nurbs::calculate_basis_for_point(), blender::bke::curves::nurbs::copy_custom_knots(), blender::geometry::copy_point_data_between_endpoints(), blender::ed::sculpt_paint::cloth::copy_positions_to_array(), blender::io::usd::copy_primvar_to_blender_buffer(), blender::geometry::copy_transformed_positions(), blender::geometry::create_curve_from_vert_indices(), blender::ed::curves::tests::create_curves(), blender::ed::greasepencil::create_drawing_data(), blender::create_envelope_strokes(), blender::geometry::create_result_ids(), blender::bke::curve_legacy_to_curves(), blender::bke::curves_copy_parameters(), deform_verts(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::geometry::execute_realize_curve_task(), blender::geometry::fit_poly_to_bezier_curves(), blender::ed::sculpt_paint::gather_data_grids(), blender::array_utils::gather_group_to_group(), gpu_select_next_set_result(), blender::io::usd::make_safe_name(), blender::bke::mesh_get_mapped_verts_coords(), blender::geometry::mix_arrays(), MOD_solidify_extrude_modifyMesh(), blender::ed::sculpt_paint::move_last_point_and_resample(), move_shapekey_layers_to_keyblocks(), blender::nodes::node_geo_boolean_cc::node_geo_exec(), pointcloud_copy_parameters(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_extension_sample(), blender::io::usd::USDBasisCurvesReader::read_curve_sample(), blender::io::alembic::AbcCurveReader::read_curves_sample(), blender::io::usd::USDPointInstancerReader::read_geometry(), blender::io::usd::USDPointsReader::read_geometry(), blender::ed::curves::resize_curves(), blender::geometry::reverse_samples(), blender::geometry::sample_interval_bezier(), blender::ed::sculpt_paint::scatter_data_grids(), selectbuffer_ret_hits_5(), selectbuffer_ret_hits_5(), selectbuffer_ret_hits_9(), blender::bke::calc_edges::serialize_and_initialize_deduplicated_edges(), blender::ed::sculpt_paint::mask::smooth_mask_bmesh(), blender::ed::sculpt_paint::mask::smooth_mask_grids(), blender::ed::sculpt_paint::mask::smooth_mask_mesh(), blender::geometry::curve_constraints::solve_length_and_collision_constraints(), blender::gpu::sort_input_list(), blender::tests::TEST(), blender::math::transform_normals(), and blender::io::hydra::CurvesData::write_curves().
|
inlineconstexpr |
Does a linear search to count how often the value is in the array. Returns the number of occurrences.
Definition at line 700 of file BLI_span.hh.
|
inlineconstexpr |
Returns a pointer to the beginning of the referenced array. This may be nullptr, when the size is zero.
Definition at line 539 of file BLI_span.hh.
Referenced by blender::bke::calc_edges::add_existing_edges_to_hash_maps(), blender::bke::calc_edges::add_face_edges_to_hash_maps(), blender::ed::object::armature_coords_and_quats_get(), BKE_armature_deform_coords_with_curves(), BKE_keyblock_data_get_from_shape(), BKE_mesh_is_valid(), BKE_mesh_runtime_is_valid(), BKE_mesh_validate(), BKE_object_data_transfer_ex(), blender::draw::build_poly_other_map_vbo(), blender::geometry::ngon::calc_corner_tris(), blender::ed::curves::compress_intervals(), blender::LinearAllocator< Allocator >::construct_array_copy(), blender::io::obj::copy_property_from_node(), correctivesmooth_modifier_do(), deform_matrices(), deform_matrices_EM(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts_EM(), deform_verts_EM(), deform_verts_EM(), displaceModifier_do(), blender::ed::object::edit_armature_coords_and_quats_get(), blender::index_mask::evaluate_exact_with_indices(), blender::draw::extract_attr_viewer(), blender::draw::extract_edge_factor(), blender::draw::extract_edit_data(), blender::draw::extract_edit_data_subdiv(), blender::draw::extract_edituv_data(), blender::draw::extract_edituv_data_subdiv(), blender::draw::extract_edituv_stretch_angle(), blender::draw::extract_edituv_stretch_area(), blender::draw::extract_face_dot_normals(), blender::draw::extract_face_dots_edituv_data(), blender::draw::extract_face_dots_position(), blender::draw::extract_face_dots_uv(), blender::draw::extract_face_index_subdiv(), blender::draw::extract_mesh_analysis(), blender::draw::extract_normals(), blender::draw::extract_orco(), blender::draw::extract_positions(), blender::draw::extract_sculpt_data(), blender::draw::extract_uv_maps(), blender::draw::extract_vert_index_subdiv(), blender::draw::extract_vert_normals(), blender::draw::extract_weights(), blender::draw::pbvh::fill_face_sets_grids(), blender::draw::pbvh::fill_masks_grids(), blender::draw::pbvh::fill_normals_grids(), blender::draw::pbvh::fill_positions_grids(), blender::nodes::node_fn_format_string_cc::format_strings(), blender::index_mask::IndexMask::from_segments(), blender::opensubdiv::EvalOutputAPI::getPatchMap(), blender::io::usd::make_safe_name(), blender::VArrayCommon< T >::materialize(), blender::VArrayCommon< T >::materialize_compressed(), blender::VArrayCommon< T >::materialize_compressed_to_uninitialized(), blender::VArrayCommon< T >::materialize_to_uninitialized(), mathutils_array_parse_alloc_viseq(), blender::bke::mesh_get_mapped_verts_coords(), mesh_strip_edges(), blender::ed::object::metaball_coords_and_quats_get(), modify_mesh(), MutableSpan(), MutableSpan(), MutableSpan(), normalEditModifier_do_directional(), normalEditModifier_do_radial(), blender::ed::sculpt_paint::PositionDeformData::PositionDeformData(), blender::ed::sculpt_paint::undo::restore_position_from_undo_step(), blender::bke::calc_edges::serialize_and_initialize_deduplicated_edges(), blender::index_mask::IndexMask::shift(), shrinkwrapParams_deform(), blender::gpu::sort_input_list(), blender::draw::statvis_calc_thickness(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::index_mask::IndexMask::to_indices(), blender::ed::curves::convert_to_particle_system::try_convert_single_object(), blender::draw::pbvh::update_face_sets_bmesh(), blender::draw::pbvh::update_face_sets_mesh(), blender::draw::pbvh::update_masks_bmesh(), blender::draw::pbvh::update_masks_mesh(), blender::draw::pbvh::update_normals_bmesh(), blender::draw::pbvh::update_normals_mesh(), blender::draw::pbvh::update_positions_bmesh(), blender::bke::greasepencil::update_triangle_cache(), blender::opensubdiv::GPUVertexBuffer::UpdateData(), and version_nodes_insert_item().
|
inlineconstexpr |
Returns a new MutableSpan with n elements removed from the end. This invokes undefined behavior when n is negative.
Definition at line 618 of file BLI_span.hh.
References BLI_assert, data_, MutableSpan(), and size_.
Referenced by blender::ed::curves::add_curves(), blender::bke::build_offsets(), blender::geometry::calc_face_offsets(), blender::geometry::calculate_result_offsets(), blender::geometry::calculate_result_offsets(), blender::geometry::calculate_sphere_faces(), blender::geometry::create_cylinder_or_cone_mesh(), blender::ed::greasepencil::extrude_grease_pencil_curves(), blender::nodes::node_geo_interpolate_curves_cc::generate_interpolated_curves(), blender::ed::sculpt_paint::greasepencil::morph_points_to_curve(), blender::ed::sculpt_paint::move_last_point_and_resample(), blender::geometry::remove_points_and_split(), blender::geometry::resample_to_count(), and blender::geometry::resample_to_uniform().
|
inlineconstexpr |
Returns a new MutableSpan with n elements removed from the beginning. This invokes undefined behavior when n is negative.
Definition at line 607 of file BLI_span.hh.
References BLI_assert, data_, MutableSpan(), and size_.
Referenced by blender::geometry::calculate_sphere_faces(), blender::nodes::node_geo_curve_spline_parameter_cc::convert_lengths_to_factors(), blender::ed::curves::duplicate_curves(), blender::geometry::mesh_triangulate(), MOD_solidify_extrude_modifyMesh(), blender::tests::TEST(), blender::opensubdiv::GPUVertexBuffer::UpdateData(), and version_nodes_insert_item().
|
inlineconstexpr |
Definition at line 548 of file BLI_span.hh.
References data_, size_, and T.
Referenced by BKE_animsys_nla_remap_keyframe_values(), BKE_mesh_legacy_uv_seam_from_flags(), blender::offset_indices::build_reverse_offsets(), blender::nodes::node_geo_field_average_cc::calculate_median(), blender::index_mask::consolidate_index_mask_segments(), contains_ptr(), blender::index_mask::evaluated_segments_to_index_mask(), blender::array_utils::fill_index_range(), blender::nodes::node_geo_scale_elements_cc::from_indices_large_groups(), blender::io::obj::OBJMesh::get_face_deform_group_index(), blender::nodes::socket_usage_inference::infer_group_interface_inputs_usage(), blender::ed::transform::make_sorted_index_map(), blender::bke::mesh_custom_normals_to_legacy(), blender::bke::mesh_sculpt_mask_to_legacy(), rbegin(), blender::geometry::resample_to_count(), blender::draw::command::DrawMulti::serialize(), blender::index_mask::sort_course_boundaries(), blender::index_mask::sort_course_boundaries(), and sort_readers().
|
inlineconstexpr |
Replace all elements in the referenced array with the given value.
Definition at line 517 of file BLI_span.hh.
References data_, blender::initialized_fill_n(), size_, and T.
Referenced by blender::bke::adapt_curve_domain_curve_to_point_impl(), blender::bke::adapt_curve_domain_point_to_curve_impl(), blender::bke::adapt_mesh_domain_corner_to_edge_impl(), blender::bke::adapt_mesh_domain_corner_to_point_impl(), blender::bke::adapt_mesh_domain_edge_to_corner_impl(), blender::bke::adapt_mesh_domain_edge_to_point_impl(), blender::bke::adapt_mesh_domain_face_to_edge_impl(), blender::ed::sculpt_paint::cloth::apply_filter_forces_bmesh(), blender::ed::sculpt_paint::cloth::apply_filter_forces_grids(), blender::ed::sculpt_paint::cloth::apply_filter_forces_mesh(), blender::ed::sculpt_paint::mask::apply_mask_bmesh(), blender::ed::sculpt_paint::mask::apply_mask_grids(), blender::ed::sculpt_paint::mask::apply_mask_mesh(), blender::index_mask::build_reverse_map(), blender::ed::sculpt_paint::pose::calc_bmesh(), blender::nodes::node_geo_dual_mesh_cc::calc_boundaries(), blender::ed::sculpt_paint::pose::calc_grids(), blender::ed::sculpt_paint::pose::calc_mesh(), blender::geometry::calc_position_with_interpolation(), blender::geometry::quad::calc_quad_directions(), blender::geometry::calc_radius_with_interpolation(), blender::geometry::calc_radius_without_interpolation(), blender::geometry::calculate_cone_faces(), blender::geometry::calculate_sphere_faces(), blender::bke::curves::poly::calculate_tangents(), blender::ed::greasepencil::control_point_colors_and_sizes(), blender::bke::copy_main_point_data_to_mesh_edges(), blender::bke::copy_main_point_data_to_mesh_faces(), blender::bke::copy_main_point_data_to_mesh_verts(), blender::io::usd::copy_primvar_to_blender_buffer(), blender::bke::copy_profile_point_data_to_mesh_edges(), blender::geometry::create_curve_from_vert_indices(), blender::create_envelope_strokes_for_curve(), blender::ed::sculpt_paint::face_set::create_op_exec(), blender::geometry::create_result_ids(), blender::bke::tests::GreasePencilInterpolate::create_test_shape(), blender::nodes::node_geo_points_to_curves_cc::curves_from_points(), blender::geometry::execute_realize_curve_task(), blender::geometry::extend_curves(), blender::draw::extract_edge_factor(), blender::draw::extract_lines_loose_geom_subdiv(), blender::draw::extract_normals(), blender::draw::extract_sculpt_data_subdiv(), blender::draw::extract_weights(), blender::draw::extract_weights_bm(), blender::draw::extract_weights_mesh(), blender::ed::greasepencil::extrude_grease_pencil_curves(), blender::geometry::fill_bezier_data(), blender::ed::sculpt_paint::fill_factor_from_hide(), blender::ed::sculpt_paint::fill_factor_from_hide(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::mask::fill_mask_grids(), blender::ed::greasepencil::find_curve_intersections(), blender::ed::sculpt_paint::greasepencil::find_curve_mapping_from_index(), blender::geometry::fit_poly_to_bezier_curves(), blender::ed::sculpt_paint::mask::gather_mask_grids(), blender::array_utils::gather_to_groups(), blender::nodes::node_geo_sample_nearest_cc::get_closest_pointcloud_points(), blender::io::obj::OBJMesh::get_face_deform_group_index(), blender::nodes::get_geometry_nodes_input_base_values(), blender::bke::get_mutable_attribute(), blender::bke::greasepencil::get_mutable_attribute(), get_mutable_attribute(), blender::nodes::socket_usage_inference::infer_group_interface_inputs_usage(), blender::geometry::join_curves_ranges(), layerDefault_propfloat4x4(), layerDefault_propquaternion(), blender::bke::mark_bezier_vector_edges_sharp(), blender::geometry::merge_groups_create(), blender::ed::object::mesh_data_to_grease_pencil(), blender::bke::mesh_get_mapped_verts_coords(), blender::geometry::mesh_triangulate(), blender::ed::greasepencil::primitive_calulate_curve_positions(), blender::geometry::ramer_douglas_peucker(), blender::ed::greasepencil::ramer_douglas_peucker_simplify(), blender::io::usd::USDBasisCurvesReader::read_curve_sample(), blender::io::alembic::AbcPointsReader::read_geometry(), blender::io::usd::USDPointsReader::read_geometry(), blender::geometry::sample_curve_padded(), blender::geometry::sample_curve_uniform(), blender::nodes::node_geo_curve_handle_type_selection_cc::select_by_handle_type(), blender::ed::sculpt_paint::select_random::select_random_exec(), blender::geometry::subdivide_bezier_segment(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), and blender::index_mask::IndexMask::to_bools().
|
inlineconstexpr |
Replace a subset of all elements with the given value. This invokes undefined behavior when one of the indices is out of bounds.
Definition at line 526 of file BLI_span.hh.
References BLI_assert, data_, i, indices, size_, and T.
Referenced by blender::geometry::fit_poly_to_bezier_curves(), blender::bke::mesh::mesh_normals_corner_custom_set(), blender::ed::sculpt_paint::undo::restore_color(), blender::ed::sculpt_paint::undo::restore_mask_grids(), blender::ed::sculpt_paint::undo::restore_position_grids(), blender::ed::sculpt_paint::undo::restore_vert_visibility_grids(), and blender::tests::TEST().
|
inlineconstexpr |
Return a reference to the first element in the array. This invokes undefined behavior when the array is empty.
Definition at line 679 of file BLI_span.hh.
References BLI_assert, data_, size_, and T.
Referenced by blender::ed::greasepencil::add_single_curve(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), blender::ed::greasepencil::build_curves_2d_bvh_from_visible(), blender::ed::curves::calc_curves_extrusion(), blender::geometry::calc_face_offsets(), blender::ed::curves::calc_new_offsets(), blender::geometry::calculate_angles(), blender::bke::curves::bezier::calculate_auto_handles(), blender::geometry::calculate_cone_faces(), blender::bke::curves::bezier::calculate_evaluated_offsets(), blender::bke::curves::bezier::calculate_evaluated_positions(), blender::geometry::calculate_result_offsets(), blender::geometry::calculate_result_offsets(), blender::geometry::calculate_sphere_vertex_data(), blender::bke::curves::poly::calculate_tangents(), blender::geometry::catmull_rom_to_bezier_handles(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::create_bezier_segment_curve(), blender::nodes::node_geo_mesh_primitive_circle_cc::create_circle_mesh(), blender::bke::curves::catmull_rom::evaluate_segment(), blender::bke::get_mutable_attribute(), blender::bke::greasepencil::get_mutable_attribute(), get_mutable_attribute(), blender::draw::grease_pencil_geom_batch_ensure(), blender::bke::curves::bezier::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::geometry::limit_radii(), blender::bke::curves::bezier::linear_interpolation(), blender::geometry::linear_interpolation(), blender::geometry::nurbs_to_bezier_assign(), blender::geometry::sample_curve_padded(), blender::bke::tests::TEST(), and blender::bke::tests::TEST().
|
inlineconstexpr |
Utility to make it more convenient to iterate over all indices that can be used with this array.
Definition at line 670 of file BLI_span.hh.
References size_.
Referenced by blender::offset_indices::accumulate_counts_to_offsets(), blender::offset_indices::accumulate_counts_to_offsets_with_overflow_check(), blender::ed::sculpt_paint::pose::add_arrays(), blender::ed::sculpt_paint::apply_hardness_to_distances(), blender::ed::object::apply_objects_internal(), blender::ed::sculpt_paint::apply_translations(), blender::bke::greasepencil::assign_to_vertex_group(), blender::ed::greasepencil::bake_grease_pencil_animation_exec(), BKE_mesh_legacy_uv_seam_from_flags(), BKE_mesh_material_index_remove(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), BKE_mesh_orco_verts_transform(), blender::nodes::node_geo_blur_attribute_cc::blur_on_mesh_exec(), blender::bm_to_mesh_edges(), blender::bm_to_mesh_loops(), blender::bm_to_mesh_verts(), blender::bke::build_offsets(), blender::nodes::node_geo_blur_attribute_cc::build_vert_to_vert_by_edge_map(), blender::ed::sculpt_paint::calc_front_face(), blender::ed::sculpt_paint::cloth::calc_gravity_forces(), blender::ed::sculpt_paint::cloth::calc_pinch_forces(), blender::bke::compare_geometry::calc_smallest_corner_ids(), blender::geometry::calc_straight_curve_positions(), blender::nodes::node_geo_field_average_cc::calculate_median(), compute_masked_verts(), blender::nodes::node_geo_interpolate_curves_cc::compute_point_counts_per_child(), compute_vertex_mask__armature_mode(), compute_vertex_mask__vertex_group_mode(), blender::index_mask::consolidate_index_mask_segments(), blender::ed::greasepencil::control_point_colors_and_sizes(), blender::nodes::node_geo_curve_spline_parameter_cc::convert_lengths_to_factors(), blender::bke::curves::nurbs::copy_custom_knots(), blender::geometry::copy_generic_attributes_to_result(), blender::io::usd::copy_primvar_to_blender_buffer(), blender::nodes::node_geo_extrude_mesh_cc::copy_with_mixing(), blender::nodes::node_geo_mesh_primitive_circle_cc::create_circle_mesh(), blender::geometry::create_nurbs_to_bezier_positions(), blender::geometry::create_result_ids(), blender::bke::tests::GreasePencilInterpolate::create_test_shape(), blender::ed::transform::curves::createTransCurvesVerts(), blender::ed::transform::greasepencil::createTransGreasePencilVerts(), blender::ed::transform::pointcloud::createTransPointCloudVerts(), blender::bke::bake::deserialize_typed_array(), blender::ed::greasepencil::dilate(), blender::ed::sculpt_paint::color::do_color_smooth_task(), do_pose_tag_select_op_exec(), blender::bke::compare_geometry::edges_from_vert_sets(), blender::ed::greasepencil::erode(), blender::bke::curves::catmull_rom::evaluate_segment(), blender::geometry::extend_curves(), blender::ed::curves::extrude_knots(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_edges(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::boundary::filter_uninitialized_verts(), blender::bke::find_nearest_corners(), blender::bke::find_nearest_edges(), blender::bke::find_nearest_tris_parallel(), blender::ed::greasepencil::flood_fill(), blender::draw::pbvh::free_batches(), blender::draw::pbvh::free_ibos(), blender::draw::pbvh::free_vbos(), blender::index_mask::IndexMask::from_groups(), blender::geometry::gaussian_blur_1D(), blender::generate_curves(), get_quick_mesh(), blender::nodes::node_geo_points_to_curves_cc::identifiers_to_indices(), blender::length_parameterize::interpolate(), blender::geometry::interpolate_from_neighbor_curves(), blender::ed::sculpt_paint::greasepencil::PaintOperation::interpolate_stroke_depth(), blender::bke::curves::nurbs::interpolate_to_evaluated(), blender::bke::curves::nurbs::interpolate_to_evaluated_rational(), blender::array_utils::invert_booleans(), blender::geometry::join_curves_ranges(), blender::bke::curves::bezier::linear_interpolation(), blender::ed::sculpt_paint::greasepencil::linear_interpolation(), blender::geometry::linear_interpolation(), blender::ed::object::mesh_data_to_grease_pencil(), mesh_strip_edges(), blender::geometry::mix(), blender::geometry::mix_arrays(), blender::ed::sculpt_paint::mask::mix_new_masks(), blender::ed::sculpt_paint::mask::mix_new_masks(), blender::geometry::mix_with_indices(), normalEditModifier_do_directional(), normalEditModifier_do_radial(), blender::geometry::nurbs_to_bezier_assign(), blender::nodes::node_geo_sort_elements_cc::parallel_transform(), blender::draw::pointcloud_extract_position_and_radius(), blender::ed::greasepencil::primitive_calulate_curve_positions(), blender::ed::curves::primitive_random_sphere(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_extension_sample(), blender::ed::sculpt_paint::greasepencil::process_stroke_weights(), blender::ed::sculpt_paint::project_translations(), blender::bke::remove_defgroup_index(), blender::bke::greasepencil::remove_from_vertex_group(), blender::nodes::node_geo_material_replace_cc::replace_materials(), blender::ed::sculpt_paint::reset_translations_to_original(), blender::geometry::reverse_samples(), blender::bke::rotate_directions_around_axes(), blender::ed::sculpt_paint::scale_factors(), blender::geometry::scale_input_assign(), blender::ed::sculpt_paint::scale_translations(), blender::ed::sculpt_paint::scale_translations(), blender::ed::sculpt_paint::select_random::select_random_exec(), blender::ed::curves::selection_attribute_writer_by_name(), blender::ed::sculpt_paint::pose::solve_ik_chain(), blender::ed::sculpt_paint::pose::solve_roll_chain(), blender::ed::transform::sort_time_beztmaps(), blender::nodes::node_geo_dual_mesh_cc::sort_vertex_faces(), blender::geometry::transform_curve_edit_hints(), blender::geometry::transform_grease_pencil_edit_hints(), blender::geometry::transform_instances(), blender::bke::transform_positions(), blender::ed::object::transform_positions(), blender::ed::sculpt_paint::transform_positions(), blender::geometry::transform_positions(), blender::geometry::transform_positions(), blender::geometry::translate_instances(), blender::bke::translate_positions(), blender::ed::object::translate_positions(), blender::geometry::translate_positions(), blender::ed::curves::convert_to_particle_system::try_convert_single_object(), blender::geometry::weld_vert_ctx_alloc_and_setup(), and blender::ed::sculpt_paint::filter::zero_disabled_axis_components().
|
inlineconstexpr |
Returns true if the size is zero.
Definition at line 509 of file BLI_span.hh.
References size_.
Referenced by blender::bke::add_orco_mesh(), animviz_calc_motionpaths(), BKE_mesh_prefair_and_fair_verts(), bm_mesh_verts_calc_normals(), blender::bm_to_mesh_edges(), blender::bm_to_mesh_faces(), blender::bm_to_mesh_verts(), blender::ed::sculpt_paint::pose::calc_pose_data(), blender::ed::sculpt_paint::pose::calc_pose_origin_and_factor_bmesh(), blender::ed::sculpt_paint::pose::calc_pose_origin_and_factor_grids(), blender::ed::sculpt_paint::pose::calc_pose_origin_and_factor_mesh(), blender::nodes::node_geo_curve_sample_cc::SampleCurveFunction::call(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiMetricFunction::call(), blender::nodes::node_shader_tex_white_noise_cc::WhiteNoiseFunction::call(), blender::index_mask::consolidate_index_mask_segments(), blender::nodes::node_fn_separate_matrix_cc::copy_with_stride(), deform_verts(), blender::ed::sculpt_paint::brushes::do_layer_brush(), blender::index_mask::evaluated_segments_to_index_mask(), blender::geometry::execute_realize_pointcloud_task(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::nodes::get_closest_in_bvhtree(), blender::nodes::node_geo_sample_nearest_cc::get_closest_mesh_corners(), blender::nodes::node_geo_sample_nearest_cc::get_closest_pointcloud_points(), blender::io::fbx::import_faces(), mesh_merge_transform(), MeshFairingContext::MeshFairingContext(), blender::modify_geometry_set(), blender::nodes::node_geo_deform_curves_on_surface_cc::node_geo_exec(), normalEditModifier_do_directional(), normalEditModifier_do_radial(), blender::ed::sculpt_paint::orig_position_data_gather_bmesh(), blender::nodes::node_geo_raycast_cc::raycast_to_mesh(), blender::gpu::sort_input_list(), blender::nodes::node_geo_dual_mesh_cc::sort_vertex_faces(), blender::tests::TEST(), blender::tests::TEST(), blender::bke::compare_geometry::update_set_ids(), blender::bke::compare_geometry::update_set_ids_with_id_maps(), blender::ed::object::vgroup_parray_alloc(), and vpaint_blend_stroke().
|
inlineconstexpr |
Returns a reference to the nth last element. This invokes undefined behavior when the span is too short.
Definition at line 689 of file BLI_span.hh.
References BLI_assert, data_, size_, and T.
Referenced by blender::offset_indices::accumulate_counts_to_offsets(), blender::offset_indices::accumulate_counts_to_offsets_with_overflow_check(), blender::length_parameterize::accumulate_lengths(), blender::ed::sculpt_paint::pose::add_fake_neighbors(), blender::geometry::assign_samples_to_segments(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), blender::ed::greasepencil::build_curves_2d_bvh_from_visible(), blender::bke::build_offsets(), blender::ed::curves::calc_curves_extrusion(), blender::geometry::calc_face_offsets(), blender::bke::curves::bezier::calculate_auto_handles(), blender::geometry::calculate_directions(), blender::bke::curves::bezier::calculate_evaluated_offsets(), blender::bke::curves::bezier::calculate_evaluated_positions(), blender::geometry::calculate_result_offsets(), blender::geometry::calculate_result_offsets(), blender::geometry::calculate_sphere_vertex_data(), blender::bke::curves::poly::calculate_tangents(), blender::geometry::catmull_rom_to_bezier_handles(), blender::index_mask::consolidate_index_mask_segments(), blender::ed::greasepencil::control_point_colors_and_sizes(), blender::geometry::convert_curves_to_bezier(), blender::geometry::convert_curves_to_catmull_rom_or_poly(), blender::geometry::convert_curves_to_nurbs(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::create_bezier_segment_curve(), blender::nodes::node_geo_mesh_primitive_circle_cc::create_circle_mesh(), blender::bke::curve_legacy_to_curves(), blender::string_search::damerau_levenshtein_distance(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_curves_CurveGeometry(), blender::geometry::extend_curves(), blender::draw::extract_curve_lines(), blender::geometry::extract_mesh_faces(), blender::ed::curves::extrude_curves(), blender::geometry::gather_selected_offsets(), blender::offset_indices::gather_selected_offsets(), blender::nodes::node_geo_interpolate_curves_cc::generate_interpolated_curves(), blender::draw::grease_pencil_geom_batch_ensure(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::geometry::limit_radii(), blender::geometry::merge_groups_create(), blender::ed::sculpt_paint::greasepencil::morph_points_to_curve(), blender::ed::sculpt_paint::move_last_point_and_resample(), blender::geometry::nurbs_to_bezier_assign(), blender::ed::greasepencil::primitive_calulate_curve_positions(), blender::geometry::resample_to_count(), blender::geometry::resample_to_evaluated(), blender::geometry::resample_to_length(), blender::geometry::resample_to_uniform(), blender::ed::greasepencil::resize_single_curve(), blender::bke::reverse_custom_knots(), blender::geometry::sample_curve_padded(), blender::ed::sculpt_paint::pose::solve_ik_chain(), blender::nodes::node_geo_dual_mesh_cc::sort_vertex_faces(), blender::bke::tests::TEST(), and blender::bke::tests::TEST().
|
inlineconstexpr |
Definition at line 479 of file BLI_span.hh.
|
inlineconstexpr |
Definition at line 485 of file BLI_span.hh.
|
inlineconstexpr |
Definition at line 562 of file BLI_span.hh.
References BLI_assert, data_, size_, and T.
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 557 of file BLI_span.hh.
References begin().
Referenced by blender::tests::TEST().
|
inlineconstexpr |
Reverse the data in the MutableSpan.
Definition at line 650 of file BLI_span.hh.
References data_, i, and size_.
Referenced by faces_check_flip(), blender::bke::reverse_custom_knots(), and blender::tests::TEST().
|
inlineconstexpr |
Returns the number of elements in the array.
Definition at line 493 of file BLI_span.hh.
References size_.
Referenced by blender::length_parameterize::accumulate_lengths(), blender::bke::adapt_mesh_domain_corner_to_edge_impl(), blender::bke::adapt_mesh_domain_corner_to_edge_impl(), blender::bke::adapt_mesh_domain_corner_to_point_impl(), blender::bke::adapt_mesh_domain_corner_to_point_impl(), blender::bke::adapt_mesh_domain_edge_to_corner_impl(), blender::bke::adapt_mesh_domain_edge_to_corner_impl(), blender::bke::adapt_mesh_domain_edge_to_point_impl(), blender::bke::adapt_mesh_domain_edge_to_point_impl(), blender::bke::adapt_mesh_domain_face_to_corner_impl(), blender::bke::adapt_mesh_domain_face_to_edge_impl(), blender::bke::adapt_mesh_domain_face_to_edge_impl(), blender::bke::adapt_mesh_domain_face_to_point_impl(), blender::bke::adapt_mesh_domain_face_to_point_impl(), blender::ed::sculpt_paint::pose::add_arrays(), add_interp_verts_copy_edges_to_new_mesh(), blender::ed::sculpt_paint::apply_crazyspace_to_translations(), blender::ed::sculpt_paint::project::apply_projection_grids(), blender::geometry::assign_samples_to_segments(), blender::ed::sculpt_paint::smooth::average_data_grids(), BKE_animsys_nla_remap_keyframe_values(), BKE_armature_deform_coords_with_curves(), BKE_brush_calc_curve_factors(), BKE_mesh_is_valid(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), BKE_mesh_runtime_is_valid(), BKE_mesh_validate(), BKE_modifier_deform_verts(), blender::index_mask::build_reverse_map(), blender::ed::sculpt_paint::calc_area_normal_and_center_node_bmesh(), blender::ed::sculpt_paint::boundary::calc_average_position(), blender::ed::sculpt_paint::boundary::calc_average_position(), blender::ed::sculpt_paint::boundary::calc_bend_position(), blender::nodes::node_geo_dual_mesh_cc::calc_boundaries(), blender::ed::sculpt_paint::calc_brush_cube_distances(), blender::ed::sculpt_paint::calc_brush_distances_squared(), blender::ed::sculpt_paint::calc_brush_distances_squared(), blender::ed::sculpt_paint::cloth::calc_brush_simulation_falloff(), blender::ed::sculpt_paint::calc_brush_texture_factors(), blender::ed::sculpt_paint::calc_brush_texture_factors(), blender::ed::sculpt_paint::brushes::calc_distances(), blender::ed::sculpt_paint::cloth::calc_forces_grids(), blender::ed::sculpt_paint::calc_front_face(), blender::ed::sculpt_paint::calc_front_face(), blender::ed::sculpt_paint::calc_front_face(), blender::ed::sculpt_paint::calc_front_face(), blender::ed::sculpt_paint::calc_front_face(), blender::ed::sculpt_paint::boundary::calc_grab_position(), blender::ed::sculpt_paint::brushes::calc_grids(), blender::ed::sculpt_paint::boundary::calc_inflate_position(), blender::bke::mesh::calc_local_edge_indices(), blender::geometry::calc_new_edges(), blender::geometry::deduplication::calc_new_edges(), blender::ed::sculpt_paint::smooth::calc_relaxed_translations_bmesh(), blender::ed::sculpt_paint::smooth::calc_relaxed_translations_faces(), blender::ed::sculpt_paint::pose::calc_segment_translations(), blender::ed::sculpt_paint::boundary::calc_slide_position(), blender::ed::sculpt_paint::boundary::calc_smooth_position(), blender::geometry::calc_straight_curve_positions(), blender::ed::sculpt_paint::boundary::calc_twist_position(), blender::bke::curves::bezier::calculate_evaluated_offsets(), blender::bke::curves::bezier::calculate_evaluated_positions(), blender::bke::curves::nurbs::calculate_knots(), blender::nodes::node_geo_field_average_cc::calculate_median(), blender::bke::curves::poly::calculate_tangents(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::ed::sculpt_paint::clip_and_lock_translations(), blender::geometry::compute_curve_trim_parameters(), compute_masked_verts(), blender::geometry::curve_constraints::compute_segment_lengths(), blender::gpu::MTLShader::compute_shader_from_glsl(), computed_masked_edges(), computed_masked_edges_smooth(), blender::index_mask::consolidate_index_mask_segments(), blender::gpu::convert(), blender::nodes::node_geo_curve_spline_parameter_cc::convert_lengths_to_factors(), blender::array_utils::copy(), blender::array_utils::copy(), blender::array_utils::copy(), blender::bke::greasepencil::copy_drawing_array(), blender::ed::sculpt_paint::mask::copy_old_hidden_mask_mesh(), blender::io::usd::copy_primvar_to_blender_buffer(), blender::io::obj::copy_property_from_node(), correctivesmooth_modifier_do(), blender::nodes::node_geo_mesh_primitive_circle_cc::create_circle_mesh(), blender::create_envelope_stroke_for_point(), blender::create_envelope_strokes_for_curve(), blender::bke::tests::GreasePencilInterpolate::create_test_shape(), cuboid_do(), blender::ed::transform::curves::curve_connected_point_distances(), blender::ed::transform::curves::cyclic_curve_connected_point_distances(), deform_matrices(), deform_matrices(), deform_matrices_EM(), deform_matrices_EM(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts(), deform_verts_EM(), deform_verts_EM(), deform_verts_EM(), deformVerts_do(), blender::bke::bake::deserialize_typed_array(), blender::ed::space_node::determine_visible_panels(), displaceModifier_do(), blender::nodes::node_geo_dual_mesh_cc::dissolve_redundant_verts(), blender::ed::sculpt_paint::brushes::do_displacement_smear_brush(), blender::ed::sculpt_paint::brushes::do_layer_brush(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_faces(), blender::bke::mesh::edges_sharp_from_angle_set(), blender::ed::sculpt_paint::elastic_transform_node_grids(), blender::bke::curves::catmull_rom::evaluate_segment(), blender::index_mask::evaluated_segments_to_index_mask(), blender::geometry::extend_curves(), blender::ed::sculpt_paint::fill_factor_from_hide(), blender::ed::sculpt_paint::fill_factor_from_hide(), blender::ed::sculpt_paint::fill_factor_from_hide(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::nodes::node_geo_curve_to_points_cc::fill_rotation_attribute(), filter_factors_with_selection(), filter_factors_with_selection(), blender::ed::sculpt_paint::brushes::filter_plane_side_factors(), blender::ed::sculpt_paint::filter_region_clip_factors(), blender::ed::sculpt_paint::filter_region_clip_factors(), blender::ed::sculpt_paint::boundary::filter_uninitialized_verts(), blender::ed::sculpt_paint::filter_verts_outside_symmetry_area(), blender::ed::sculpt_paint::face_set::filter_verts_with_unique_face_sets_bmesh(), blender::ed::sculpt_paint::face_set::filter_verts_with_unique_face_sets_grids(), blender::ed::sculpt_paint::face_set::filter_verts_with_unique_face_sets_mesh(), blender::nodes::node_geo_points_to_curves_cc::find_points_by_group_index(), blender::nodes::node_geo_sort_elements_cc::find_points_by_group_index(), blender::gpu::MTLShader::fragment_shader_from_glsl(), blender::index_mask::IndexMask::from_groups(), blender::array_utils::gather(), blender::array_utils::gather(), blender::array_utils::gather(), blender::array_utils::gather(), blender::ed::sculpt_paint::gather_bmesh_positions(), blender::ed::sculpt_paint::gather_data_bmesh(), blender::ed::sculpt_paint::gather_data_grids(), blender::ed::sculpt_paint::gather_data_mesh(), blender::ed::sculpt_paint::mask::gather_mask_bmesh(), blender::geometry::gaussian_blur_1D(), blender::RandomNumberGenerator::get_bytes(), blender::nodes::get_closest_in_bvhtree(), blender::nodes::node_geo_sample_nearest_cc::get_closest_pointcloud_points(), blender::io::obj::OBJMesh::get_face_deform_group_index(), blender::gpu::GLQueryPool::get_occlusion_result(), blender::io::fbx::import_blend_shape_full_weights(), blender::io::fbx::import_edges(), blender::io::fbx::import_faces(), blender::io::fbx::import_skin_vertex_groups(), blender::io::fbx::import_vertex_positions(), blender::geometry::interpolate_curves_with_samples(), blender::bke::curves::bezier::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::bke::curves::bezier::linear_interpolation(), blender::ed::sculpt_paint::greasepencil::linear_interpolation(), blender::geometry::linear_interpolation(), blender::io::usd::make_safe_name(), mathutils_array_parse_alloc_viseq(), blender::geometry::merge_groups_create(), blender::bke::mesh_get_mapped_verts_coords(), blender::ed::sculpt_paint::mask::mix_new_masks(), blender::ed::sculpt_paint::mask::mix_new_masks(), blender::ed::sculpt_paint::greasepencil::morph_points_to_curve(), blender::ed::sculpt_paint::move_last_point_and_resample(), MutableSpan(), MutableSpan(), MutableSpan(), blender::ed::sculpt_paint::smooth::neighbor_color_average(), blender::ed::sculpt_paint::smooth::neighbor_data_average_mesh(), blender::ed::sculpt_paint::smooth::neighbor_data_average_mesh_check_loose(), blender::ed::sculpt_paint::smooth::neighbor_position_average_bmesh(), blender::ed::sculpt_paint::smooth::neighbor_position_average_interior_bmesh_impl(), blender::ed::sculpt_paint::smooth::neighbor_position_average_interior_grids_impl(), blender::animrig::nla_map_keyframe_values_and_generate_reports(), normalEditModifier_do(), normalEditModifier_do_directional(), normalEditModifier_do_radial(), blender::bke::mesh::normals_calc_faces(), blender::geometry::pack_island_xatlas(), blender::io::csv::parse_records_chunk(), blender::ed::greasepencil::primitive_calulate_curve_positions(), blender::ed::sculpt_paint::filter::randomize_factors(), blender::io::alembic::AbcPointsReader::read_geometry(), blender::bke::calc_edges::reserve_hash_maps(), blender::ed::sculpt_paint::reset_translations_to_original(), blender::geometry::reverse_samples(), blender::length_parameterize::sample_at_lengths(), blender::geometry::sample_curve_padded(), blender::geometry::sample_curve_padded(), blender::geometry::ReverseUVSampler::sample_many(), blender::ed::sculpt_paint::brushes::sample_node_surface_grids(), blender::length_parameterize::sample_uniform(), blender::length_parameterize::sample_uniform_reverse(), blender::ed::sculpt_paint::scale_factors(), blender::array_utils::scatter(), shrinkwrapParams_deform(), blender::RandomNumberGenerator::shuffle(), slice(), slice_safe(), blender::geometry::smooth_curve_positions(), smooth_iter__length_weight(), smooth_iter__simple(), smooth_verts(), blender::ed::sculpt_paint::pose::solve_roll_chain(), blender::gpu::sort_input_list(), blender::bke::compare_geometry::sort_per_set_with_id_maps(), blender::ed::transform::sort_time_beztmaps(), blender::nodes::node_geo_dual_mesh_cc::sort_vertex_faces(), sphere_do(), blender::ed::sculpt_paint::smooth::surface_smooth_displace_step(), blender::ed::sculpt_paint::smooth::surface_smooth_laplacian_step(), blender::ed::sculpt_paint::undo::swap_indexed_data(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::nodes::node_geo_duplicate_elements_cc::threaded_id_offset_copy(), blender::index_mask::IndexMask::to_bools(), blender::index_mask::IndexMask::to_indices(), blender::ed::sculpt_paint::transform_positions(), transform_positions(), blender::ed::sculpt_paint::translations_from_offset_and_factors(), blender::ed::curves::convert_to_particle_system::try_convert_single_object(), blender::gpu::MTLShader::vertex_shader_from_glsl(), weight_paint_sample_mark_groups(), and blender::geometry::weld_vert_ctx_alloc_and_setup().
|
inlineconstexpr |
Returns the number of bytes referenced by this Span.
Definition at line 501 of file BLI_span.hh.
Referenced by correctivesmooth_modifier_do(), blender::geometry::create_grid_mesh(), blender::geometry::create_line_mesh(), blender::index_mask::evaluate_exact_with_indices(), blender::draw::extract_edituv_stretch_area(), blender::draw::extract_orco(), blender::draw::extract_positions_mesh(), blender::draw::extract_uv_maps(), blender::offset_indices::fill_constant_group_size(), and blender::offset_indices::gather_group_sizes().
|
inlineconstexpr |
Returns a contiguous part of the array. This invokes undefined behavior when the start or size is negative.
Definition at line 573 of file BLI_span.hh.
References BLI_assert, data_, MutableSpan(), size(), and size_.
Referenced by blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::active_jitter(), blender::bke::adapt_curve_domain_curve_to_point_impl(), blender::ed::curves::append_point_knots(), blender::ed::sculpt_paint::cloth::apply_filter_forces_grids(), blender::ed::sculpt_paint::apply_translations(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), blender::geometry::ngon::calc_corner_tris(), blender::geometry::quad::calc_corner_tris(), blender::geometry::quad::calc_corner_tris(), blender::geometry::ngon::calc_edges(), blender::geometry::quad::calc_edges(), blender::draw::calc_edit_handles_ibo(), blender::ed::sculpt_paint::calc_front_face(), blender::geometry::deduplication::calc_new_edges(), blender::geometry::calc_position_with_interpolation(), blender::geometry::calc_position_without_interpolation(), blender::geometry::calc_radius_with_interpolation(), blender::bke::curves::nurbs::calculate_basis_cache(), blender::bke::CurvesGeometry::calculate_bezier_auto_handles(), blender::geometry::calculate_cone_faces(), blender::bke::calculate_evaluated_offsets(), blender::bke::curves::bezier::calculate_evaluated_positions(), blender::geometry::calculate_result_offsets(), blender::geometry::calculate_result_offsets(), blender::bke::curves::poly::calculate_tangents(), blender::geometry::convert_curves_to_bezier(), blender::geometry::convert_curves_to_nurbs(), blender::bke::curves::nurbs::copy_custom_knots(), blender::bke::copy_main_point_data_to_mesh_edges(), blender::bke::copy_main_point_data_to_mesh_faces(), blender::bke::copy_main_point_data_to_mesh_verts(), blender::ed::sculpt_paint::mask::copy_old_hidden_mask_grids(), blender::geometry::copy_point_data_between_endpoints(), blender::bke::copy_profile_point_data_to_mesh_edges(), blender::nodes::node_geo_duplicate_elements_cc::copy_stable_id_curves(), blender::nodes::node_geo_extrude_mesh_cc::copy_with_mixing(), blender::ed::curves::tests::create_curves(), blender::create_envelope_strokes_for_curve(), blender::bke::tests::GreasePencilInterpolate::create_test_curves(), blender::bke::curve_legacy_to_curves(), blender::ed::transform::curves::curve_populate_trans_data_structs(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_curves_CurveGeometry(), blender::bke::CurvesGeometry::ensure_evaluated_lengths(), blender::bke::CurvesGeometry::evaluated_tangents(), blender::ed::sculpt_paint::ScaleCurvesEffect::execute(), blender::ed::sculpt_paint::ShrinkCurvesEffect::execute(), blender::geometry::execute_instances_tasks(), blender::geometry::execute_realize_curve_task(), blender::geometry::execute_realize_mesh_task(), blender::geometry::execute_realize_pointcloud_task(), blender::geometry::extend_curves(), blender::draw::extract_curve_lines(), blender::draw::extract_edge_idx_loose_geom_subdiv(), blender::draw::extract_edge_index_bm(), blender::draw::extract_edge_index_mesh(), blender::draw::extract_edit_data_bm(), blender::draw::extract_edit_data_mesh(), blender::draw::extract_edit_subdiv_data_bm(), blender::draw::extract_edit_subdiv_data_mesh(), blender::draw::extract_lines_loose_geom_subdiv(), blender::draw::extract_positions_bm(), blender::draw::extract_positions_mesh(), blender::draw::extract_vert_idx_loose_geom_subdiv(), blender::draw::extract_vert_index_bm(), blender::draw::extract_vert_index_mesh(), blender::draw::extract_vert_normals_bm(), blender::draw::extract_vert_normals_mesh(), blender::nodes::node_geo_extrude_mesh_cc::extrude_individual_mesh_faces(), blender::ed::curves::extrude_knots(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_edges(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_vertices(), faces_check_flip(), blender::geometry::fill_bezier_data(), blender::ed::sculpt_paint::fill_factor_from_hide_and_mask(), blender::ed::sculpt_paint::mask::fill_mask_grids(), blender::geometry::fillet_curves(), blender::geometry::fit_poly_to_bezier_curves(), blender::nodes::node_geo_scale_elements_cc::from_indices_large_groups(), blender::ed::sculpt_paint::gather_data_grids(), blender::array_utils::gather_group_to_group(), blender::array_utils::gather_group_to_group(), blender::array_utils::gather_to_groups(), blender::nodes::node_geo_extrude_mesh_cc::gather_vert_attributes(), blender::nodes::node_geo_extrude_mesh_cc::gather_vert_attributes(), blender::generate_curves(), blender::draw::grease_pencil_cache_add_nurbs(), blender::draw::grease_pencil_edit_batch_ensure(), blender::draw::grease_pencil_geom_batch_ensure(), blender::draw::grease_pencil_weight_batch_ensure(), blender::ed::sculpt_paint::mask::grow_mask_grids(), blender::ed::sculpt_paint::mask::init_mask_grids(), blender::ed::sculpt_paint::greasepencil::PaintOperation::interpolate_stroke_depth(), blender::bke::curves::bezier::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::ed::sculpt_paint::mask::invert_mask_grids(), blender::geometry::join_instances(), blender::ed::greasepencil::join_object_with_active(), blender::bke::greasepencil::convert::legacy_gpencil_frame_to_grease_pencil_drawing(), blender::bke::mark_bezier_vector_edges_sharp(), blender::geometry::mesh_triangulate(), MOD_solidify_extrude_modifyMesh(), blender::modify_curves(), blender::modify_drawing(), blender::ed::curves::primitive_random_sphere(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::process_extension_sample(), blender::ed::sculpt_paint::SnakeHookOperatorExecutor::projected_snake_hook(), blender::ed::sculpt_paint::PuffOperationExecutor::puff(), blender::geometry::ramer_douglas_peucker(), blender::ed::greasepencil::ramer_douglas_peucker_simplify(), blender::io::usd::USDBasisCurvesReader::read_curve_sample(), blender::io::alembic::AbcCurveReader::read_curves_sample(), blender::geometry::EvalDataBuffer::resize(), blender::ed::sculpt_paint::undo::restore_mask_grids(), blender::ed::sculpt_paint::undo::restore_position_grids(), blender::bke::reverse_swap_curve_point_data(), blender::geometry::sample_curve_padded(), blender::geometry::sample_interval_bezier(), blender::ed::sculpt_paint::scatter_data_grids(), blender::ed::transform::UVGroups::sd_group_get(), blender::ed::transform::UVGroups::sd_group_get(), blender::nodes::node_geo_curve_handle_type_selection_cc::select_by_handle_type(), blender::ed::sculpt_paint::select_random::select_random_exec(), selectbuffer_ret_hits_5(), selectbuffer_ret_hits_5(), selectbuffer_ret_hits_9(), blender::bke::calc_edges::serialize_and_initialize_deduplicated_edges(), blender::ed::sculpt_paint::mask::shrink_mask_grids(), slice(), blender::ed::sculpt_paint::SmoothOperationExecutor::smooth(), blender::geometry::curve_constraints::solve_length_and_collision_constraints(), blender::bke::compare_geometry::sort_per_set_based_on_attributes(), blender::bke::compare_geometry::sort_per_set_with_id_maps(), blender::ed::sculpt_paint::SnakeHookOperatorExecutor::spherical_snake_hook(), strip_loose_faces_corners(), blender::geometry::subdivide_attribute_linear(), blender::geometry::subdivide_bezier_segment(), blender::geometry::subdivide_curves(), and blender::bke::greasepencil::update_triangle_cache().
|
inlineconstexpr |
Definition at line 581 of file BLI_span.hh.
References MutableSpan(), blender::IndexRange::size(), slice(), and blender::IndexRange::start().
|
inlineconstexpr |
Returns a contiguous part of the array. This invokes undefined behavior when the start or size is negative. Clamps the size of the new span so it fits in the current one.
Definition at line 590 of file BLI_span.hh.
References BLI_assert, data_, MutableSpan(), size(), and size_.
Referenced by blender::draw::command::DrawMulti::serialize(), slice_safe(), and blender::tests::TEST().
|
inlineconstexpr |
Definition at line 598 of file BLI_span.hh.
References MutableSpan(), blender::IndexRange::size(), slice_safe(), and blender::IndexRange::start().
|
inlineconstexpr |
Return a new MutableSpan that only contains the last n elements. This invokes undefined behavior when n is negative.
Definition at line 640 of file BLI_span.hh.
References BLI_assert, data_, MutableSpan(), and size_.
Referenced by blender::geometry::add_curves_on_mesh(), blender::geometry::calc_face_offsets(), blender::geometry::calculate_sphere_faces(), blender::bke::curves::nurbs::copy_custom_knots(), blender::draw::extract_edge_factor(), blender::draw::extract_edit_data_bm(), blender::draw::extract_edit_data_mesh(), blender::draw::extract_edit_subdiv_data_bm(), blender::draw::extract_edit_subdiv_data_mesh(), blender::draw::extract_normals(), blender::draw::extract_positions_bm(), blender::draw::extract_positions_mesh(), blender::draw::extract_vert_idx_loose_geom_subdiv(), blender::draw::extract_vert_index_bm(), blender::draw::extract_vert_index_mesh(), blender::draw::extract_vert_normals_bm(), blender::draw::extract_vert_normals_mesh(), blender::io::usd::make_safe_name(), blender::geometry::propagate_edge_attributes(), blender::geometry::propagate_vert_attributes(), blender::reorder_cyclic_curve_points(), and blender::tests::TEST().
|
inlineconstexpr |
Returns a new MutableSpan that only contains the first n elements. This invokes undefined behavior when n is negative.
Definition at line 629 of file BLI_span.hh.
References BLI_assert, data_, MutableSpan(), and size_.
Referenced by blender::geometry::add_curves_on_mesh(), arrayModifier_doArray(), BKE_keyblock_convert_to_mesh(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), blender::geometry::calculate_cone_faces(), blender::geometry::calculate_sphere_faces(), blender::ed::curves::duplicate_curves(), blender::draw::extract_edge_index_bm(), blender::draw::extract_edge_index_mesh(), blender::draw::extract_edit_data_bm(), blender::draw::extract_edit_data_mesh(), blender::draw::extract_edit_subdiv_data_bm(), blender::draw::extract_edit_subdiv_data_mesh(), blender::draw::extract_normals(), blender::draw::extract_positions_bm(), blender::draw::extract_positions_mesh(), blender::draw::extract_vert_index_bm(), blender::draw::extract_vert_index_mesh(), blender::draw::extract_vert_normals_bm(), blender::draw::extract_vert_normals_mesh(), MOD_solidify_extrude_modifyMesh(), blender::reorder_cyclic_curve_points(), blender::tests::TEST(), blender::csv_parse::unescape_field(), and version_nodes_insert_item().
|
protected |
Definition at line 454 of file BLI_span.hh.
Referenced by as_span(), begin(), cast(), copy_from(), data(), drop_back(), drop_front(), end(), fill(), fill_indices(), first(), last(), MutableSpan(), MutableSpan(), operator Span< U >(), operator[](), reverse(), slice(), slice_safe(), take_back(), and take_front().
|
protected |
Definition at line 455 of file BLI_span.hh.
Referenced by as_span(), cast(), copy_from(), drop_back(), drop_front(), end(), fill(), fill_indices(), first(), index_range(), is_empty(), last(), MutableSpan(), MutableSpan(), blender::MutableVArraySpan< T >::MutableVArraySpan(), blender::MutableVArraySpan< T >::MutableVArraySpan(), operator Span< U >(), operator[](), reverse(), size(), size_in_bytes(), slice(), slice_safe(), take_back(), and take_front().