Blender  V3.3
Namespaces | Functions
node_geo_distribute_points_on_faces.cc File Reference
#include "BLI_kdtree.h"
#include "BLI_noise.hh"
#include "BLI_rand.hh"
#include "BLI_task.hh"
#include "BLI_timeit.hh"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_pointcloud_types.h"
#include "BKE_attribute_math.hh"
#include "BKE_bvhutils.h"
#include "BKE_mesh.h"
#include "BKE_mesh_runtime.h"
#include "BKE_mesh_sample.hh"
#include "BKE_pointcloud.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "node_geometry_util.hh"

Go to the source code of this file.

Namespaces

 blender
 
 blender::nodes
 
 blender::nodes::node_geo_distribute_points_on_faces_cc
 

Functions

static void blender::nodes::node_geo_distribute_points_on_faces_cc::node_declare (NodeDeclarationBuilder &b)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::node_layout (uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::node_point_distribute_points_on_faces_update (bNodeTree *ntree, bNode *node)
 
static float3 blender::nodes::node_geo_distribute_points_on_faces_cc::normal_to_euler_rotation (const float3 normal)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::sample_mesh_surface (const Mesh &mesh, const float base_density, const Span< float > density_factors, const int seed, Vector< float3 > &r_positions, Vector< float3 > &r_bary_coords, Vector< int > &r_looptri_indices)
 
static BLI_NOINLINE KDTree_3d * blender::nodes::node_geo_distribute_points_on_faces_cc::build_kdtree (Span< float3 > positions)
 
static BLI_NOINLINE void blender::nodes::node_geo_distribute_points_on_faces_cc::update_elimination_mask_for_close_points (Span< float3 > positions, const float minimum_distance, MutableSpan< bool > elimination_mask)
 
static BLI_NOINLINE void blender::nodes::node_geo_distribute_points_on_faces_cc::update_elimination_mask_based_on_density_factors (const Mesh &mesh, const Span< float > density_factors, const Span< float3 > bary_coords, const Span< int > looptri_indices, const MutableSpan< bool > elimination_mask)
 
static BLI_NOINLINE void blender::nodes::node_geo_distribute_points_on_faces_cc::eliminate_points_based_on_mask (const Span< bool > elimination_mask, Vector< float3 > &positions, Vector< float3 > &bary_coords, Vector< int > &looptri_indices)
 
static BLI_NOINLINE void blender::nodes::node_geo_distribute_points_on_faces_cc::interpolate_attribute (const Mesh &mesh, const Span< float3 > bary_coords, const Span< int > looptri_indices, const eAttrDomain source_domain, const GVArray &source_data, GMutableSpan output_data)
 
static BLI_NOINLINE void blender::nodes::node_geo_distribute_points_on_faces_cc::propagate_existing_attributes (const MeshComponent &mesh_component, const Map< AttributeIDRef, AttributeKind > &attributes, GeometryComponent &point_component, const Span< float3 > bary_coords, const Span< int > looptri_indices)
 
static BLI_NOINLINE void blender::nodes::node_geo_distribute_points_on_faces_cc::compute_attribute_outputs (const MeshComponent &mesh_component, PointCloudComponent &point_component, const Span< float3 > bary_coords, const Span< int > looptri_indices, const AttributeOutputs &attribute_outputs)
 
static Array< floatblender::nodes::node_geo_distribute_points_on_faces_cc::calc_full_density_factors_with_selection (const MeshComponent &component, const Field< float > &density_field, const Field< bool > &selection_field)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::distribute_points_random (const MeshComponent &component, const Field< float > &density_field, const Field< bool > &selection_field, const int seed, Vector< float3 > &positions, Vector< float3 > &bary_coords, Vector< int > &looptri_indices)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::distribute_points_poisson_disk (const MeshComponent &mesh_component, const float minimum_distance, const float max_density, const Field< float > &density_factor_field, const Field< bool > &selection_field, const int seed, Vector< float3 > &positions, Vector< float3 > &bary_coords, Vector< int > &looptri_indices)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::point_distribution_calculate (GeometrySet &geometry_set, const Field< bool > selection_field, const GeometryNodeDistributePointsOnFacesMode method, const int seed, const AttributeOutputs &attribute_outputs, const GeoNodeExecParams &params)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::node_geo_exec (GeoNodeExecParams params)
 
void register_node_type_geo_distribute_points_on_faces ()
 

Function Documentation

◆ register_node_type_geo_distribute_points_on_faces()

void register_node_type_geo_distribute_points_on_faces ( void  )

Variable Documentation

◆ normal_id

StrongAnonymousAttributeID normal_id

Definition at line 324 of file node_geo_distribute_points_on_faces.cc.

◆ rotation_id

StrongAnonymousAttributeID rotation_id

Definition at line 325 of file node_geo_distribute_points_on_faces.cc.