|
Blender V5.0
|
Functions | |
| static void | node_declare (NodeDeclarationBuilder &b) |
| static void | node_layout (uiLayout *layout, bContext *, PointerRNA *ptr) |
| static void | node_init (bNodeTree *, bNode *node) |
| static Array< int > | create_reverse_offsets (const Span< int > indices, const int items_num) |
| static Span< int > | front_indices_to_same_value (const Span< int > indices, const Span< int > values) |
| static void | from_indices_large_groups (const Span< int > group_indices, MutableSpan< int > r_counts_to_offset, MutableSpan< int > r_indices) |
| static Array< int > | reverse_indices_in_groups (const Span< int > group_indices, const OffsetIndices< int > offsets) |
| static GroupedSpan< int > | gather_groups (const Span< int > group_indices, const int groups_num, Array< int > &r_offsets, Array< int > &r_indices) |
| template<typename T> | |
| static T | gather_mean (const VArray< T > &values, const Span< int > indices) |
| static float3 | transform_with_uniform_scale (const float3 &position, const float3 ¢er, const float scale) |
| static void | scale_uniformly (const GroupedSpan< int > elem_islands, const GroupedSpan< int > vert_islands, const VArray< float > &scale_varray, const VArray< float3 > ¢er_varray, Mesh &mesh) |
| static float4x4 | create_single_axis_transform (const float3 ¢er, const float3 &axis, const float scale) |
| static void | scale_on_axis (const GroupedSpan< int > elem_islands, const GroupedSpan< int > vert_islands, const VArray< float > &scale_varray, const VArray< float3 > ¢er_varray, const VArray< float3 > &axis_varray, Mesh &mesh) |
| static int | face_to_vert_islands (const Mesh &mesh, const IndexMask &face_mask, const IndexMask &vert_mask, MutableSpan< int > face_island_indices, MutableSpan< int > vert_island_indices) |
| static void | gather_face_islands (const Mesh &mesh, const IndexMask &face_mask, Array< int > &r_item_offsets, Array< int > &r_item_indices, Array< int > &r_vert_offsets, Array< int > &r_vert_indices) |
| static int | edge_to_vert_islands (const Mesh &mesh, const IndexMask &edge_mask, const IndexMask &vert_mask, MutableSpan< int > edge_island_indices, MutableSpan< int > vert_island_indices) |
| static void | gather_edge_islands (const Mesh &mesh, const IndexMask &edge_mask, Array< int > &r_item_offsets, Array< int > &r_item_indices, Array< int > &r_vert_offsets, Array< int > &r_vert_indices) |
| static void | node_geo_exec (GeoNodeExecParams params) |
| static void | node_rna (StructRNA *srna) |
| static void | node_register () |
Variables | |
| static const EnumPropertyItem | scale_mode_items [] |
|
static |
Definition at line 82 of file node_geo_scale_elements.cc.
References blender::offset_indices::build_reverse_offsets(), and indices.
Referenced by gather_groups().
|
static |
Definition at line 258 of file node_geo_scale_elements.cc.
References create_single_axis_transform(), blender::math::cross(), blender::MatBase< float, 4, 4 >::identity(), blender::math::is_zero(), blender::math::normalize(), transform(), blender::math::transpose(), blender::MatBase< T, NumCol, NumRow, Alignment >::x_axis(), blender::MatBase< T, NumCol, NumRow, Alignment >::y_axis(), and blender::MatBase< T, NumCol, NumRow, Alignment >::z_axis().
Referenced by create_single_axis_transform().
|
static |
Definition at line 400 of file node_geo_scale_elements.cc.
References blender::index_mask::build_reverse_map(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::AtomicDisjointSet::count_sets(), edge_to_vert_islands(), blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::foreach_index_optimized(), blender::AtomicDisjointSet::join(), blender::index_mask::IndexMask::min_array_size(), blender::index_mask::IndexMask::size(), and v2.
Referenced by edge_to_vert_islands(), and gather_edge_islands().
|
static |
Definition at line 332 of file node_geo_scale_elements.cc.
References blender::index_mask::build_reverse_map(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::AtomicDisjointSet::count_sets(), face_to_vert_islands(), blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::foreach_index_optimized(), blender::AtomicDisjointSet::join(), blender::index_mask::IndexMask::min_array_size(), blender::index_mask::IndexMask::size(), v2, and verts.
Referenced by face_to_vert_islands(), and gather_face_islands().
|
static |
Definition at line 97 of file node_geo_scale_elements.cc.
References blender::offset_indices::accumulate_counts_to_offsets(), blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), atomic_add_and_fetch_int32(), b, blender::MutableSpan< T >::begin(), blender::array_utils::copy(), blender::MutableSpan< T >::end(), front_indices_to_same_value(), indices, blender::threading::parallel_for_each(), blender::parallel_sort(), blender::Span< T >::size(), Span< T >::size(), blender::IndexRange::slice(), and blender::MutableSpan< T >::slice().
Referenced by gather_groups().
|
static |
Definition at line 89 of file node_geo_scale_elements.cc.
References indices.
Referenced by from_indices_large_groups().
|
static |
Definition at line 432 of file node_geo_scale_elements.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), edge_to_vert_islands(), Mesh::edges_num, blender::array_utils::gather(), gather_edge_islands(), gather_groups(), blender::index_mask::IndexMask::size(), blender::index_mask::IndexMask::to_indices(), blender::geometry::vert_selection_from_edge(), and Mesh::verts_num.
Referenced by gather_edge_islands(), and node_geo_exec().
|
static |
Definition at line 365 of file node_geo_scale_elements.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), face_to_vert_islands(), Mesh::faces_num, blender::array_utils::gather(), gather_face_islands(), gather_groups(), blender::index_mask::IndexMask::size(), blender::index_mask::IndexMask::to_indices(), blender::geometry::vert_selection_from_face(), and Mesh::verts_num.
Referenced by gather_face_islands(), and node_geo_exec().
|
static |
Definition at line 168 of file node_geo_scale_elements.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), create_reverse_offsets(), from_indices_large_groups(), gather_groups(), blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), reverse_indices_in_groups(), and blender::Span< T >::size().
Referenced by gather_edge_islands(), gather_face_islands(), and gather_groups().
|
static |
Definition at line 186 of file node_geo_scale_elements.cc.
References b, BLI_assert, blender::devirtualize_varray(), gather_mean(), blender::VArrayCommon< T >::get_if_single(), i, indices, blender::threading::parallel_deterministic_reduce(), blender::IndexRange::size(), and T.
Referenced by gather_mean().
|
static |
Definition at line 43 of file node_geo_scale_elements.cc.
References b, blender::nodes::decl::Menu::default_value, blender::nodes::SocketDeclaration::description, GEO_NODE_SCALE_ELEMENTS_SINGLE_AXIS, GEO_NODE_SCALE_ELEMENTS_UNIFORM, blender::nodes::SocketDeclaration::hide_value, NODE_DEFAULT_INPUT_POSITION_FIELD, PROP_TRANSLATION, and scale_mode_items.
Referenced by node_register().
|
static |
Definition at line 467 of file node_geo_scale_elements.cc.
References blender::fn::FieldEvaluator::add(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), BLI_assert_unreachable, bNode::custom1, blender::fn::FieldEvaluator::evaluate(), blender::geometry::foreach_real_geometry(), gather_edge_islands(), gather_face_islands(), GEO_NODE_SCALE_ELEMENTS_SINGLE_AXIS, GEO_NODE_SCALE_ELEMENTS_UNIFORM, blender::fn::FieldEvaluator::get_evaluated(), blender::fn::FieldEvaluator::get_evaluated_selection_as_mask(), mask(), node_geo_exec(), params, scale_on_axis(), scale_uniformly(), and blender::fn::FieldEvaluator::set_selection().
Referenced by node_geo_exec(), and node_register().
Definition at line 77 of file node_geo_scale_elements.cc.
References bNode::custom1.
Referenced by node_register().
|
static |
Definition at line 72 of file node_geo_scale_elements.cc.
References uiLayout::prop(), ptr, and UI_ITEM_NONE.
Referenced by node_register().
|
static |
Definition at line 561 of file node_geo_scale_elements.cc.
References blender::bke::bNodeType::declare, blender::bke::bNodeType::draw_buttons, blender::bke::bNodeType::enum_name_legacy, GEO_NODE_SCALE_ELEMENTS, geo_node_type_base(), blender::bke::bNodeType::geometry_node_execute, blender::bke::bNodeType::initfunc, blender::bke::bNodeType::nclass, NODE_CLASS_GEOMETRY, node_declare(), node_geo_exec(), node_init(), node_layout(), node_register(), blender::bke::node_register_type(), node_rna(), blender::bke::bNodeType::rna_ext, ExtensionRNA::srna, blender::bke::bNodeType::ui_description, and blender::bke::bNodeType::ui_name.
Referenced by node_register().
|
static |
Definition at line 536 of file node_geo_scale_elements.cc.
References NOD_inline_enum_accessors, node_rna(), and blender::nodes::RNA_def_node_enum().
Referenced by node_register(), and node_rna().
|
static |
Definition at line 142 of file node_geo_scale_elements.cc.
References blender::Span< T >::begin(), BLI_assert, BLI_SCOPED_DEFER, blender::Span< T >::end(), blender::Span< T >::index_range(), blender::Span< T >::is_empty(), MEM_calloc_arrayN(), MEM_freeN(), blender::threading::parallel_for(), blender::offset_indices::OffsetIndices< T >::size(), and blender::Span< T >::size().
Referenced by gather_groups().
|
static |
Definition at line 298 of file node_geo_scale_elements.cc.
References blender::offset_indices::GroupedSpan< T >::index_range(), blender::threading::parallel_for(), and scale_on_axis().
Referenced by node_geo_exec(), and scale_on_axis().
|
static |
Definition at line 228 of file node_geo_scale_elements.cc.
References blender::offset_indices::GroupedSpan< T >::index_range(), blender::threading::parallel_for(), and scale_uniformly().
Referenced by node_geo_exec(), and scale_uniformly().
|
static |
Definition at line 218 of file node_geo_scale_elements.cc.
References diff(), and transform_with_uniform_scale().
Referenced by transform_with_uniform_scale().
|
static |
Definition at line 29 of file node_geo_scale_elements.cc.
Referenced by node_declare().