29class GreasePencilDrawingRuntime;
63#define GP_STROKE_MITER_ANGLE_ROUND 0.0f
64#define GP_STROKE_MITER_ANGLE_BEVEL DEG2RADF(180.0f)
165 bool is_implicit_hold()
const;
166 bool is_selected()
const;
405#define GREASE_PENCIL_ONION_SKINNING_FILTER_ALL \
406 (GP_ONION_SKINNING_FILTER_KEYTYPE_KEYFRAME | GP_ONION_SKINNING_FILTER_KEYTYPE_EXTREME | \
407 GP_ONION_SKINNING_FILTER_KEYTYPE_BREAKDOWN | GP_ONION_SKINNING_FILTER_KEYTYPE_JITTER | \
408 GP_ONION_SKINNING_FILTER_KEYTYPE_MOVEHOLD)
541 bool has_active_layer()
const;
546 void autolock_inactive_layers();
549 bool has_active_group()
const;
561 bool check_name_is_unique =
true);
566 bool check_name_is_unique =
true);
570 bool duplicate_frames =
false,
571 bool duplicate_drawings =
false);
576 bool duplicate_frames =
false,
577 bool duplicate_drawings =
false);
580 bool check_name_is_unique =
true);
584 bool check_name_is_unique =
true);
590 void add_layers_for_eval(
int num_new_layers);
611 void rename_node(
Main &bmain,
655 const std::optional<int> frame_select = std::nullopt);
660 void add_layers_with_empty_drawings_for_eval(
int num);
666 void resize_drawings(
int new_num);
668 void add_empty_drawings(
int add_num);
669 void add_duplicate_drawings(
int duplicate_num,
672 int src_frame_number,
673 int dst_frame_number,
708 void remove_drawings_with_no_users();
738 std::optional<blender::Bounds<blender::float3>> bounds_min_max(
int frame,
739 bool use_radius =
true)
const;
740 std::optional<blender::Bounds<blender::float3>> bounds_min_max_eval(
741 bool use_radius =
true)
const;
749 std::optional<int> material_index_max_eval()
const;
760 void print_layer_tree();
761 void validate_drawing_user_counts();
ATTR_WARN_UNUSED_RESULT const size_t num
ID and Library types, which are fundamental for SDNA.
GreasePencilLayerBlendMode
@ GP_LAYER_BLEND_HARDLIGHT
@ GP_LAYER_BLEND_MULTIPLY
@ GP_LAYER_BLEND_SUBTRACT
GreasePencilStrokeCapType
@ GP_STROKE_CAP_TYPE_FLAT
@ GP_STROKE_CAP_TYPE_ROUND
GreasePencilLayerFramesMapStorageFlag
@ GP_LAYER_FRAMES_STORAGE_DIRTY
GreasePencilOnionSkinningMode
@ GP_ONION_SKINNING_MODE_ABSOLUTE
@ GP_ONION_SKINNING_MODE_SELECTED
@ GP_ONION_SKINNING_MODE_RELATIVE
GreasePencilDrawingBaseFlag
@ GreasePencilDrawingBaseFlag_TODO
GreasePencilLayerMaskFlag
GreasePencilLayerTreeNodeType
GreasePencilLayerTreeNodeFlag
@ GP_LAYER_TREE_NODE_EXPANDED
@ GP_LAYER_TREE_NODE_IGNORE_LOCKED_MATERIALS
@ GP_LAYER_TREE_NODE_LOCKED
@ GP_LAYER_TREE_NODE_MUTE
@ GP_LAYER_TREE_NODE_HIDE
@ GP_LAYER_TREE_NODE_SELECT
@ GP_LAYER_TREE_NODE_HIDE_ONION_SKINNING
@ GP_LAYER_TREE_NODE_USE_LIGHTS
@ GP_LAYER_TREE_NODE_HIDE_MASKS
@ GP_LAYER_TREE_NODE_DISABLE_MASKS_IN_VIEWLAYER
struct GreasePencilRuntimeHandle GreasePencilRuntimeHandle
@ GREASE_PENCIL_AUTOLOCK_LAYERS
@ GREASE_PENCIL_ANIM_CHANNEL_EXPANDED
@ GREASE_PENCIL_STROKE_ORDER_3D
struct GreasePencilLayerRuntimeHandle GreasePencilLayerRuntimeHandle
GreasePencilOnionSkinningFlag
@ GP_ONION_SKINNING_USE_FADE
@ GP_ONION_SKINNING_SHOW_LOOP
@ GP_ONION_SKINNING_USE_CUSTOM_COLORS
GreasePencilOnionSkinningFilter
@ GP_ONION_SKINNING_FILTER_KEYTYPE_MOVEHOLD
@ GP_ONION_SKINNING_FILTER_KEYTYPE_JITTER
@ GP_ONION_SKINNING_FILTER_KEYTYPE_KEYFRAME
@ GP_ONION_SKINNING_FILTER_KEYTYPE_BREAKDOWN
@ GP_ONION_SKINNING_FILTER_KEYTYPE_EXTREME
struct GreasePencilLayerGroupRuntimeHandle GreasePencilLayerGroupRuntimeHandle
struct GreasePencilDrawingRuntimeHandle GreasePencilDrawingRuntimeHandle
These structs are the foundation for all linked lists in the library system.
VecBase< float, D > step(VecOp< float, D >, VecOp< float, D >) RET
float wrap(float value, float max, float min)
struct GreasePencil * id_reference
GreasePencilDrawingBase base
GreasePencilDrawingBase base
GreasePencilDrawingRuntimeHandle * runtime
GreasePencilFrame * values
struct GreasePencilLayerMask * next
struct GreasePencilLayerMask * prev
GreasePencilLayerTreeNode base
GreasePencilLayerGroupRuntimeHandle * runtime
struct GreasePencilLayerTreeNode * next
struct GreasePencilLayerTreeNode * prev
struct GreasePencilLayerTreeGroup * parent
GreasePencilLayerRuntimeHandle * runtime
GreasePencilLayerTreeNode base
GreasePencilLayerFramesMapStorage frames_storage
int16_t num_frames_before
int attributes_active_index
GreasePencilLayerTreeNode * active_node
struct Material ** material_array
int vertex_group_active_index
CustomData layers_data_legacy
ListBase vertex_group_names
GreasePencilLayerTreeGroup * root_group_ptr
GreasePencilRuntimeHandle * runtime
GreasePencilDrawingBase ** drawing_array
GreasePencilOnionSkinningSettings onion_skinning_settings
struct AttributeStorage attribute_storage