Blender  V3.3
Functions
blender::nodes::node_geo_delete_geometry_cc Namespace Reference

Functions

template<typename T >
static void copy_data_based_on_mask (Span< T > data, MutableSpan< T > r_data, IndexMask mask)
 
template<typename T >
static void copy_data_based_on_map (Span< T > src, MutableSpan< T > dst, Span< int > index_map)
 
static void copy_attributes (const Map< AttributeIDRef, AttributeKind > &attributes, const bke::AttributeAccessor src_attributes, bke::MutableAttributeAccessor dst_attributes, const Span< eAttrDomain > domains)
 
static void copy_attributes_based_on_mask (const Map< AttributeIDRef, AttributeKind > &attributes, const bke::AttributeAccessor src_attributes, bke::MutableAttributeAccessor dst_attributes, const eAttrDomain domain, const IndexMask mask)
 
static void copy_attributes_based_on_map (const Map< AttributeIDRef, AttributeKind > &attributes, const bke::AttributeAccessor src_attributes, bke::MutableAttributeAccessor dst_attributes, const eAttrDomain domain, const Span< int > index_map)
 
static void copy_face_corner_attributes (const Map< AttributeIDRef, AttributeKind > &attributes, const bke::AttributeAccessor src_attributes, bke::MutableAttributeAccessor dst_attributes, const int selected_loops_num, const Span< int > selected_poly_indices, const Mesh &mesh_in)
 
static void copy_masked_vertices_to_new_mesh (const Mesh &src_mesh, Mesh &dst_mesh, Span< int > vertex_map)
 
static void copy_masked_edges_to_new_mesh (const Mesh &src_mesh, Mesh &dst_mesh, Span< int > edge_map)
 
static void copy_masked_edges_to_new_mesh (const Mesh &src_mesh, Mesh &dst_mesh, Span< int > vertex_map, Span< int > edge_map)
 
static void copy_masked_polys_to_new_mesh (const Mesh &src_mesh, Mesh &dst_mesh, Span< int > edge_map, Span< int > masked_poly_indices, Span< int > new_loop_starts)
 
static void copy_masked_polys_to_new_mesh (const Mesh &src_mesh, Mesh &dst_mesh, Span< int > masked_poly_indices, Span< int > new_loop_starts)
 
static void copy_masked_polys_to_new_mesh (const Mesh &src_mesh, Mesh &dst_mesh, Span< int > vertex_map, Span< int > edge_map, Span< int > masked_poly_indices, Span< int > new_loop_starts)
 
static void delete_curves_selection (GeometrySet &geometry_set, const Field< bool > &selection_field, const eAttrDomain selection_domain)
 
static void separate_point_cloud_selection (GeometrySet &geometry_set, const Field< bool > &selection_field)
 
static void delete_selected_instances (GeometrySet &geometry_set, const Field< bool > &selection_field)
 
static void compute_selected_vertices_from_vertex_selection (const Span< bool > vertex_selection, MutableSpan< int > r_vertex_map, int *r_selected_vertices_num)
 
static void compute_selected_edges_from_vertex_selection (const Mesh &mesh, const Span< bool > vertex_selection, MutableSpan< int > r_edge_map, int *r_selected_edges_num)
 
static void compute_selected_polygons_from_vertex_selection (const Mesh &mesh, const Span< bool > vertex_selection, Vector< int > &r_selected_poly_indices, Vector< int > &r_loop_starts, int *r_selected_polys_num, int *r_selected_loops_num)
 
static void compute_selected_vertices_and_edges_from_edge_selection (const Mesh &mesh, const Span< bool > edge_selection, MutableSpan< int > r_vertex_map, MutableSpan< int > r_edge_map, int *r_selected_vertices_num, int *r_selected_edges_num)
 
static void compute_selected_edges_from_edge_selection (const Mesh &mesh, const Span< bool > edge_selection, MutableSpan< int > r_edge_map, int *r_selected_edges_num)
 
