Blender  V3.3
Classes | Namespaces | Enumerations | Functions
BKE_mesh_sample.hh File Reference
#include "BLI_function_ref.hh"
#include "BLI_generic_virtual_array.hh"
#include "BLI_math_vec_types.hh"
#include "DNA_meshdata_types.h"
#include "BKE_attribute.h"
#include "BKE_attribute.hh"

Go to the source code of this file.

Classes

class  blender::bke::mesh_surface_sample::MeshAttributeInterpolator
 

Namespaces

 blender
 
 blender::bke
 
 blender::bke::mesh_surface_sample
 

Enumerations

enum class  blender::bke::mesh_surface_sample::eAttributeMapMode { blender::bke::mesh_surface_sample::INTERPOLATED , blender::bke::mesh_surface_sample::NEAREST }
 

Functions

void blender::bke::mesh_surface_sample::sample_point_attribute (const Mesh &mesh, Span< int > looptri_indices, Span< float3 > bary_coords, const GVArray &data_in, const IndexMask mask, GMutableSpan data_out)
 
void blender::bke::mesh_surface_sample::sample_corner_attribute (const Mesh &mesh, Span< int > looptri_indices, Span< float3 > bary_coords, const GVArray &data_in, const IndexMask mask, GMutableSpan data_out)
 
void blender::bke::mesh_surface_sample::sample_face_attribute (const Mesh &mesh, Span< int > looptri_indices, const GVArray &data_in, const IndexMask mask, GMutableSpan data_out)
 
int blender::bke::mesh_surface_sample::sample_surface_points_spherical (RandomNumberGenerator &rng, const Mesh &mesh, Span< int > looptri_indices_to_sample, const float3 &sample_pos, float sample_radius, float approximate_density, Vector< float3 > &r_bary_coords, Vector< int > &r_looptri_indices, Vector< float3 > &r_positions)
 
int blender::bke::mesh_surface_sample::sample_surface_points_projected (RandomNumberGenerator &rng, const Mesh &mesh, BVHTreeFromMesh &mesh_bvhtree, const float2 &sample_pos_re, float sample_radius_re, FunctionRef< void(const float2 &pos_re, float3 &r_start, float3 &r_end)> region_position_to_ray, bool front_face_only, int tries_num, int max_points, Vector< float3 > &r_bary_coords, Vector< int > &r_looptri_indices, Vector< float3 > &r_positions)
 
float3 blender::bke::mesh_surface_sample::compute_bary_coord_in_triangle (const Mesh &mesh, const MLoopTri &looptri, const float3 &position)
 
template<typename T >
T blender::bke::mesh_surface_sample::sample_corner_attrribute_with_bary_coords (const float3 &bary_weights, const MLoopTri &looptri, const Span< T > corner_attribute)