Blender V4.3
node_geo_distribute_points_on_faces.cc File Reference
#include "BLI_kdtree.h"
#include "BLI_math_geom.h"
#include "BLI_math_rotation.h"
#include "BLI_noise.hh"
#include "BLI_rand.hh"
#include "BLI_task.hh"
#include "DNA_pointcloud_types.h"
#include "BKE_attribute_math.hh"
#include "BKE_mesh.hh"
#include "BKE_mesh_sample.hh"
#include "BKE_pointcloud.hh"
#include "UI_interface.hh"
#include "UI_resources.hh"
#include "GEO_randomize.hh"
#include "node_geometry_util.hh"

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::nodes
 
namespace  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 *, PointerRNA *ptr)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::node_layout_ex (uiLayout *layout, bContext *, PointerRNA *ptr)
 
static math::Quaternion blender::nodes::node_geo_distribute_points_on_faces_cc::normal_to_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_tri_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 > tri_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 > &tri_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 > tri_indices, const AttrDomain 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 Mesh &mesh, const Map< StringRef, AttributeKind > &attributes, PointCloud &points, const Span< float3 > bary_coords, const Span< int > tri_indices)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::compute_normal_outputs (const Mesh &mesh, const Span< float3 > bary_coords, const Span< int > tri_indices, MutableSpan< float3 > r_normals)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::compute_legacy_normal_outputs (const Mesh &mesh, const Span< float3 > bary_coords, const Span< int > tri_indices, MutableSpan< float3 > r_normals)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::compute_rotation_output (const Span< float3 > normals, MutableSpan< math::Quaternion > r_rotations)
 
static BLI_NOINLINE void blender::nodes::node_geo_distribute_points_on_faces_cc::compute_attribute_outputs (const Mesh &mesh, PointCloud &points, const Span< float3 > bary_coords, const Span< int > tri_indices, const AttributeOutputs &attribute_outputs, const bool use_legacy_normal)
 
static Array< floatblender::nodes::node_geo_distribute_points_on_faces_cc::calc_full_density_factors_with_selection (const Mesh &mesh, 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 Mesh &mesh, const Field< float > &density_field, const Field< bool > &selection_field, const int seed, Vector< float3 > &positions, Vector< float3 > &bary_coords, Vector< int > &tri_indices)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::distribute_points_poisson_disk (const Mesh &mesh, 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 > &tri_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)
 
static void blender::nodes::node_geo_distribute_points_on_faces_cc::node_register ()
 

Variable Documentation

◆ normal_id

std::optional<std::string> normal_id

◆ rotation_id

std::optional<std::string> rotation_id