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();
101 for (
const int eval_layer_index : layers.
index_range()) {
104 if (eval_layer.
runtime->orig_layer_index_ == -1) {
109 orig_layer, grease_pencil->
runtime->eval_frame);
111 if (!drawing || !orig_drawing) {
Low-level operations for curves.
Low-level operations for grease pencil.
BMesh const char void * data
const void * data() const
GSpan get_internal_span() const
const CPPType & type() const
void materialize(void *dst) const
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)
GreasePencilLayerRuntimeHandle * runtime
GreasePencilRuntimeHandle * runtime
const ImplicitSharingInfo * sharing_info