Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/BKE_mesh_sample.hh
| Show First 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | |||||
| bool front_face_only, | bool front_face_only, | ||||
| int tries_num, | int tries_num, | ||||
| int max_points, | int max_points, | ||||
| Vector<float3> &r_bary_coords, | Vector<float3> &r_bary_coords, | ||||
| Vector<int> &r_looptri_indices, | Vector<int> &r_looptri_indices, | ||||
| Vector<float3> &r_positions); | Vector<float3> &r_positions); | ||||
| float3 compute_bary_coord_in_triangle(Span<float3> vert_positions, | float3 compute_bary_coord_in_triangle(Span<float3> vert_positions, | ||||
| Span<MLoop> loops, | Span<int> corner_verts, | ||||
| const MLoopTri &looptri, | const MLoopTri &looptri, | ||||
| const float3 &position); | const float3 &position); | ||||
| template<typename T> | template<typename T> | ||||
| inline T sample_corner_attrribute_with_bary_coords(const float3 &bary_weights, | inline T sample_corner_attrribute_with_bary_coords(const float3 &bary_weights, | ||||
| const MLoopTri &looptri, | const MLoopTri &looptri, | ||||
| const Span<T> corner_attribute) | const Span<T> corner_attribute) | ||||
| { | { | ||||
| return attribute_math::mix3(bary_weights, | return attribute_math::mix3(bary_weights, | ||||
| corner_attribute[looptri.tri[0]], | corner_attribute[looptri.tri[0]], | ||||
| corner_attribute[looptri.tri[1]], | corner_attribute[looptri.tri[1]], | ||||
| corner_attribute[looptri.tri[2]]); | corner_attribute[looptri.tri[2]]); | ||||
| } | } | ||||
| } // namespace blender::bke::mesh_surface_sample | } // namespace blender::bke::mesh_surface_sample | ||||
| Context not available. | |||||