Blender  V3.3
Classes | Namespaces | Functions
node_geo_duplicate_elements.cc File Reference
#include "BLI_map.hh"
#include "BLI_noise.hh"
#include "BLI_span.hh"
#include "BLI_task.hh"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_pointcloud_types.h"
#include "BKE_attribute_math.hh"
#include "BKE_curves.hh"
#include "BKE_mesh.h"
#include "BKE_pointcloud.h"
#include "node_geometry_util.hh"
#include "UI_interface.h"
#include "UI_resources.h"

Go to the source code of this file.

Classes

struct  blender::nodes::node_geo_duplicate_elements_cc::IndexAttributes
 

Namespaces

 blender
 
 blender::nodes
 
 blender::nodes::node_geo_duplicate_elements_cc
 

Functions

 blender::nodes::node_geo_duplicate_elements_cc::NODE_STORAGE_FUNCS (NodeGeometryDuplicateElements)
 
static void blender::nodes::node_geo_duplicate_elements_cc::node_declare (NodeDeclarationBuilder &b)
 
static void blender::nodes::node_geo_duplicate_elements_cc::node_init (bNodeTree *UNUSED(tree), bNode *node)
 
static void blender::nodes::node_geo_duplicate_elements_cc::node_layout (uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 
void register_node_type_geo_duplicate_elements ()
 
Utility Functions
static Map< AttributeIDRef, AttributeKind > blender::nodes::node_geo_duplicate_elements_cc::gather_attributes_without_id (const GeometrySet &geometry_set, const GeometryComponentType component_type)
 
static IndexRange blender::nodes::node_geo_duplicate_elements_cc::range_for_offsets_index (const Span< int > offsets, const int index)
 
static Array< int > blender::nodes::node_geo_duplicate_elements_cc::accumulate_counts_to_offsets (const IndexMask selection, const VArray< int > &counts)
 
template<typename T >
static void blender::nodes::node_geo_duplicate_elements_cc::threaded_slice_fill (Span< int > offsets, const IndexMask selection, Span< T > src, MutableSpan< T > dst)
 
template<typename T >
static void blender::nodes::node_geo_duplicate_elements_cc::threaded_mapped_copy (const Span< int > mapping, const Span< T > src, MutableSpan< T > dst)
 
static void blender::nodes::node_geo_duplicate_elements_cc::copy_hashed_ids (const Span< int > src, const int hash, MutableSpan< int > dst)
 
static void blender::nodes::node_geo_duplicate_elements_cc::threaded_id_offset_copy (const Span< int > offsets, const Span< int > src, MutableSpan< int > dst)
 
static void blender::nodes::node_geo_duplicate_elements_cc::create_duplicate_index_attribute (bke::MutableAttributeAccessor attributes, const eAttrDomain output_domain, const IndexMask selection, const IndexAttributes &attribute_outputs, const Span< int > offsets)
 
static void blender::nodes::node_geo_duplicate_elements_cc::copy_stable_id_point (const Span< int > offsets, const bke::AttributeAccessor src_attributes, bke::MutableAttributeAccessor dst_attributes)
 
static void blender::nodes::node_geo_duplicate_elements_cc::copy_attributes_without_id (GeometrySet &geometry_set, const GeometryComponentType component_type, const eAttrDomain domain, const Span< int > offsets, const IndexMask selection, const bke::AttributeAccessor src_attributes, bke::MutableAttributeAccessor dst_attributes)
 
Duplicate Curves
static void blender::nodes::node_geo_duplicate_elements_cc::copy_curve_attributes_without_id (const GeometrySet &geometry_set, const bke::CurvesGeometry &src_curves, const IndexMask selection, const Span< int > curve_offsets, bke::CurvesGeometry &dst_curves)
 
static void blender::nodes::node_geo_duplicate_elements_cc::copy_stable_id_curves (const bke::CurvesGeometry &src_curves, const IndexMask selection, const Span< int > curve_offsets, bke::CurvesGeometry &dst_curves)
 
static void blender::nodes::node_geo_duplicate_elements_cc::duplicate_curves (GeometrySet &geometry_set, const Field< int > &count_field, const Field< bool > &selection_field, const IndexAttributes &attribute_outputs)
 
Duplicate Faces
static void blender::nodes::node_geo_duplicate_elements_cc::copy_face_attributes_without_id (GeometrySet &geometry_set, const Span< int > edge_mapping, const Span< int > vert_mapping, const Span< int > loop_mapping, const Span< int > offsets, const IndexMask selection, const bke::AttributeAccessor src_attributes, bke::MutableAttributeAccessor dst_attributes)
 
static void blender::nodes::node_geo_duplicate_elements_cc::copy_stable_id_faces (const Mesh &mesh, const IndexMask selection, const Span< int > poly_offsets, const Span< int > vert_mapping, const bke::AttributeAccessor src_attributes, bke::MutableAttributeAccessor dst_attributes)
 
static void blender::nodes::node_geo_duplicate_elements_cc::duplicate_faces (GeometrySet &geometry_set, const Field< int > &count_field, const Field< bool > &selection_field, const IndexAttributes &attribute_outputs)
 
Duplicate Edges
static void blender::nodes::node_geo_duplicate_elements_cc::copy_edge_attributes_without_id (GeometrySet &geometry_set, const Span< int > point_mapping, const Span< int > offsets, const IndexMask selection, const bke::AttributeAccessor src_attributes, bke::MutableAttributeAccessor dst_attributes)
 
static void blender::nodes::node_geo_duplicate_elements_cc::copy_stable_id_edges (const Mesh &mesh, const IndexMask selection, const Span< int > edge_offsets, const bke::AttributeAccessor src_attributes, bke::MutableAttributeAccessor dst_attributes)
 
static void blender::nodes::node_geo_duplicate_elements_cc::duplicate_edges (GeometrySet &geometry_set, const Field< int > &count_field, const Field< bool > &selection_field, const IndexAttributes &attribute_outputs)
 
Duplicate Points (Curves)
static void blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_curve (GeometrySet &geometry_set, const Field< int > &count_field, const Field< bool > &selection_field, const IndexAttributes &attribute_outputs)
 
Duplicate Points (Mesh)
static void blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_mesh (GeometrySet &geometry_set, const Field< int > &count_field, const Field< bool > &selection_field, const IndexAttributes &attribute_outputs)
 
Duplicate Points (Point Cloud)
static void blender::nodes::node_geo_duplicate_elements_cc::duplicate_points_pointcloud (GeometrySet &geometry_set, const Field< int > &count_field, const Field< bool > &selection_field, const IndexAttributes &attribute_outputs)
 
Duplicate Points
static void blender::nodes::node_geo_duplicate_elements_cc::duplicate_points (GeometrySet &geometry_set, const Field< int > &count_field, const Field< bool > &selection_field, const IndexAttributes &attribute_outputs)
 
Duplicate Instances
static void blender::nodes::node_geo_duplicate_elements_cc::duplicate_instances (GeometrySet &geometry_set, const Field< int > &count_field, const Field< bool > &selection_field, const IndexAttributes &attribute_outputs)
 
Entry Point
static void blender::nodes::node_geo_duplicate_elements_cc::node_geo_exec (GeoNodeExecParams params)
 

Function Documentation

◆ register_node_type_geo_duplicate_elements()

void register_node_type_geo_duplicate_elements ( void  )