static void compute_selected_polygons_from_edge_selection (const Mesh &mesh, const Span< bool > edge_selection, Vector< int > &r_selected_poly_indices, Vector< int > &r_loop_starts, int *r_selected_polys_num, int *r_selected_loops_num)
 
static void compute_selected_mesh_data_from_vertex_selection_edge_face (const Mesh &mesh, const Span< bool > vertex_selection, MutableSpan< int > r_edge_map, Vector< int > &r_selected_poly_indices, Vector< int > &r_loop_starts, int *r_selected_edges_num, int *r_selected_polys_num, int *r_selected_loops_num)
 
static void compute_selected_mesh_data_from_vertex_selection (const Mesh &mesh, const Span< bool > vertex_selection, MutableSpan< int > r_vertex_map, MutableSpan< int > r_edge_map, Vector< int > &r_selected_poly_indices, Vector< int > &r_loop_starts, int *r_selected_vertices_num, int *r_selected_edges_num, int *r_selected_polys_num, int *r_selected_loops_num)
 
static void compute_selected_mesh_data_from_edge_selection_edge_face (const Mesh &mesh, const Span< bool > edge_selection, MutableSpan< int > r_edge_map, Vector< int > &r_selected_poly_indices, Vector< int > &r_loop_starts, int *r_selected_edges_num, int *r_selected_polys_num, int *r_selected_loops_num)
 
static void compute_selected_mesh_data_from_edge_selection (const Mesh &mesh, const Span< bool > edge_selection, MutableSpan< int > r_vertex_map, MutableSpan< int > r_edge_map, Vector< int > &r_selected_poly_indices, Vector< int > &r_loop_starts, int *r_selected_vertices_num, int *r_selected_edges_num, int *r_selected_polys_num, int *r_selected_loops_num)
 
static void compute_selected_polygons_from_poly_selection (const Mesh &mesh, const Span< bool > poly_selection, Vector< int > &r_selected_poly_indices, Vector< int > &r_loop_starts, int *r_selected_polys_num, int *r_selected_loops_num)
 
static void compute_selected_mesh_data_from_poly_selection_edge_face (const Mesh &mesh, const Span< bool > poly_selection, MutableSpan< int > r_edge_map, Vector< int > &r_selected_poly_indices, Vector< int > &r_loop_starts, int *r_selected_edges_num, int *r_selected_polys_num, int *r_selected_loops_num)
 
static void compute_selected_mesh_data_from_poly_selection (const Mesh &mesh, const Span< bool > poly_selection, MutableSpan< int > r_vertex_map, MutableSpan< int > r_edge_map, Vector< int > &r_selected_poly_indices, Vector< int > &r_loop_starts, int *r_selected_vertices_num, int *r_selected_edges_num, int *r_selected_polys_num, int *r_selected_loops_num)
 
static void do_mesh_separation (GeometrySet &geometry_set, const Mesh &mesh_in, const Span< bool > selection, const eAttrDomain domain, const GeometryNodeDeleteGeometryMode mode)
 
static void separate_mesh_selection (GeometrySet &geometry_set, const Field< bool > &selection_field, const eAttrDomain selection_domain, const GeometryNodeDeleteGeometryMode mode)
 
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_geo_exec (GeoNodeExecParams params)
 

Function Documentation

◆ compute_selected_edges_from_edge_selection()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_edges_from_edge_selection ( const Mesh mesh,
const Span< bool edge_selection,
MutableSpan< int >  r_edge_map,
int *  r_selected_edges_num 
)
static

Checks for every edge if it is in edge_selection.

Definition at line 517 of file node_geo_delete_geometry.cc.

References BLI_assert, mesh, blender::Span< T >::size(), and Mesh::totedge.

Referenced by compute_selected_mesh_data_from_edge_selection_edge_face().

◆ compute_selected_edges_from_vertex_selection()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_edges_from_vertex_selection ( const Mesh mesh,
const Span< bool vertex_selection,
MutableSpan< int >  r_edge_map,
int *  r_selected_edges_num 
)
static

