Previously, curves sculpt tools only worked on original data. This was very limiting, because one could effectively only sculpt the curves when all procedural effects were turned off. This patch adds support for curves sculpting while looking the result of procedural effects (like deformation based on the surface mesh). This functionality is also known as "crazy space" support in Blender. For more details see D15407. Differential Revision: https://developer.blender.org/D15407
38 lines
858 B
C++
38 lines
858 B
C++
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#pragma once
|
|
|
|
/** \file
|
|
* \ingroup bke
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct Collection;
|
|
struct GeometrySet;
|
|
struct Object;
|
|
|
|
/* Each geometry component has a specific type. The type determines what kind of data the component
|
|
* stores. Functions modifying a geometry will usually just modify a subset of the component types.
|
|
*/
|
|
typedef enum GeometryComponentType {
|
|
GEO_COMPONENT_TYPE_MESH = 0,
|
|
GEO_COMPONENT_TYPE_POINT_CLOUD = 1,
|
|
GEO_COMPONENT_TYPE_INSTANCES = 2,
|
|
GEO_COMPONENT_TYPE_VOLUME = 3,
|
|
GEO_COMPONENT_TYPE_CURVE = 4,
|
|
GEO_COMPONENT_TYPE_EDIT = 5,
|
|
} GeometryComponentType;
|
|
|
|
#define GEO_COMPONENT_TYPE_ENUM_SIZE 6
|
|
|
|
void BKE_geometry_set_free(struct GeometrySet *geometry_set);
|
|
|
|
bool BKE_object_has_geometry_set_instances(const struct Object *ob);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|