Blender V5.0
grease_pencil_interpolate.cc File Reference
#include "BKE_colortools.hh"
#include "BKE_context.hh"
#include "BKE_curves.hh"
#include "BKE_deform.hh"
#include "BKE_grease_pencil.hh"
#include "BKE_paint.hh"
#include "BLI_array_utils.hh"
#include "BLI_easing.h"
#include "BLI_index_mask.hh"
#include "BLI_math_angle_types.hh"
#include "BLI_math_geom.h"
#include "BLI_math_rotation.h"
#include "BLI_math_rotation.hh"
#include "BLI_math_vector.hh"
#include "BLI_offset_indices.hh"
#include "BLI_task.hh"
#include "BLT_translation.hh"
#include "DEG_depsgraph.hh"
#include "DNA_grease_pencil_types.h"
#include "ED_curves.hh"
#include "ED_grease_pencil.hh"
#include "ED_numinput.hh"
#include "ED_screen.hh"
#include "GEO_interpolate_curves.hh"
#include "GEO_smooth_curves.hh"
#include "MEM_guardedalloc.h"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "RNA_enum_types.hh"
#include "RNA_prototypes.hh"
#include "UI_interface.hh"
#include "UI_interface_layout.hh"
#include "UI_resources.hh"
#include <climits>

Go to the source code of this file.

Classes

struct  blender::ed::sculpt_paint::greasepencil::InterpolationPairs
struct  blender::ed::sculpt_paint::greasepencil::InterpolateOpData
struct  blender::ed::sculpt_paint::greasepencil::InterpolateOpData::LayerData

Namespaces

namespace  blender
namespace  blender::ed
namespace  blender::ed::sculpt_paint
namespace  blender::ed::sculpt_paint::greasepencil

Enumerations

enum class  blender::ed::sculpt_paint::greasepencil::InterpolateFlipMode
enum class  blender::ed::sculpt_paint::greasepencil::InterpolateLayerMode

Functions

Interpolate Sequence Operator
static float blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_easing_calc (const eBezTriple_Easing easing, const InterpolationType type, const float back_easing, const float amplitude, const float period, const CurveMapping &custom_ipo, const float time)
static wmOperatorStatus blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_exec (bContext *C, wmOperator *op)
static void blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_ui (bContext *C, wmOperator *op)
static void blender::ed::sculpt_paint::greasepencil::GREASE_PENCIL_OT_interpolate_sequence (wmOperatorType *ot)
Registration
void ED_operatortypes_grease_pencil_interpolate ()
void ED_interpolatetool_modal_keymap (wmKeyConfig *keyconf)

Common Utilities for Interpolation Operators

enum class  blender::ed::sculpt_paint::greasepencil::InterpolationType {
  blender::ed::sculpt_paint::greasepencil::Linear , blender::ed::sculpt_paint::greasepencil::CurveMap , blender::ed::sculpt_paint::greasepencil::Back , blender::ed::sculpt_paint::greasepencil::Bounce ,
  blender::ed::sculpt_paint::greasepencil::Circular , blender::ed::sculpt_paint::greasepencil::Cubic , blender::ed::sculpt_paint::greasepencil::Elastic , blender::ed::sculpt_paint::greasepencil::Exponential ,
  blender::ed::sculpt_paint::greasepencil::Quadratic , blender::ed::sculpt_paint::greasepencil::Quartic , blender::ed::sculpt_paint::greasepencil::Quintic , blender::ed::sculpt_paint::greasepencil::Sine
}
using blender::ed::sculpt_paint::greasepencil::FramesMapKeyIntervalT = std::pair<int, int>
static const EnumPropertyItem blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolation_type_items []
static const EnumPropertyItem blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_flip_mode_items []
static const EnumPropertyItem blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_layer_items []
constexpr float blender::ed::sculpt_paint::greasepencil::interpolate_factor_min = -1.0f
constexpr float blender::ed::sculpt_paint::greasepencil::interpolate_factor_max = 2.0f
static std::optional< FramesMapKeyIntervalTblender::ed::sculpt_paint::greasepencil::find_frames_interval (const bke::greasepencil::Layer &layer, const int frame_number, const bool exclude_breakdowns)
static bool blender::ed::sculpt_paint::greasepencil::find_curve_mapping_from_index (const GreasePencil &grease_pencil, const bke::greasepencil::Layer &layer, const int current_frame, const bool exclude_breakdowns, const bool only_selected, InterpolationPairs &pairs)
static Vector< int > blender::ed::sculpt_paint::greasepencil::find_curve_pair_offsets (const InterpolationPairs &curve_pairs, const Span< int > order)
static bool blender::ed::sculpt_paint::greasepencil::compute_auto_flip (const Span< float3 > from_positions, const Span< float3 > to_positions)
static bke::CurvesGeometry blender::ed::sculpt_paint::greasepencil::interpolate_between_curves (const GreasePencil &grease_pencil, const bke::greasepencil::Layer &layer, const InterpolationPairs &curve_pairs, const float mix_factor, const InterpolateFlipMode flip_mode)

Interpolate Operator

enum class  blender::ed::sculpt_paint::greasepencil::InterpolateToolModalEvent : int8_t { blender::ed::sculpt_paint::greasepencil::Cancel = 1 , blender::ed::sculpt_paint::greasepencil::Confirm , blender::ed::sculpt_paint::greasepencil::Increase , blender::ed::sculpt_paint::greasepencil::Decrease }
static void blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_status_indicators (bContext &C, const InterpolateOpData &opdata)
static bke::greasepencil::Drawingblender::ed::sculpt_paint::greasepencil::get_drawing_at_exact_frame (GreasePencil &grease_pencil, bke::greasepencil::Layer &layer, const int frame_number)
static bke::greasepencil::Drawingblender::ed::sculpt_paint::greasepencil::ensure_drawing_at_exact_frame (GreasePencil &grease_pencil, bke::greasepencil::Layer &layer, InterpolateOpData::LayerData &layer_data, const int frame_number)
static void blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_update (bContext &C, const wmOperator &op)
static void blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_restore (bContext &C, wmOperator &op)
static bool blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_init (const bContext &C, wmOperator &op)
static void blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_exit (bContext &C, wmOperator &op)
static bool blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_poll (bContext *C)
static wmOperatorStatus blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_invoke (bContext *C, wmOperator *op, const wmEvent *)
static wmOperatorStatus blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_modal (bContext *C, wmOperator *op, const wmEvent *event)
static void blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_cancel (bContext *C, wmOperator *op)
static void blender::ed::sculpt_paint::greasepencil::GREASE_PENCIL_OT_interpolate (wmOperatorType *ot)

Function Documentation

◆ ED_interpolatetool_modal_keymap()

◆ ED_operatortypes_grease_pencil_interpolate()