◆ compute_selected_mesh_data_from_edge_selection()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_mesh_data_from_edge_selection ( const Mesh mesh,
const Span< bool edge_selection,
MutableSpan< int >  r_vertex_map,
MutableSpan< int >  r_edge_map,
Vector< int > &  r_selected_poly_indices,
Vector< int > &  r_loop_starts,
int *  r_selected_vertices_num,
int *  r_selected_edges_num,
int *  r_selected_polys_num,
int *  r_selected_loops_num 
)
static

Checks for every edge if it is in edge_selection. If it is, the vertices belonging to that edge are kept as well. The polygons are kept if all edges are in the selection.

Definition at line 658 of file node_geo_delete_geometry.cc.

References compute_selected_polygons_from_edge_selection(), compute_selected_vertices_and_edges_from_edge_selection(), blender::MutableSpan< T >::fill(), and mesh.

Referenced by do_mesh_separation().

◆ compute_selected_mesh_data_from_edge_selection_edge_face()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_mesh_data_from_edge_selection_edge_face ( const Mesh mesh,
const Span< bool edge_selection,
MutableSpan< int >  r_edge_map,
Vector< int > &  r_selected_poly_indices,
Vector< int > &  r_loop_starts,
int *  r_selected_edges_num,
int *  r_selected_polys_num,
int *  r_selected_loops_num 
)
static

Checks for every edge if it is in edge_selection. The polygons are kept if all edges are in the selection.

Definition at line 634 of file node_geo_delete_geometry.cc.

References compute_selected_edges_from_edge_selection(), compute_selected_polygons_from_edge_selection(), and mesh.

Referenced by do_mesh_separation().

◆ compute_selected_mesh_data_from_poly_selection()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_mesh_data_from_poly_selection ( const Mesh mesh,
const Span< bool poly_selection,
MutableSpan< int >  r_vertex_map,
MutableSpan< int >  r_edge_map,
Vector< int > &  r_selected_poly_indices,
Vector< int > &  r_loop_starts,
int *  r_selected_vertices_num,
int *  r_selected_edges_num,
int *  r_selected_polys_num,
int *  r_selected_loops_num 
)
static

◆ compute_selected_mesh_data_from_poly_selection_edge_face()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_mesh_data_from_poly_selection_edge_face ( const Mesh mesh,
const Span< bool poly_selection,
MutableSpan< int >  r_edge_map,
Vector< int > &  r_selected_poly_indices,
Vector< int > &  r_loop_starts,
int *  r_selected_edges_num,
int *  r_selected_polys_num,
int *  r_selected_loops_num 
)
static

◆ compute_selected_mesh_data_from_vertex_selection()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_mesh_data_from_vertex_selection ( const Mesh mesh,
const Span< bool vertex_selection,
MutableSpan< int >  r_vertex_map,
MutableSpan< int >  r_edge_map,
Vector< int > &  r_selected_poly_indices,
Vector< int > &  r_loop_starts,
int *  r_selected_vertices_num,
int *  r_selected_edges_num,
int *  r_selected_polys_num,
int *  r_selected_loops_num 
)
static

Checks for every vertex if it is in vertex_selection. The polygons and edges are kept if all vertices of that polygon or edge are in the selection.

Definition at line 605 of file node_geo_delete_geometry.cc.

References compute_selected_edges_from_vertex_selection(), compute_selected_polygons_from_vertex_selection(), compute_selected_vertices_from_vertex_selection(), and mesh.

Referenced by do_mesh_separation().

◆ compute_selected_mesh_data_from_vertex_selection_edge_face()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_mesh_data_from_vertex_selection_edge_face ( const Mesh mesh,
const Span< bool vertex_selection,
MutableSpan< int >  r_edge_map,
Vector< int > &  r_selected_poly_indices,
Vector< int > &  r_loop_starts,
int *  r_selected_edges_num,
int *  r_selected_polys_num,
int *  r_selected_loops_num 
)
static

