|
Blender V5.0
|
Functions | |
| static void | node_declare (NodeDeclarationBuilder &b) |
| static void | node_layout (uiLayout *layout, bContext *, PointerRNA *ptr) |
| static void | node_layout_ex (uiLayout *layout, bContext *, PointerRNA *ptr) |
| static math::Quaternion | normal_to_rotation (const float3 normal) |
| static void | 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 * | build_kdtree (Span< float3 > positions) |
| static BLI_NOINLINE void | update_elimination_mask_for_close_points (Span< float3 > positions, const float minimum_distance, MutableSpan< bool > elimination_mask) |
| static BLI_NOINLINE void | 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 | 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 | 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 | propagate_existing_attributes (const Mesh &mesh, const GeometrySet::GatheredAttributes &attributes, PointCloud &points, const Span< float3 > bary_coords, const Span< int > tri_indices) |
| static void | compute_normal_outputs (const Mesh &mesh, const Span< float3 > bary_coords, const Span< int > tri_indices, MutableSpan< float3 > r_normals) |
| static void | compute_legacy_normal_outputs (const Mesh &mesh, const Span< float3 > bary_coords, const Span< int > tri_indices, MutableSpan< float3 > r_normals) |
| static void | compute_rotation_output (const Span< float3 > normals, MutableSpan< math::Quaternion > r_rotations) |
| static BLI_NOINLINE void | 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< float > | calc_full_density_factors_with_selection (const Mesh &mesh, const Field< float > &density_field, const Field< bool > &selection_field) |
| static void | 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 | 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 | point_distribution_calculate (GeometrySet &geometry_set, const Field< bool > selection_field, const GeometryNodeDistributePointsOnFacesMode method, const int seed, const AttributeOutputs &attribute_outputs, const GeoNodeExecParams ¶ms) |
| static void | node_geo_exec (GeoNodeExecParams params) |
| static void | node_register () |
|
static |
Definition at line 156 of file node_geo_distribute_points_on_faces.cc.
References BLI_NOINLINE, and blender::Span< T >::size().
Referenced by update_elimination_mask_for_close_points().
|
static |
Definition at line 457 of file node_geo_distribute_points_on_faces.cc.
References blender::fn::FieldEvaluator::add_with_destination(), blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), Geometry::attributes, calc_full_density_factors_with_selection(), blender::fn::FieldEvaluator::evaluate(), and blender::fn::FieldEvaluator::set_selection().
Referenced by calc_full_density_factors_with_selection(), distribute_points_poisson_disk(), and distribute_points_random().
|
static |
Definition at line 407 of file node_geo_distribute_points_on_faces.cc.
References BLI_NOINLINE, compute_attribute_outputs(), blender::Span< T >::index_range(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), normals, and blender::threading::parallel_for().
Referenced by compute_attribute_outputs(), and point_distribution_calculate().
|
static |
Definition at line 371 of file node_geo_distribute_points_on_faces.cc.
References i, blender::Span< T >::index_range(), and normal_tri_v3().
|
static |
Definition at line 334 of file node_geo_distribute_points_on_faces.cc.
References blender::bke::Corner, blender::bke::Face, blender::VArray< T >::from_span(), blender::Span< T >::index_range(), blender::threading::parallel_for(), and blender::bke::Point.
|
static |
Definition at line 397 of file node_geo_distribute_points_on_faces.cc.
References normals, and blender::threading::parallel_for().
|
static |
Definition at line 486 of file node_geo_distribute_points_on_faces.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::as_mutable_span(), calc_full_density_factors_with_selection(), distribute_points_poisson_disk(), eliminate_points_based_on_mask(), sample_mesh_surface(), seed, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), update_elimination_mask_based_on_density_factors(), and update_elimination_mask_for_close_points().
Referenced by distribute_points_poisson_disk(), and point_distribution_calculate().
|
static |
Definition at line 473 of file node_geo_distribute_points_on_faces.cc.
References calc_full_density_factors_with_selection(), distribute_points_random(), sample_mesh_surface(), and seed.
Referenced by distribute_points_random(), and point_distribution_calculate().
|
static |
Definition at line 235 of file node_geo_distribute_points_on_faces.cc.
References BLI_NOINLINE, i, blender::Vector< T, InlineBufferCapacity, Allocator >::remove_and_reorder(), and blender::Vector< T, InlineBufferCapacity, Allocator >::size().
Referenced by distribute_points_poisson_disk().
|
static |
Definition at line 249 of file node_geo_distribute_points_on_faces.cc.
References BLI_NOINLINE, blender::bke::mesh_surface_sample::sample_corner_attribute(), blender::bke::mesh_surface_sample::sample_face_attribute(), blender::bke::mesh_surface_sample::sample_point_attribute(), blender::GMutableSpan::size(), and source_data.
Referenced by propagate_existing_attributes().
|
static |
Definition at line 30 of file node_geo_distribute_points_on_faces.cc.
References b, bNode::custom1, blender::nodes::SocketDeclaration::description, GEO_NODE_POINT_DISTRIBUTE_POINTS_ON_FACES_POISSON, GEO_NODE_POINT_DISTRIBUTE_POINTS_ON_FACES_RANDOM, blender::nodes::SocketDeclaration::hide_value, blender::nodes::SocketDeclaration::make_available(), min, PROP_DISTANCE, PROP_FACTOR, and blender::nodes::decl::Float::subtype.
Referenced by node_register().
|
static |
Definition at line 581 of file node_geo_distribute_points_on_faces.cc.
References blender::geometry::foreach_real_geometry(), blender::bke::GeometrySet::keep_only(), node_geo_exec(), params, point_distribution_calculate(), seed, and blender::lazy_threading::send_hint().
Referenced by node_geo_exec(), and node_register().
|
static |
Definition at line 88 of file node_geo_distribute_points_on_faces.cc.
References uiLayout::prop(), ptr, and UI_ITEM_NONE.
Referenced by node_register().
|
static |
Definition at line 93 of file node_geo_distribute_points_on_faces.cc.
References uiLayout::prop(), ptr, and UI_ITEM_NONE.
Referenced by node_register().
|
static |
Definition at line 609 of file node_geo_distribute_points_on_faces.cc.
References blender::bke::bNodeType::declare, blender::bke::bNodeType::draw_buttons, blender::bke::bNodeType::draw_buttons_ex, blender::bke::bNodeType::enum_name_legacy, GEO_NODE_DISTRIBUTE_POINTS_ON_FACES, geo_node_type_base(), blender::bke::bNodeType::geometry_node_execute, blender::bke::bNodeType::nclass, NODE_CLASS_GEOMETRY, node_declare(), node_geo_exec(), node_layout(), node_layout_ex(), node_register(), blender::bke::node_register_type(), blender::bke::node_type_size(), blender::bke::bNodeType::ui_description, and blender::bke::bNodeType::ui_name.
Referenced by node_register().
|
static |
Use an arbitrary choice of axes for a usable rotation attribute directly out of this node.
Definition at line 101 of file node_geo_distribute_points_on_faces.cc.
References blender::math::normalize(), OB_NEGZ, OB_POSY, and vec_to_quat().
|
static |
Definition at line 510 of file node_geo_distribute_points_on_faces.cc.
References BKE_pointcloud_new_nomain(), compute_attribute_outputs(), blender::geometry::debug_randomize_point_order(), distribute_points_poisson_disk(), distribute_points_random(), blender::bke::SpanAttributeWriter< T >::finish(), blender::bke::GeometrySet::gather_attributes_for_propagation(), GEO_NODE_POINT_DISTRIBUTE_POINTS_ON_FACES_POISSON, GEO_NODE_POINT_DISTRIBUTE_POINTS_ON_FACES_RANDOM, blender::bke::GeometrySet::get_mesh(), blender::bke::GeometrySet::has_mesh(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), params, point_distribution_calculate(), propagate_existing_attributes(), blender::bke::GeometrySet::replace_pointcloud(), seed, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by node_geo_exec(), and point_distribution_calculate().
|
static |
Definition at line 291 of file node_geo_distribute_points_on_faces.cc.
References Geometry::attributes, BLI_NOINLINE, blender::bke::GAttributeReader::domain, blender::bke::GSpanAttributeWriter::finish(), i, interpolate_attribute(), blender::nodes::GeometrySet::GatheredAttributes::kinds, blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::nodes::GeometrySet::GatheredAttributes::names, blender::bke::GSpanAttributeWriter::span, and blender::bke::GAttributeReader::varray.
Referenced by point_distribution_calculate().
|
static |
Definition at line 108 of file node_geo_distribute_points_on_faces.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), area_tri_v3(), blender::RandomNumberGenerator::get_barycentric_coordinates(), blender::noise::hash(), i, blender::Span< T >::index_range(), interp_v3_v3v3v3(), blender::Span< T >::is_empty(), blender::RandomNumberGenerator::round_probabilistic(), and seed.
Referenced by distribute_points_poisson_disk(), and distribute_points_random().
|
static |
Definition at line 205 of file node_geo_distribute_points_on_faces.cc.
References BLI_NOINLINE, hash, blender::noise::hash_float_to_float(), i, and blender::Span< T >::index_range().
Referenced by distribute_points_poisson_disk().
|
static |
Definition at line 170 of file node_geo_distribute_points_on_faces.cc.
References BLI_NOINLINE, BLI_SCOPED_DEFER, build_kdtree(), i, and blender::Span< T >::index_range().
Referenced by distribute_points_poisson_disk().