Blender V5.0
blender::nodes::node_geo_scale_elements_cc Namespace Reference

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 &center, 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 > &center_varray, Mesh &mesh)
static float4x4 create_single_axis_transform (const float3 &center, 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 > &center_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 []

Function Documentation

◆ create_reverse_offsets()

Array< int > blender::nodes::node_geo_scale_elements_cc::create_reverse_offsets ( const Span< int > indices,
const int items_num )
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().

◆ create_single_axis_transform()

◆ edge_to_vert_islands()

◆ face_to_vert_islands()

◆ from_indices_large_groups()

◆ front_indices_to_same_value()

Span< int > blender::nodes::node_geo_scale_elements_cc::front_indices_to_same_value ( const Span< int > indices,
const Span< int > values )
static

Definition at line 89 of file node_geo_scale_elements.cc.

References indices.

Referenced by from_indices_large_groups().

◆ gather_edge_islands()

◆ gather_face_islands()

◆ gather_groups()

◆ gather_mean()

template<typename T>
T blender::nodes::node_geo_scale_elements_cc::gather_mean ( const VArray< T > & values,
const Span< int > indices )
static

◆ node_declare()

◆ node_geo_exec()

◆ node_init()

void blender::nodes::node_geo_scale_elements_cc::node_init ( bNodeTree * ,
bNode * node )
static

Definition at line 77 of file node_geo_scale_elements.cc.

References bNode::custom1.

Referenced by node_register().

◆ node_layout()

void blender::nodes::node_geo_scale_elements_cc::node_layout ( uiLayout * layout,
bContext * ,
PointerRNA * ptr )
static

Definition at line 72 of file node_geo_scale_elements.cc.

References uiLayout::prop(), ptr, and UI_ITEM_NONE.

Referenced by node_register().

◆ node_register()

◆ node_rna()

void blender::nodes::node_geo_scale_elements_cc::node_rna ( StructRNA * srna)
static

◆ reverse_indices_in_groups()

◆ scale_on_axis()

void blender::nodes::node_geo_scale_elements_cc::scale_on_axis ( const GroupedSpan< int > elem_islands,
const GroupedSpan< int > vert_islands,
const VArray< float > & scale_varray,
const VArray< float3 > & center_varray,
const VArray< float3 > & axis_varray,
Mesh & mesh )
static

◆ scale_uniformly()

void blender::nodes::node_geo_scale_elements_cc::scale_uniformly ( const GroupedSpan< int > elem_islands,
const GroupedSpan< int > vert_islands,
const VArray< float > & scale_varray,
const VArray< float3 > & center_varray,
Mesh & mesh )
static

◆ transform_with_uniform_scale()

float3 blender::nodes::node_geo_scale_elements_cc::transform_with_uniform_scale ( const float3 & position,
const float3 & center,
const float scale )
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().

Variable Documentation

◆ scale_mode_items

const EnumPropertyItem blender::nodes::node_geo_scale_elements_cc::scale_mode_items[]
static
Initial value:
= {
"UNIFORM",
ICON_NONE,
N_("Uniform"),
N_("Scale elements by the same factor in every direction")},
"SINGLE_AXIS",
ICON_NONE,
N_("Single Axis"),
N_("Scale elements in a single direction")},
{0, nullptr, 0, nullptr, nullptr},
}
@ GEO_NODE_SCALE_ELEMENTS_SINGLE_AXIS
@ GEO_NODE_SCALE_ELEMENTS_UNIFORM
#define N_(msgid)

Definition at line 29 of file node_geo_scale_elements.cc.

Referenced by node_declare().