Checks for every edge and polygon if all its vertices are in vertex_selection.

Definition at line 579 of file node_geo_delete_geometry.cc.

References compute_selected_edges_from_vertex_selection(), compute_selected_polygons_from_vertex_selection(), and mesh.

Referenced by do_mesh_separation().

◆ compute_selected_polygons_from_edge_selection()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_polygons_from_edge_selection ( const Mesh mesh,
const Span< bool edge_selection,
Vector< int > &  r_selected_poly_indices,
Vector< int > &  r_loop_starts,
int *  r_selected_polys_num,
int *  r_selected_loops_num 
)
static

◆ compute_selected_polygons_from_poly_selection()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_polygons_from_poly_selection ( const Mesh mesh,
const Span< bool poly_selection,
Vector< int > &  r_selected_poly_indices,
Vector< int > &  r_loop_starts,
int *  r_selected_polys_num,
int *  r_selected_loops_num 
)
static

◆ compute_selected_polygons_from_vertex_selection()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_polygons_from_vertex_selection ( const Mesh mesh,
const Span< bool vertex_selection,
Vector< int > &  r_selected_poly_indices,
Vector< int > &  r_loop_starts,
int *  r_selected_polys_num,
int *  r_selected_loops_num 
)
static

◆ compute_selected_vertices_and_edges_from_edge_selection()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_vertices_and_edges_from_edge_selection ( const Mesh mesh,
const Span< bool edge_selection,
MutableSpan< int >  r_vertex_map,
MutableSpan< int >  r_edge_map,
int *  r_selected_vertices_num,
int *  r_selected_edges_num 
)
static

Checks for every edge if it is in edge_selection. If it is, then the two vertices of the edge are kept along with the edge.

Definition at line 479 of file node_geo_delete_geometry.cc.

References BLI_assert, Mesh::medge, mesh, blender::Span< T >::size(), and Mesh::totedge.

Referenced by compute_selected_mesh_data_from_edge_selection().

◆ compute_selected_vertices_from_vertex_selection()

static void blender::nodes::node_geo_delete_geometry_cc::compute_selected_vertices_from_vertex_selection ( const Span< bool vertex_selection,
MutableSpan< int >  r_vertex_map,
int *  r_selected_vertices_num 
)
static

◆ copy_attributes()

static void blender::nodes::node_geo_delete_geometry_cc::copy_attributes ( const Map< AttributeIDRef, AttributeKind > &  attributes,
const bke::AttributeAccessor  src_attributes,
bke::MutableAttributeAccessor  dst_attributes,
const Span< eAttrDomain domains 
)
static

◆ copy_attributes_based_on_map()

static void blender::nodes::node_geo_delete_geometry_cc::copy_attributes_based_on_map ( const Map< AttributeIDRef, AttributeKind > &  attributes,
const bke::AttributeAccessor  src_attributes,
bke::MutableAttributeAccessor  dst_attributes,
const eAttrDomain  domain,
const Span< int >  index_map 
)
static

◆ copy_attributes_based_on_mask()

static void blender::nodes::node_geo_delete_geometry_cc::copy_attributes_based_on_mask ( const Map< AttributeIDRef, AttributeKind > &  attributes,
const bke::AttributeAccessor  src_attributes,
bke::MutableAttributeAccessor  dst_attributes,
const eAttrDomain  domain,
const IndexMask  mask 
)
static

◆ copy_data_based_on_map()

template<typename T >
static void blender::nodes::node_geo_delete_geometry_cc::copy_data_based_on_map ( Span< T src,
MutableSpan< T dst,
Span< int >  index_map 
)
static

Definition at line 32 of file node_geo_delete_geometry.cc.

References blender::Span< T >::index_range(), and src.

Referenced by copy_attributes_based_on_map().

◆ copy_data_based_on_mask()

