2023-08-15 16:20:26 +02:00
|
|
|
/* SPDX-FileCopyrightText: 2019 Blender Authors
|
2023-05-31 16:19:06 +02:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
2019-09-11 11:09:39 +02:00
|
|
|
|
|
|
|
/** \file
|
|
|
|
* \ingroup bke
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "BLI_sys_types.h"
|
|
|
|
|
|
|
|
struct Mesh;
|
|
|
|
struct Subdiv;
|
|
|
|
|
2019-09-26 12:01:52 +02:00
|
|
|
/* Special version of subdivision surface which calculates final positions for coarse vertices.
|
2020-04-03 03:38:04 +02:00
|
|
|
* Effectively is pushing the coarse positions to the limit surface.
|
2020-03-30 12:26:29 +02:00
|
|
|
*
|
|
|
|
* One of the usage examples is calculation of crazy space of subdivision modifier, allowing to
|
2020-04-03 03:38:04 +02:00
|
|
|
* paint on a deformed mesh with sub-surf on it.
|
2019-09-26 12:01:52 +02:00
|
|
|
*
|
|
|
|
* vertex_cos are supposed to hold coordinates of the coarse mesh. */
|
2023-08-03 01:11:28 +02:00
|
|
|
void BKE_subdiv_deform_coarse_vertices(Subdiv *subdiv,
|
|
|
|
const Mesh *coarse_mesh,
|
2019-09-11 11:09:39 +02:00
|
|
|
float (*vertex_cos)[3],
|
|
|
|
int num_verts);
|