|
Blender V5.0
|
#include <BKE_attribute.hh>
Public Member Functions | |
| AttributeIter (const StringRefNull name, const AttrDomain domain, const AttrType data_type, const FunctionRef< GAttributeReader()> get_fn) | |
| void | stop () const |
| bool | is_stopped () const |
| GAttributeReader | get () const |
| GAttributeReader | get (const AttrDomain domain) const |
| GAttributeReader | get (const AttrType data_type) const |
| template<typename T> | |
| AttributeReader< T > | get (const std::optional< AttrDomain > domain=std::nullopt) const |
Attribute API | |
| GAttributeReader | get (std::optional< AttrDomain > domain, std::optional< AttrType > data_type) const |
Public Attributes | |
| StringRefNull | name |
| AttrDomain | domain |
| AttrType | data_type |
| bool | is_builtin = false |
| const AttributeAccessor * | accessor = nullptr |
This is used when iterating over attributes, e.g. with #foreach_attribute. It contains meta-data for the current attribute and provides easy access to the actual attribute data.
Definition at line 426 of file BKE_attribute.hh.
|
inline |
Definition at line 439 of file BKE_attribute.hh.
|
inline |
Get read-only access to the current attribute. This method always succeeds.
Definition at line 459 of file BKE_attribute.hh.
Referenced by blender::ed::greasepencil::apply_eval_grease_pencil_data(), attr_create_generic(), attr_create_generic(), copy_attributes(), blender::bke::copy_attributes_group_to_group(), blender::nodes::node_geo_curve_to_points_cc::copy_curve_domain_attributes(), blender::geometry::create_curve_from_vert_indices(), blender::nodes::node_geo_curves_to_grease_pencil_cc::curve_instances_to_grease_pencil_layers(), blender::bke::curve_to_mesh_sweep(), blender::ed::pointcloud::duplicate_points(), blender::geometry::extract_mesh_edges(), blender::geometry::extract_mesh_faces(), blender::geometry::extract_mesh_vertices(), blender::bke::gather_attributes(), blender::bke::gather_attributes(), blender::bke::gather_attributes_group_to_group(), blender::bke::gather_attributes_to_groups(), get(), get(), get(), get(), blender::nodes::node_geo_interpolate_curves_cc::interpolate_curve_attributes(), blender::io::ply::load_custom_attributes(), blender::geometry::merge_layers(), blender::geometry::mesh_faces_to_curves_convert(), blender::ed::geometry::MeshState::MeshState(), blender::nodes::node_geo_grease_pencil_to_curves_cc::node_geo_exec(), blender::geometry::prepare_attribute_fallbacks(), blender::geometry::reorder_and_flip_attributes_group_to_group(), blender::geometry::reorder_attributes_group_to_group(), blender::ed::curves::resize_curves(), blender::bke::retrieve_attributes_for_transfer(), blender::bke::bake::serialize_attributes(), and blender::ed::sculpt_paint::store_mesh_from_eval().
|
inline |
Definition at line 467 of file BKE_attribute.hh.
|
inline |
Definition at line 472 of file BKE_attribute.hh.
|
inline |
Definition at line 478 of file BKE_attribute.hh.
References blender::bke::cpp_type_to_attribute_type(), data_type, domain, get(), blender::CPPType::get(), T, and blender::bke::GAttributeReader::typed().
| GAttributeReader blender::bke::AttributeIter::get | ( | std::optional< AttrDomain > | domain, |
| std::optional< AttrType > | data_type ) const |
Same as above, but may perform type and domain interpolation. This may return none.
Definition at line 726 of file attribute_access.cc.
References accessor, blender::bke::adapt_domain_and_type_if_necessary(), BLI_assert, data_type, domain, and get().
|
inline |
Definition at line 453 of file BKE_attribute.hh.
Referenced by blender::bke::attribute_accessor_functions::foreach_attribute(), blender::bke::CustomDataAttributeProvider::foreach_attribute(), blender::bke::MeshVertexGroupsAttributeProvider::foreach_attribute(), blender::bke::curves::foreach_vertex_group(), blender::bke::curves::get_curves_accessor_functions(), blender::bke::greasepencil::get_grease_pencil_accessor_functions(), blender::bke::get_instances_accessor_functions(), and blender::bke::get_pointcloud_accessor_functions().
|
inline |
Stops the iteration. Remaining attributes will be skipped.
Definition at line 448 of file BKE_attribute.hh.
Referenced by blender::bke::AttributeAccessor::contains(), blender::draw::get_first_uv_name(), blender::nodes::node_geo_extrude_mesh_cc::is_empty_domain(), and blender::bke::AttributeAccessor::lookup_meta_data().
|
mutable |
Definition at line 432 of file BKE_attribute.hh.
Referenced by blender::bke::attribute_accessor_functions::foreach_attribute(), blender::bke::MeshVertexGroupsAttributeProvider::foreach_attribute(), blender::bke::curves::foreach_vertex_group(), get(), blender::bke::curves::get_curves_accessor_functions(), blender::bke::greasepencil::get_grease_pencil_accessor_functions(), blender::bke::get_instances_accessor_functions(), and blender::bke::get_pointcloud_accessor_functions().
| AttrType blender::bke::AttributeIter::data_type |
Definition at line 430 of file BKE_attribute.hh.
Referenced by blender::ed::greasepencil::apply_eval_grease_pencil_data(), attr_create_generic(), attr_create_generic(), blender::nodes::node_geo_extrude_mesh_cc::attribute_ids_by_domain(), AttributeIter(), BKE_mesh_merge_customdata_for_apply_modifier(), blender::bke::copy_attributes_group_to_group(), blender::nodes::node_geo_curve_to_points_cc::copy_curve_domain_attributes(), blender::ed::greasepencil::copy_layer_and_frames_to_target_object(), blender::geometry::create_curve_from_vert_indices(), blender::nodes::node_geo_curves_to_grease_pencil_cc::curve_instances_to_grease_pencil_layers(), blender::bke::curve_to_mesh_sweep(), blender::ed::pointcloud::duplicate_points(), blender::geometry::extract_mesh_edges(), blender::geometry::extract_mesh_faces(), blender::geometry::extract_mesh_vertices(), blender::bke::fill_attribute_range_default(), blender::bke::gather_attributes(), blender::bke::gather_attributes(), blender::bke::gather_attributes_group_to_group(), blender::bke::gather_attributes_to_groups(), blender::geometry::gather_attributes_to_propagate(), blender::geometry::gather_point_attributes_to_interpolate(), get(), get(), get(), get_blender_uv_names(), blender::geometry::get_final_attribute_info(), blender::draw::get_first_uv_name(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::nodes::node_geo_interpolate_curves_cc::interpolate_curve_attributes(), blender::nodes::node_geo_extrude_mesh_cc::is_empty_domain(), blender::io::ply::load_custom_attributes(), blender::bke::AttributeAccessor::lookup_meta_data(), blender::geometry::merge_layers(), blender::bke::mesh_calc_edges(), blender::geometry::mesh_faces_to_curves_convert(), blender::bke::mesh_flip_faces(), blender::nodes::node_geo_grease_pencil_to_curves_cc::node_geo_exec(), blender::geometry::prepare_attribute_fallbacks(), blender::geometry::reorder_and_flip_attributes_group_to_group(), blender::geometry::reorder_attributes_group_to_group(), blender::ed::curves::resize_curves(), blender::bke::retrieve_attributes_for_transfer(), blender::bke::CurvesGeometry::reverse_curves(), and blender::bke::bake::serialize_attributes().
| AttrDomain blender::bke::AttributeIter::domain |
Definition at line 429 of file BKE_attribute.hh.
Referenced by attr_create_generic(), attr_create_generic(), blender::nodes::node_geo_extrude_mesh_cc::attribute_ids_by_domain(), AttributeIter(), BKE_mesh_merge_customdata_for_apply_modifier(), blender::bke::copy_attributes_group_to_group(), blender::nodes::node_geo_curve_to_points_cc::copy_curve_domain_attributes(), blender::ed::greasepencil::copy_layer_and_frames_to_target_object(), blender::geometry::create_curve_from_vert_indices(), blender::bke::curve_to_mesh_sweep(), blender::ed::curves::duplicate_curves(), blender::ed::curves::duplicate_points(), blender::ed::pointcloud::duplicate_points(), blender::bke::fill_attribute_range_default(), blender::ed::spreadsheet::GeometryDataSource::foreach_default_column_ids(), blender::bke::gather_attributes(), blender::bke::gather_attributes(), blender::bke::gather_attributes_group_to_group(), blender::bke::gather_attributes_to_groups(), blender::geometry::gather_attributes_to_propagate(), blender::geometry::gather_point_attributes_to_interpolate(), get(), get(), get(), get_blender_uv_names(), blender::nodes::node_geo_interpolate_curves_cc::interpolate_curve_attributes(), blender::nodes::node_geo_extrude_mesh_cc::is_empty_domain(), blender::io::ply::load_custom_attributes(), blender::bke::AttributeAccessor::lookup_meta_data(), blender::bke::mesh_apply_spatial_organization(), blender::bke::mesh_calc_edges(), blender::geometry::mesh_faces_to_curves_convert(), blender::bke::mesh_flip_faces(), blender::bke::mesh_remesh_reproject_attributes(), blender::geometry::reorder_and_flip_attributes_group_to_group(), blender::geometry::reorder_attributes_group_to_group(), blender::ed::curves::resize_curves(), blender::ed::greasepencil::resize_single_curve(), blender::bke::retrieve_attributes_for_transfer(), blender::bke::CurvesGeometry::reverse_curves(), blender::bke::bake::serialize_attributes(), and blender::ed::sculpt_paint::greasepencil::trim_end_points().
| bool blender::bke::AttributeIter::is_builtin = false |
Definition at line 431 of file BKE_attribute.hh.
Referenced by blender::nodes::node_geo_curve_to_points_cc::copy_curve_domain_attributes(), blender::nodes::node_geo_curves_to_grease_pencil_cc::curve_instances_to_grease_pencil_layers(), blender::bke::attribute_accessor_functions::foreach_attribute(), blender::bke::MeshVertexGroupsAttributeProvider::foreach_attribute(), blender::bke::curves::foreach_vertex_group(), blender::geometry::gather_attributes_to_propagate(), blender::bke::curves::get_curves_accessor_functions(), blender::bke::greasepencil::get_grease_pencil_accessor_functions(), blender::bke::get_instances_accessor_functions(), blender::bke::get_pointcloud_accessor_functions(), and blender::nodes::node_geo_interpolate_curves_cc::interpolate_curve_attributes().
| StringRefNull blender::bke::AttributeIter::name |
Definition at line 428 of file BKE_attribute.hh.
Referenced by blender::ed::greasepencil::add_single_curve(), blender::bke::AttributeAccessor::all_ids(), blender::ed::greasepencil::apply_eval_grease_pencil_data(), attr_create_generic(), attr_create_generic(), blender::bke::GeometrySet::attribute_foreach(), blender::nodes::node_geo_extrude_mesh_cc::attribute_ids_by_domain(), AttributeIter(), BKE_mesh_merge_customdata_for_apply_modifier(), blender::nodes::node_geo_attribute_capture_cc::clean_unused_attributes(), blender::bke::AttributeAccessor::contains(), copy_attributes(), blender::bke::copy_attributes_group_to_group(), blender::nodes::node_geo_curve_to_points_cc::copy_curve_domain_attributes(), blender::ed::greasepencil::copy_layer_and_frames_to_target_object(), blender::geometry::create_curve_from_vert_indices(), blender::nodes::node_geo_curves_to_grease_pencil_cc::curve_instances_to_grease_pencil_layers(), blender::bke::curve_to_mesh_sweep(), blender::io::usd::USDPointInstancerWriter::do_write(), blender::ed::curves::duplicate_curves(), blender::ed::curves::duplicate_points(), blender::ed::pointcloud::duplicate_points(), blender::geometry::extract_mesh_edges(), blender::geometry::extract_mesh_faces(), blender::geometry::extract_mesh_vertices(), blender::bke::fill_attribute_range_default(), blender::bke::attribute_accessor_functions::foreach_attribute(), blender::ed::spreadsheet::GeometryDataSource::foreach_default_column_ids(), blender::bke::gather_attributes(), blender::bke::gather_attributes(), blender::bke::gather_attributes_group_to_group(), blender::bke::gather_attributes_to_groups(), blender::geometry::gather_attributes_to_propagate(), blender::geometry::gather_point_attributes_to_interpolate(), get_blender_uv_names(), blender::geometry::get_final_attribute_info(), blender::draw::get_first_uv_name(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::nodes::node_geo_interpolate_curves_cc::interpolate_curve_attributes(), blender::nodes::node_geo_extrude_mesh_cc::is_empty_domain(), blender::ed::mesh::join_generic_attributes(), blender::io::ply::load_custom_attributes(), blender::bke::AttributeAccessor::lookup_meta_data(), blender::ed::greasepencil::merge_attributes(), blender::geometry::merge_layers(), blender::bke::mesh_apply_spatial_organization(), blender::bke::mesh_calc_edges(), blender::geometry::mesh_faces_to_curves_convert(), blender::bke::mesh_flip_faces(), blender::bke::mesh_remesh_reproject_attributes(), blender::nodes::node_geo_grease_pencil_to_curves_cc::node_geo_exec(), blender::geometry::prepare_attribute_fallbacks(), blender::nodes::node_geo_remove_attribute_cc::remove_attributes_recursive(), blender::geometry::reorder_and_flip_attributes_group_to_group(), blender::geometry::reorder_attributes_group_to_group(), blender::ed::curves::resize_curves(), blender::ed::greasepencil::resize_single_curve(), blender::bke::retrieve_attributes_for_transfer(), blender::bke::CurvesGeometry::reverse_curves(), blender::bke::bake::serialize_attributes(), blender::ed::sculpt_paint::store_mesh_from_eval(), and blender::ed::sculpt_paint::greasepencil::trim_end_points().