template<typename T >
static void blender::nodes::node_geo_delete_geometry_cc::copy_data_based_on_mask ( Span< T data,
MutableSpan< T r_data,
IndexMask  mask 
)
static

Definition at line 24 of file node_geo_delete_geometry.cc.

References data, and mask().

Referenced by copy_attributes_based_on_mask().

◆ copy_face_corner_attributes()

static void blender::nodes::node_geo_delete_geometry_cc::copy_face_corner_attributes ( const Map< AttributeIDRef, AttributeKind > &  attributes,
const bke::AttributeAccessor  src_attributes,
bke::MutableAttributeAccessor  dst_attributes,
const int  selected_loops_num,
const Span< int >  selected_poly_indices,
const Mesh mesh_in 
)
static

◆ copy_masked_edges_to_new_mesh() [1/2]

static void blender::nodes::node_geo_delete_geometry_cc::copy_masked_edges_to_new_mesh ( const Mesh src_mesh,
Mesh dst_mesh,
Span< int >  edge_map 
)
static

◆ copy_masked_edges_to_new_mesh() [2/2]

static void blender::nodes::node_geo_delete_geometry_cc::copy_masked_edges_to_new_mesh ( const Mesh src_mesh,
Mesh dst_mesh,
Span< int >  vertex_map,
Span< int >  edge_map 
)
static

◆ copy_masked_polys_to_new_mesh() [1/3]

static void blender::nodes::node_geo_delete_geometry_cc::copy_masked_polys_to_new_mesh ( const Mesh src_mesh,
Mesh dst_mesh,
Span< int >  edge_map,
Span< int >  masked_poly_indices,
Span< int >  new_loop_starts 
)
static

◆ copy_masked_polys_to_new_mesh() [2/3]

static void blender::nodes::node_geo_delete_geometry_cc::copy_masked_polys_to_new_mesh ( const Mesh src_mesh,
Mesh dst_mesh,
Span< int >  masked_poly_indices,
Span< int >  new_loop_starts 
)
static

◆ copy_masked_polys_to_new_mesh() [3/3]

static void blender::nodes::node_geo_delete_geometry_cc::copy_masked_polys_to_new_mesh ( const Mesh src_mesh,
Mesh dst_mesh,
Span< int >  vertex_map,
Span< int >  edge_map,
Span< int >  masked_poly_indices,
Span< int >  new_loop_starts 
)
static

◆ copy_masked_vertices_to_new_mesh()

static void blender::nodes::node_geo_delete_geometry_cc::copy_masked_vertices_to_new_mesh ( const Mesh src_mesh,
Mesh dst_mesh,
Span< int >  vertex_map 
)
static

◆ delete_curves_selection()

static void blender::nodes::node_geo_delete_geometry_cc::delete_curves_selection ( GeometrySet geometry_set,
const Field< bool > &  selection_field,
const eAttrDomain  selection_domain 
)
static

◆ delete_selected_instances()

static void blender::nodes::node_geo_delete_geometry_cc::delete_selected_instances ( GeometrySet geometry_set,
const Field< bool > &  selection_field 
)
static

◆ do_mesh_separation()

static void blender::nodes::node_geo_delete_geometry_cc::do_mesh_separation ( GeometrySet geometry_set,
const Mesh mesh_in,
const Span< bool selection,
const eAttrDomain  domain,
const GeometryNodeDeleteGeometryMode  mode 
)
static

◆ node_declare()

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

◆ node_geo_exec()

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

◆ node_init()

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

◆ node_layout()

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

◆ separate_mesh_selection()

static void blender::nodes::node_geo_delete_geometry_cc::separate_mesh_selection ( GeometrySet geometry_set,
const Field< bool > &  selection_field,
const eAttrDomain  selection_domain,
const GeometryNodeDeleteGeometryMode  mode 
)
static

◆ separate_point_cloud_selection()

static void blender::nodes::node_geo_delete_geometry_cc::separate_point_cloud_selection ( GeometrySet geometry_set,
const Field< bool > &  selection_field 
)
static