Blender  V3.3
Classes | Typedefs | Functions
blender::nodes::node_geo_scale_elements_cc Namespace Reference

Classes

struct  UniformScaleFields
 
struct  UniformScaleParams
 
struct  AxisScaleFields
 
struct  AxisScaleParams
 
struct  ElementIsland
 

Typedefs

using GetVertexIndicesFn = FunctionRef< void(const Mesh &mesh, int element_index, VectorSet< int > &r_vertex_indices)>
 

Functions

static void node_declare (NodeDeclarationBuilder &b)
 
static void node_layout (uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 
static void node_init (bNodeTree *UNUSED(tree), bNode *node)
 
static void node_update (bNodeTree *ntree, bNode *node)
 
static float3 transform_with_uniform_scale (const float3 &position, const float3 &center, const float scale)
 
static float4x4 create_single_axis_transform (const float3 &center, const float3 &axis, const float scale)
 
static void scale_vertex_islands_uniformly (Mesh &mesh, const Span< ElementIsland > islands, const UniformScaleParams &params, const GetVertexIndicesFn get_vertex_indices)
 
static void scale_vertex_islands_on_axis (Mesh &mesh, const Span< ElementIsland > islands, const AxisScaleParams &params, const GetVertexIndicesFn get_vertex_indices)
 
static Vector< ElementIslandprepare_face_islands (const Mesh &mesh, const IndexMask face_selection)
 
static void get_face_vertices (const Mesh &mesh, int face_index, VectorSet< int > &r_vertex_indices)
 
static AxisScaleParams evaluate_axis_scale_fields (FieldEvaluator &evaluator, const AxisScaleFields &fields)
 
static void scale_faces_on_axis (MeshComponent &mesh_component, const AxisScaleFields &fields)
 
static UniformScaleParams evaluate_uniform_scale_fields (FieldEvaluator &evaluator, const UniformScaleFields &fields)
 
static void scale_faces_uniformly (MeshComponent &mesh_component, const UniformScaleFields &fields)
 
static Vector< ElementIslandprepare_edge_islands (const Mesh &mesh, const IndexMask edge_selection)
 
static void get_edge_vertices (const Mesh &mesh, int edge_index, VectorSet< int > &r_vertex_indices)
 
static void scale_edges_uniformly (MeshComponent &mesh_component, const UniformScaleFields &fields)
 
static void scale_edges_on_axis (MeshComponent &mesh_component, const AxisScaleFields &fields)
 
static void node_geo_exec (GeoNodeExecParams params)
 

Typedef Documentation

◆ GetVertexIndicesFn

using blender::nodes::node_geo_scale_elements_cc::GetVertexIndicesFn = typedef FunctionRef<void(const Mesh &mesh, int element_index, VectorSet<int> &r_vertex_indices)>

Definition at line 150 of file node_geo_scale_elements.cc.

Function Documentation

◆ create_single_axis_transform()

static float4x4 blender::nodes::node_geo_scale_elements_cc::create_single_axis_transform ( const float3 center,
const float3 axis,
const float  scale 
)
static

◆ evaluate_axis_scale_fields()

static AxisScaleParams blender::nodes::node_geo_scale_elements_cc::evaluate_axis_scale_fields ( FieldEvaluator evaluator,
const AxisScaleFields fields 
)
static

◆ evaluate_uniform_scale_fields()

static UniformScaleParams blender::nodes::node_geo_scale_elements_cc::evaluate_uniform_scale_fields ( FieldEvaluator evaluator,
const UniformScaleFields fields 
)
static

◆ get_edge_vertices()

static void blender::nodes::node_geo_scale_elements_cc::get_edge_vertices ( const Mesh mesh,
int  edge_index,
VectorSet< int > &  r_vertex_indices 
)
static

◆ get_face_vertices()

static void blender::nodes::node_geo_scale_elements_cc::get_face_vertices ( const Mesh mesh,
int  face_index,
VectorSet< int > &  r_vertex_indices 
)
static

◆ node_declare()

static void blender::nodes::node_geo_scale_elements_cc::node_declare ( NodeDeclarationBuilder b)
static

◆ node_geo_exec()

static void blender::nodes::node_geo_scale_elements_cc::node_geo_exec ( GeoNodeExecParams  params)
static

◆ node_init()

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

◆ node_layout()

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

Definition at line 39 of file node_geo_scale_elements.cc.

References ptr, and uiItemR().

Referenced by register_node_type_geo_scale_elements().

◆ node_update()

static void blender::nodes::node_geo_scale_elements_cc::node_update ( bNodeTree ntree,
bNode node 
)
static

◆ prepare_edge_islands()

static Vector<ElementIsland> blender::nodes::node_geo_scale_elements_cc::prepare_edge_islands ( const Mesh mesh,
const IndexMask  edge_selection 
)
static

◆ prepare_face_islands()

static Vector<ElementIsland> blender::nodes::node_geo_scale_elements_cc::prepare_face_islands ( const Mesh mesh,
const IndexMask  face_selection 
)
static

◆ scale_edges_on_axis()

static void blender::nodes::node_geo_scale_elements_cc::scale_edges_on_axis ( MeshComponent mesh_component,
const AxisScaleFields fields 
)
static

◆ scale_edges_uniformly()

static void blender::nodes::node_geo_scale_elements_cc::scale_edges_uniformly ( MeshComponent mesh_component,
const UniformScaleFields fields 
)
static

◆ scale_faces_on_axis()

static void blender::nodes::node_geo_scale_elements_cc::scale_faces_on_axis ( MeshComponent mesh_component,
const AxisScaleFields fields 
)
static

◆ scale_faces_uniformly()

static void blender::nodes::node_geo_scale_elements_cc::scale_faces_uniformly ( MeshComponent mesh_component,
const UniformScaleFields fields 
)
static

◆ scale_vertex_islands_on_axis()

static void blender::nodes::node_geo_scale_elements_cc::scale_vertex_islands_on_axis ( Mesh mesh,
const Span< ElementIsland islands,
const AxisScaleParams params,
const GetVertexIndicesFn  get_vertex_indices 
)
static

◆ scale_vertex_islands_uniformly()

static void blender::nodes::node_geo_scale_elements_cc::scale_vertex_islands_uniformly ( Mesh mesh,
const Span< ElementIsland islands,
const UniformScaleParams params,
const GetVertexIndicesFn  get_vertex_indices 
)
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 100 of file node_geo_scale_elements.cc.

References center, and KDL::diff().