199 GeometryComponentEditData::remember_deformed_positions_if_necessary(geometry_set);
201 std::optional<std::string> rotation_anonymous_id =
202 params.get_output_anonymous_attribute_id_if_needed(
"Rotation");
203 const bool need_tangent_and_normal = bool(rotation_anonymous_id);
204 std::optional<std::string> tangent_anonymous_id =
205 params.get_output_anonymous_attribute_id_if_needed(
"Tangent", need_tangent_and_normal);
206 std::optional<std::string> normal_anonymous_id =
207 params.get_output_anonymous_attribute_id_if_needed(
"Normal", need_tangent_and_normal);
210 resample_attributes.
tangent_id = tangent_anonymous_id;
211 resample_attributes.
normal_id = normal_anonymous_id;
220 src_curves_id->geometry.wrap(),
222 fn::make_constant_field<bool>(
true),
224 resample_attributes);
226 dst_curves, attribute_filter, resample_attributes, rotation_anonymous_id);
231 for (
const int layer_index : grease_pencil->layers().index_range()) {
233 grease_pencil->layer(layer_index));
234 if (drawing ==
nullptr) {
240 fn::make_constant_field<bool>(
true),
242 resample_attributes);
244 dst_curves, attribute_filter, resample_attributes, rotation_anonymous_id);
257 src_curves_id->geometry.wrap(),
259 fn::make_constant_field<bool>(
true),
261 resample_attributes);
263 dst_curves, attribute_filter, resample_attributes, rotation_anonymous_id);
268 for (
const int layer_index : grease_pencil->layers().index_range()) {
270 grease_pencil->layer(layer_index));
271 if (drawing ==
nullptr) {
277 fn::make_constant_field<bool>(
true),
279 resample_attributes);
281 dst_curves, attribute_filter, resample_attributes, rotation_anonymous_id);
293 src_curves_id->geometry.wrap(),
295 fn::make_constant_field<bool>(
true),
296 resample_attributes);
298 dst_curves, attribute_filter, resample_attributes, rotation_anonymous_id);
304 for (
const int layer_index : grease_pencil->layers().index_range()) {
306 grease_pencil->layer(layer_index));
307 if (drawing ==
nullptr) {
313 fn::make_constant_field<bool>(
true),
314 resample_attributes);
316 dst_curves, attribute_filter, resample_attributes, rotation_anonymous_id);
326 params.set_output(
"Points", std::move(geometry_set));