Blender V4.3
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< intcreate_reverse_offsets (const Span< int > indices, const int items_num)
 
static Span< intfront_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< intreverse_indices_in_groups (const Span< int > group_indices, const OffsetIndices< int > offsets)
 
static GroupedSpan< intgather_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 ()
 

Function Documentation

◆ create_reverse_offsets()

static Array< int > blender::nodes::node_geo_scale_elements_cc::create_reverse_offsets ( const Span< int > indices,
const int items_num )
static

◆ create_single_axis_transform()

◆ edge_to_vert_islands()

◆ face_to_vert_islands()

◆ from_indices_large_groups()

◆ front_indices_to_same_value()

static 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 75 of file node_geo_scale_elements.cc.

Referenced by from_indices_large_groups().

◆ gather_edge_islands()

static void blender::nodes::node_geo_scale_elements_cc::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

◆ gather_face_islands()

static void blender::nodes::node_geo_scale_elements_cc::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

◆ gather_groups()

◆ gather_mean()

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

Definition at line 172 of file node_geo_scale_elements.cc.

References b, BLI_assert, blender::devirtualize_varray(), gather_mean(), int, and T.

Referenced by gather_mean().

◆ node_declare()

◆ node_geo_exec()

◆ node_init()

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

Definition at line 62 of file node_geo_scale_elements.cc.

References GEO_NODE_SCALE_ELEMENTS_UNIFORM.

Referenced by node_register().

◆ node_layout()

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

Definition at line 56 of file node_geo_scale_elements.cc.

References ptr, UI_ITEM_NONE, and uiItemR().

Referenced by node_register().

◆ node_register()

◆ node_rna()

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

◆ reverse_indices_in_groups()

◆ scale_on_axis()

static 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()

static 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()

static 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 204 of file node_geo_scale_elements.cc.

References diff(), and transform_with_uniform_scale().

Referenced by transform_with_uniform_scale().