Blender
V5.0
source
blender
geometry
GEO_add_curves_on_mesh.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
7
#include "
BLI_math_vector_types.hh
"
8
#include "
BLI_span.hh
"
9
10
#include "
BKE_curves.hh
"
11
12
#include "
GEO_reverse_uv_sampler.hh
"
13
14
struct
Mesh
;
15
struct
KDTree_3d;
16
17
namespace
blender::geometry
{
18
19
struct
AddCurvesOnMeshInputs
{
21
Span<float2>
uvs
;
22
24
bool
interpolate_length
=
false
;
25
bool
interpolate_radius
=
false
;
26
bool
interpolate_shape
=
false
;
27
bool
interpolate_point_count
=
false
;
28
bool
interpolate_resolution
=
false
;
29
float
fallback_curve_length
= 0.0f;
30
float
fallback_curve_radius
= 0.0f;
31
int
fallback_point_count
= 0;
32
34
const
Mesh
*
surface
=
nullptr
;
35
Span<int3>
surface_corner_tris
;
36
const
ReverseUVSampler
*
reverse_uv_sampler
=
nullptr
;
37
Span<float3>
corner_normals_su
;
38
39
bke::CurvesSurfaceTransforms
*
transforms
=
nullptr
;
40
45
KDTree_3d *
old_roots_kdtree
=
nullptr
;
46
47
bool
r_uv_error
=
false
;
48
};
49
50
struct
AddCurvesOnMeshOutputs
{
51
bool
uv_error
=
false
;
52
IndexRange
new_curves_range
;
53
IndexRange
new_points_range
;
54
};
55
59
AddCurvesOnMeshOutputs
add_curves_on_mesh
(
bke::CurvesGeometry
&curves,
60
const
AddCurvesOnMeshInputs
&
inputs
);
61
62
float3
compute_surface_point_normal
(
const
int3
&tri,
63
const
float3
&bary_coord,
64
Span<float3>
corner_normals);
65
66
}
// namespace blender::geometry
BKE_curves.hh
Low-level operations for curves.
BLI_math_vector_types.hh
BLI_span.hh
GEO_reverse_uv_sampler.hh
blender::IndexRange
Definition
BLI_index_range.hh:50
blender::Span
Definition
BLI_span.hh:74
blender::bke::CurvesGeometry
Definition
BKE_curves.hh:155
blender::geometry::ReverseUVSampler
Definition
GEO_reverse_uv_sampler.hh:17
blender::geometry
Definition
GEO_add_curves_on_mesh.hh:17
blender::geometry::add_curves_on_mesh
AddCurvesOnMeshOutputs add_curves_on_mesh(bke::CurvesGeometry &curves, const AddCurvesOnMeshInputs &inputs)
Definition
add_curves_on_mesh.cc:312
blender::geometry::compute_surface_point_normal
float3 compute_surface_point_normal(const int3 &tri, const float3 &bary_coord, Span< float3 > corner_normals)
Definition
add_curves_on_mesh.cc:41
blender::int3
VecBase< int32_t, 3 > int3
Definition
BLI_math_vector_types.hh:602
blender::float3
VecBase< float, 3 > float3
Definition
BLI_math_vector_types.hh:619
inputs
static blender::bke::bNodeSocketTemplate inputs[]
Definition
node_texture_at.cc:11
Mesh
Definition
DNA_mesh_types.h:58
blender::bke::CurvesSurfaceTransforms
Definition
BKE_curves.hh:1156
blender::geometry::AddCurvesOnMeshInputs
Definition
GEO_add_curves_on_mesh.hh:19
blender::geometry::AddCurvesOnMeshInputs::interpolate_shape
bool interpolate_shape
Definition
GEO_add_curves_on_mesh.hh:26
blender::geometry::AddCurvesOnMeshInputs::interpolate_resolution
bool interpolate_resolution
Definition
GEO_add_curves_on_mesh.hh:28
blender::geometry::AddCurvesOnMeshInputs::surface
const Mesh * surface
Definition
GEO_add_curves_on_mesh.hh:34
blender::geometry::AddCurvesOnMeshInputs::transforms
bke::CurvesSurfaceTransforms * transforms
Definition
GEO_add_curves_on_mesh.hh:39
blender::geometry::AddCurvesOnMeshInputs::old_roots_kdtree
KDTree_3d * old_roots_kdtree
Definition
GEO_add_curves_on_mesh.hh:45
blender::geometry::AddCurvesOnMeshInputs::interpolate_radius
bool interpolate_radius
Definition
GEO_add_curves_on_mesh.hh:25
blender::geometry::AddCurvesOnMeshInputs::reverse_uv_sampler
const ReverseUVSampler * reverse_uv_sampler
Definition
GEO_add_curves_on_mesh.hh:36
blender::geometry::AddCurvesOnMeshInputs::interpolate_length
bool interpolate_length
Definition
GEO_add_curves_on_mesh.hh:24
blender::geometry::AddCurvesOnMeshInputs::surface_corner_tris
Span< int3 > surface_corner_tris
Definition
GEO_add_curves_on_mesh.hh:35
blender::geometry::AddCurvesOnMeshInputs::fallback_point_count
int fallback_point_count
Definition
GEO_add_curves_on_mesh.hh:31
blender::geometry::AddCurvesOnMeshInputs::fallback_curve_radius
float fallback_curve_radius
Definition
GEO_add_curves_on_mesh.hh:30
blender::geometry::AddCurvesOnMeshInputs::uvs
Span< float2 > uvs
Definition
GEO_add_curves_on_mesh.hh:21
blender::geometry::AddCurvesOnMeshInputs::corner_normals_su
Span< float3 > corner_normals_su
Definition
GEO_add_curves_on_mesh.hh:37
blender::geometry::AddCurvesOnMeshInputs::r_uv_error
bool r_uv_error
Definition
GEO_add_curves_on_mesh.hh:47
blender::geometry::AddCurvesOnMeshInputs::interpolate_point_count
bool interpolate_point_count
Definition
GEO_add_curves_on_mesh.hh:27
blender::geometry::AddCurvesOnMeshInputs::fallback_curve_length
float fallback_curve_length
Definition
GEO_add_curves_on_mesh.hh:29
blender::geometry::AddCurvesOnMeshOutputs
Definition
GEO_add_curves_on_mesh.hh:50
blender::geometry::AddCurvesOnMeshOutputs::new_points_range
IndexRange new_points_range
Definition
GEO_add_curves_on_mesh.hh:53
blender::geometry::AddCurvesOnMeshOutputs::new_curves_range
IndexRange new_curves_range
Definition
GEO_add_curves_on_mesh.hh:52
blender::geometry::AddCurvesOnMeshOutputs::uv_error
bool uv_error
Definition
GEO_add_curves_on_mesh.hh:51
Generated on
for Blender by
doxygen
1.16.1