|
Blender V4.3
|
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 Map< StringRef, AttributeKind > &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 152 of file node_geo_distribute_points_on_faces.cc.
Referenced by update_elimination_mask_for_close_points().
|
static |
Definition at line 450 of file node_geo_distribute_points_on_faces.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), calc_full_density_factors_with_selection(), mesh, 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 400 of file node_geo_distribute_points_on_faces.cc.
References compute_attribute_outputs(), blender::Span< T >::index_range(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), and normals.
Referenced by compute_attribute_outputs(), and point_distribution_calculate().
|
static |
Definition at line 364 of file node_geo_distribute_points_on_faces.cc.
References blender::Span< T >::index_range(), and normal_tri_v3().
|
static |
Definition at line 327 of file node_geo_distribute_points_on_faces.cc.
References blender::bke::Corner, blender::bke::Face, blender::VArray< T >::ForSpan(), blender::Span< T >::index_range(), blender::threading::parallel_for(), and blender::bke::Point.
|
static |
Definition at line 390 of file node_geo_distribute_points_on_faces.cc.
References blender::threading::parallel_for().
|
static |
Definition at line 479 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, 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 466 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 231 of file node_geo_distribute_points_on_faces.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::remove_and_reorder().
Referenced by distribute_points_poisson_disk().
|
static |
Definition at line 245 of file node_geo_distribute_points_on_faces.cc.
References 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 28 of file node_geo_distribute_points_on_faces.cc.
References b, 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(), blender::bke::GeometryComponent::Mesh, min, node, PROP_DISTANCE, PROP_FACTOR, and blender::nodes::decl::Float::subtype.
Referenced by node_register().
|
static |
Definition at line 577 of file node_geo_distribute_points_on_faces.cc.
References blender::bke::GeometrySet::keep_only_during_modify(), blender::bke::GeometrySet::modify_geometry_sets(), node_geo_exec(), params, point_distribution_calculate(), and seed.
Referenced by node_geo_exec(), and node_register().
|
static |
Definition at line 84 of file node_geo_distribute_points_on_faces.cc.
References ptr, UI_ITEM_NONE, and uiItemR().
Referenced by node_register().
|
static |
Definition at line 89 of file node_geo_distribute_points_on_faces.cc.
References ptr, UI_ITEM_NONE, and uiItemR().
Referenced by node_register().
|
static |
Definition at line 605 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, geo_node_type_base(), blender::bke::bNodeType::geometry_node_execute, NODE_CLASS_GEOMETRY, node_declare(), node_geo_exec(), node_layout(), node_layout_ex(), node_register(), blender::bke::node_register_type(), and blender::bke::node_type_size().
Referenced by node_register().
|
static |
Use an arbitrary choice of axes for a usable rotation attribute directly out of this node.
Definition at line 97 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 503 of file node_geo_distribute_points_on_faces.cc.
References BKE_pointcloud_new_nomain(), compute_attribute_outputs(), 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::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), params, point_distribution_calculate(), propagate_existing_attributes(), blender::bke::GeometrySet::replace_pointcloud(), seed, and blender::bke::SpanAttributeWriter< T >::span.
Referenced by node_geo_exec(), and point_distribution_calculate().
|
static |
Definition at line 287 of file node_geo_distribute_points_on_faces.cc.
References blender::bke::GAttributeReader::domain, blender::bke::GSpanAttributeWriter::finish(), interpolate_attribute(), blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::bke::GSpanAttributeWriter::span, and blender::bke::GAttributeReader::varray.
Referenced by point_distribution_calculate().
|
static |
Definition at line 104 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(), 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 201 of file node_geo_distribute_points_on_faces.cc.
References hash, blender::noise::hash_float_to_float(), and blender::Span< T >::index_range().
Referenced by distribute_points_poisson_disk().
|
static |
Definition at line 166 of file node_geo_distribute_points_on_faces.cc.
References BLI_SCOPED_DEFER, and build_kdtree().
Referenced by distribute_points_poisson_disk().