51 const void *
data =
attribute.varray.get_internal_span().data();
66 if (curves_id ==
nullptr) {
74 const int points_num =
curves.points_num();
90 if (grease_pencil ==
nullptr) {
97 const int layers_num = layers.
size();
98 if (layers_num != orig_layers.
size()) {
104 for (
const int layer_index : layers.
index_range()) {
106 grease_pencil->layer(layer_index));
109 orig_layer, grease_pencil->
runtime->eval_frame);
111 if (!drawing || !orig_drawing) {
Low-level operations for curves.
Low-level operations for grease pencil.
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Gabor Generate Gabor noise Gradient Generate interpolated color and intensity values based on the input vector Magic Generate a psychedelic color texture Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between and object coordinate space Combine Create a color from its and value channels Color Retrieve a color attribute
constexpr int64_t size() const
constexpr IndexRange index_range() const
const Curves & curves_id_orig
ImplicitSharingPtrAndData positions_data
std::optional< Span< float3 > > positions() const
std::unique_ptr< GreasePencilEditHints > grease_pencil_edit_hints_
GeometryComponentPtr copy() const final
std::unique_ptr< GizmoEditHints > gizmo_edit_hints_
bool owns_direct_data() const final
void ensure_owns_direct_data() final
std::unique_ptr< CurvesEditHints > curves_edit_hints_
static void remember_deformed_positions_if_necessary(GeometrySet &geometry)
GeometryComponentEditData()
GeometryComponent(Type type)
const greasepencil::Drawing * drawing_orig
ImplicitSharingPtrAndData positions_data
const bke::CurvesGeometry & strokes() const
ImplicitSharingPtr< GeometryComponent > GeometryComponentPtr
static void remember_deformed_grease_pencil_if_necessary(const GreasePencil *grease_pencil, GeometryComponentEditData &edit_component)
static void remember_deformed_curve_positions_if_necessary(const Curves *curves_id, GeometryComponentEditData &edit_component)
static ImplicitSharingPtrAndData save_shared_attribute(const GAttributeReader &attribute)
GreasePencilRuntimeHandle * runtime