Blender  V3.3
ED_object.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2008 Blender Foundation. All rights reserved. */
3 
8 #pragma once
9 
10 #include "BLI_compiler_attrs.h"
11 #include "DNA_object_enums.h"
12 #include "DNA_userdef_enums.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 struct Base;
19 struct Depsgraph;
20 struct EnumPropertyItem;
21 struct ID;
22 struct Main;
23 struct ModifierData;
24 struct Object;
25 struct PointerRNA;
26 struct PropertyRNA;
27 struct ReportList;
28 struct Scene;
29 struct ShaderFxData;
30 struct View3D;
31 struct ViewLayer;
32 struct XFormObjectData;
33 struct bConstraint;
34 struct bContext;
35 struct bFaceMap;
36 struct bPoseChannel;
37 struct uiLayout;
38 struct wmEvent;
39 struct wmKeyConfig;
40 struct wmOperator;
41 struct wmOperatorType;
42 
43 /* object_edit.c */
44 
46 struct Object *ED_object_context(const struct bContext *C);
51 struct Object *ED_object_active_context(const struct bContext *C);
52 void ED_collection_hide_menu_draw(const struct bContext *C, struct uiLayout *layout);
53 
63  bool (*filter_fn)(const struct Object *ob,
64  void *user_data),
65  void *filter_user_data,
66  uint *r_objects_len);
67 
68 /* object_utils.c */
69 
71  bool select_only,
72  float r_center[3]);
74  bool select_only,
75  float r_center[3]);
76 bool ED_object_calc_active_center(struct Object *ob, bool select_only, float r_center[3]);
77 
78 /* Object Data Container helper API. */
87  struct Main *bmain,
88  struct Depsgraph *depsgraph);
90  struct Object *ob);
91 
92 /* Object Skip-Child Container helper API. */
93 enum {
110 };
114  struct XFormObjectSkipChild_Container *xcs,
115  struct ViewLayer *view_layer,
116  struct Object **objects,
117  uint objects_len);
120  struct Main *bmain,
121  struct Depsgraph *depsgraph);
123  struct Object *ob,
124  struct Object *ob_parent_recurse,
125  int mode);
126 
127 void ED_object_xform_array_m4(struct Object **objects, uint objects_len, const float matrix[4][4]);
128 
129 /* object_ops.c */
130 
131 void ED_operatortypes_object(void);
132 void ED_operatormacros_object(void);
133 void ED_keymap_object(struct wmKeyConfig *keyconf);
134 
135 /* object_relations.c */
136 
137 typedef enum eParentType {
152 
153 typedef enum eObjectSelect_Mode {
158 
159 typedef enum eObClearParentTypes {
164 
165 #ifdef __RNA_TYPES_H__
168 #endif
169 
173 bool ED_object_parent_set(struct ReportList *reports,
174  const struct bContext *C,
175  struct Scene *scene,
176  struct Object *const ob,
177  struct Object *const par,
178  int partype,
179  bool xmirror,
180  bool keep_transform,
181  const int vert_par[3]);
182 void ED_object_parent_clear(struct Object *ob, int type);
183 
192 void ED_object_base_select(struct Base *base, eObjectSelect_Mode mode);
196 void ED_object_base_activate(struct bContext *C, struct Base *base);
201 void ED_object_base_active_refresh(struct Main *bmain,
202  struct Scene *scene,
203  struct ViewLayer *view_layer);
208 void ED_object_base_free_and_unlink(struct Main *bmain, struct Scene *scene, struct Object *ob);
214  struct Scene *scene,
215  struct Object *ob);
216 bool ED_object_base_deselect_all_ex(struct ViewLayer *view_layer,
217  struct View3D *v3d,
218  int action,
219  bool *r_any_visible);
220 bool ED_object_base_deselect_all(struct ViewLayer *view_layer, struct View3D *v3d, int action);
221 
229 struct Base *ED_object_add_duplicate(struct Main *bmain,
230  struct Scene *scene,
231  struct ViewLayer *view_layer,
232  struct Base *base,
233  eDupli_ID_Flags dupflag);
234 
235 void ED_object_parent(struct Object *ob, struct Object *parent, int type, const char *substr);
237  const char *name,
238  const int mval[2]);
239 
240 /* bitflags for enter/exit editmode */
241 enum {
242  EM_FREEDATA = (1 << 0),
243  EM_NO_CONTEXT = (1 << 1),
244 };
249 bool ED_object_editmode_exit_ex(struct Main *bmain,
250  struct Scene *scene,
251  struct Object *obedit,
252  int flag);
253 bool ED_object_editmode_exit(struct bContext *C, int flag);
254 
260 bool ED_object_editmode_free_ex(struct Main *bmain, struct Object *obedit);
261 
262 bool ED_object_editmode_exit_multi_ex(struct Main *bmain,
263  struct Scene *scene,
264  struct ViewLayer *view_layer,
265  int flag);
266 bool ED_object_editmode_exit_multi(struct bContext *C, int flag);
267 
268 bool ED_object_editmode_enter_ex(struct Main *bmain,
269  struct Scene *scene,
270  struct Object *ob,
271  int flag);
272 bool ED_object_editmode_enter(struct bContext *C, int flag);
273 bool ED_object_editmode_load(struct Main *bmain, struct Object *obedit);
274 
275 void ED_object_vpaintmode_enter_ex(struct Main *bmain,
276  struct Depsgraph *depsgraph,
277  struct Scene *scene,
278  struct Object *ob);
280 void ED_object_wpaintmode_enter_ex(struct Main *bmain,
281  struct Depsgraph *depsgraph,
282  struct Scene *scene,
283  struct Object *ob);
285 
286 void ED_object_vpaintmode_exit_ex(struct Object *ob);
287 void ED_object_vpaintmode_exit(struct bContext *C);
288 void ED_object_wpaintmode_exit_ex(struct Object *ob);
289 void ED_object_wpaintmode_exit(struct bContext *C);
290 
291 void ED_object_texture_paint_mode_enter_ex(struct Main *bmain, struct Scene *scene, Object *ob);
293 
294 void ED_object_texture_paint_mode_exit_ex(struct Main *bmain, struct Scene *scene, Object *ob);
296 
299  struct Scene *scene,
300  Object *ob);
302 
305 
306 void ED_object_sculptmode_enter_ex(struct Main *bmain,
307  struct Depsgraph *depsgraph,
308  struct Scene *scene,
309  struct Object *ob,
310  bool force_dyntopo,
311  struct ReportList *reports);
313  struct Depsgraph *depsgraph,
314  struct ReportList *reports);
315 void ED_object_sculptmode_exit_ex(struct Main *bmain,
316  struct Depsgraph *depsgraph,
317  struct Scene *scene,
318  struct Object *ob);
320 
321 void ED_object_location_from_view(struct bContext *C, float loc[3]);
322 void ED_object_rotation_from_quat(float rot[3], const float quat[4], char align_axis);
323 void ED_object_rotation_from_view(struct bContext *C, float rot[3], char align_axis);
324 void ED_object_base_init_transform_on_add(struct Object *object,
325  const float loc[3],
326  const float rot[3]);
332  struct Object *obedit,
333  const float loc[3],
334  const float rot[3],
335  const float scale[3],
336  float primmat[4][4]);
337 
341 #define OBJECT_ADD_SIZE_MAXF 1.0e12f
342 
344 void ED_object_add_unit_props_radius_ex(struct wmOperatorType *ot, float default_value);
346 void ED_object_add_generic_props(struct wmOperatorType *ot, bool do_editmode);
349  struct wmOperator *op,
350  char view_align_axis,
351  float r_loc[3],
352  float r_rot[3],
353  float r_scale[3],
354  bool *r_enter_editmode,
355  unsigned short *r_local_view_bits,
356  bool *r_is_view_aligned);
357 
365  int type,
366  const char *name,
367  const float loc[3],
368  const float rot[3],
369  bool enter_editmode,
370  ushort local_view_bits,
371  struct ID *obdata);
372 struct Object *ED_object_add_type(struct bContext *C,
373  int type,
374  const char *name,
375  const float loc[3],
376  const float rot[3],
377  bool enter_editmode,
378  unsigned short local_view_bits)
380 
384 void ED_object_single_user(struct Main *bmain, struct Scene *scene, struct Object *ob);
385 
386 void ED_object_single_obdata_user(struct Main *bmain, struct Scene *scene, struct Object *ob);
387 
388 /* object motion paths */
389 
393 void ED_objects_clear_paths(struct bContext *C, bool only_selected);
394 
395 /* Corresponds to eAnimvizCalcRange. */
396 typedef enum eObjectPathCalcRange {
401 
409  struct Scene *scene,
410  eObjectPathCalcRange range,
411  struct ListBase *ld_objects);
412 
414  struct Scene *scene,
415  eObjectPathCalcRange range);
416 
418  struct Scene *scene,
419  eObjectPathCalcRange range);
420 
421 /* constraints */
437  struct bConstraint *con,
438  struct bPoseChannel **r_pchan);
443 
444 void object_test_constraints(struct Main *bmain, struct Object *ob);
445 
446 void ED_object_constraint_active_set(struct Object *ob, struct bConstraint *con);
447 void ED_object_constraint_update(struct Main *bmain, struct Object *ob);
448 void ED_object_constraint_dependency_update(struct Main *bmain, struct Object *ob);
449 
450 void ED_object_constraint_tag_update(struct Main *bmain,
451  struct Object *ob,
452  struct bConstraint *con);
454  struct Object *ob,
455  struct bConstraint *con);
456 
457 bool ED_object_constraint_move_to_index(struct Object *ob, struct bConstraint *con, int index);
458 void ED_object_constraint_link(struct Main *bmain,
459  struct Object *ob_dst,
460  struct ListBase *dst,
461  struct ListBase *src);
462 void ED_object_constraint_copy_for_object(struct Main *bmain,
463  struct Object *ob_dst,
464  struct bConstraint *con);
465 void ED_object_constraint_copy_for_pose(struct Main *bmain,
466  struct Object *ob_dst,
467  struct bPoseChannel *pchan,
468  struct bConstraint *con);
469 
470 /* object_modes.c */
471 
476 bool ED_object_mode_compat_test(const struct Object *ob, eObjectMode mode);
483  struct Object *ob,
484  eObjectMode mode,
485  struct ReportList *reports);
486 bool ED_object_mode_set_ex(struct bContext *C,
487  eObjectMode mode,
488  bool use_undo,
489  struct ReportList *reports);
490 bool ED_object_mode_set(struct bContext *C, eObjectMode mode);
491 
492 void ED_object_mode_generic_exit(struct Main *bmain,
493  struct Depsgraph *depsgraph,
494  struct Scene *scene,
495  struct Object *ob);
496 bool ED_object_mode_generic_has_data(struct Depsgraph *depsgraph, const struct Object *ob);
497 
499  struct Main *bmain,
500  struct Object *ob,
501  bool is_mode_set);
502 
503 /* object_modifier.c */
504 
505 enum {
508 };
509 
516 struct ModifierData *ED_object_modifier_add(struct ReportList *reports,
517  struct Main *bmain,
518  struct Scene *scene,
519  struct Object *ob,
520  const char *name,
521  int type);
522 bool ED_object_modifier_remove(struct ReportList *reports,
523  struct Main *bmain,
524  struct Scene *scene,
525  struct Object *ob,
526  struct ModifierData *md);
527 void ED_object_modifier_clear(struct Main *bmain, struct Scene *scene, struct Object *ob);
528 bool ED_object_modifier_move_down(struct ReportList *reports,
529  struct Object *ob,
530  struct ModifierData *md);
531 bool ED_object_modifier_move_up(struct ReportList *reports,
532  struct Object *ob,
533  struct ModifierData *md);
534 bool ED_object_modifier_move_to_index(struct ReportList *reports,
535  struct Object *ob,
536  struct ModifierData *md,
537  int index);
538 
540  struct Main *bmain,
541  struct Depsgraph *depsgraph,
542  struct ViewLayer *view_layer,
543  struct Object *ob,
544  struct ModifierData *md);
545 bool ED_object_modifier_apply(struct Main *bmain,
546  struct ReportList *reports,
547  struct Depsgraph *depsgraph,
548  struct Scene *scene,
549  struct Object *ob,
550  struct ModifierData *md,
551  int mode,
552  bool keep_modifier);
553 bool ED_object_modifier_copy(struct ReportList *reports,
554  struct Main *bmain,
555  struct Scene *scene,
556  struct Object *ob,
557  struct ModifierData *md);
558 void ED_object_modifier_link(struct bContext *C, struct Object *ob_dst, struct Object *ob_src);
560  struct Object *ob_dst,
561  struct Object *ob_src,
562  struct ModifierData *md);
563 
573 bool ED_object_iter_other(struct Main *bmain,
574  struct Object *orig_ob,
575  bool include_orig,
576  bool (*callback)(struct Object *ob, void *callback_data),
577  void *callback_data);
578 
583 bool ED_object_multires_update_totlevels_cb(struct Object *ob, void *totlevel_v);
584 
585 /* object_greasepencil_modifier.c */
586 
588  struct Main *bmain,
589  struct Scene *scene,
590  struct Object *ob,
591  const char *name,
592  int type);
593 bool ED_object_gpencil_modifier_remove(struct ReportList *reports,
594  struct Main *bmain,
595  struct Object *ob,
596  struct GpencilModifierData *md);
597 void ED_object_gpencil_modifier_clear(struct Main *bmain, struct Object *ob);
599  struct Object *ob,
600  struct GpencilModifierData *md);
602  struct Object *ob,
603  struct GpencilModifierData *md);
605  struct Object *ob,
606  struct GpencilModifierData *md,
607  int index);
609  struct ReportList *reports,
610  struct Depsgraph *depsgraph,
611  struct Object *ob,
612  struct GpencilModifierData *md,
613  int mode);
614 bool ED_object_gpencil_modifier_copy(struct ReportList *reports,
615  struct Object *ob,
616  struct GpencilModifierData *md);
618  struct GpencilModifierData *md);
619 
620 /* object_shader_fx.c */
621 
623  struct Main *bmain,
624  struct Scene *scene,
625  struct Object *ob,
626  const char *name,
627  int type);
628 bool ED_object_shaderfx_remove(struct ReportList *reports,
629  struct Main *bmain,
630  struct Object *ob,
631  struct ShaderFxData *fx);
632 void ED_object_shaderfx_clear(struct Main *bmain, struct Object *ob);
634  struct Object *ob,
635  struct ShaderFxData *fx);
637  struct Object *ob,
638  struct ShaderFxData *fx);
639 bool ED_object_shaderfx_move_to_index(struct ReportList *reports,
640  struct Object *ob,
641  struct ShaderFxData *fx,
642  int index);
643 void ED_object_shaderfx_link(struct Object *dst, struct Object *src);
644 void ED_object_shaderfx_copy(struct Object *dst, struct ShaderFxData *fx);
645 
646 /* object_select.c */
647 
648 void ED_object_select_linked_by_id(struct bContext *C, struct ID *id);
649 
651  const struct bContext *C,
652  struct PointerRNA *ptr,
653  struct PropertyRNA *prop,
654  bool *r_free,
655  unsigned int selection_mask);
656 
657 void ED_object_check_force_modifiers(struct Main *bmain,
658  struct Scene *scene,
659  struct Object *object);
660 
665 struct Base *ED_object_find_first_by_data_id(struct ViewLayer *view_layer, struct ID *id);
666 
673 bool ED_object_jump_to_object(struct bContext *C, struct Object *ob, bool reveal_hidden);
681 bool ED_object_jump_to_bone(struct bContext *C,
682  struct Object *ob,
683  const char *bone_name,
684  bool reveal_hidden);
685 
686 /* object_facemap_ops.c */
687 
691 void ED_object_facemap_face_add(struct Object *ob, struct bFaceMap *fmap, int facenum);
695 void ED_object_facemap_face_remove(struct Object *ob, struct bFaceMap *fmap, int facenum);
696 
697 /* object_data_transform.c */
698 
702 
703 void ED_object_data_xform_destroy(struct XFormObjectData *xod_base);
704 
705 void ED_object_data_xform_by_mat4(struct XFormObjectData *xod, const float mat[4][4]);
706 
709 
710 #ifdef __cplusplus
711 }
712 #endif
#define ATTR_RETURNS_NONNULL
#define ATTR_NONNULL(...)
unsigned int uint
Definition: BLI_sys_types.h:67
unsigned short ushort
Definition: BLI_sys_types.h:68
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:35
eObjectMode
eDupli_ID_Flags
void ED_object_xform_skip_child_container_item_ensure_from_array(struct XFormObjectSkipChild_Container *xcs, struct ViewLayer *view_layer, struct Object **objects, uint objects_len)
Definition: object_utils.c:170
bool ED_object_modifier_move_to_index(struct ReportList *reports, struct Object *ob, struct ModifierData *md, int index)
bool ED_object_calc_active_center(struct Object *ob, bool select_only, float r_center[3])
Definition: object_utils.c:112
bool ED_object_modifier_move_up(struct ReportList *reports, struct Object *ob, struct ModifierData *md)
void ED_object_rotation_from_quat(float rot[3], const float quat[4], char align_axis)
Definition: object_add.cc:274
bool ED_object_particle_edit_mode_supported(const Object *ob)
void ED_object_shaderfx_clear(struct Main *bmain, struct Object *ob)
struct ModifierData * ED_object_modifier_add(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, const char *name, int type)
void ED_operatortypes_object(void)
Definition: object_ops.c:28
void ED_object_check_force_modifiers(struct Main *bmain, struct Scene *scene, struct Object *object)
Definition: object_edit.c:1024
void ED_object_vpaintmode_exit_ex(struct Object *ob)
char * ED_object_ot_drop_named_material_tooltip(struct bContext *C, const char *name, const int mval[2])
void ED_object_particle_edit_mode_exit(struct bContext *C)
struct GpencilModifierData * ED_object_gpencil_modifier_add(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, const char *name, int type)
void ED_object_add_unit_props_size(struct wmOperatorType *ot)
Definition: object_add.cc:382
void ED_object_vpaintmode_exit(struct bContext *C)
struct Object * ED_object_add_type_with_obdata(struct bContext *C, int type, const char *name, const float loc[3], const float rot[3], bool enter_editmode, ushort local_view_bits, struct ID *obdata)
Definition: object_add.cc:598
void ED_object_xform_skip_child_container_update_all(struct XFormObjectSkipChild_Container *xcs, struct Main *bmain, struct Depsgraph *depsgraph)
Definition: object_utils.c:257
bool ED_object_gpencil_modifier_copy(struct ReportList *reports, struct Object *ob, struct GpencilModifierData *md)
bool ED_object_shaderfx_remove(struct ReportList *reports, struct Main *bmain, struct Object *ob, struct ShaderFxData *fx)
struct Object * ED_object_context(const struct bContext *C)
void ED_object_single_obdata_user(struct Main *bmain, struct Scene *scene, struct Object *ob)
@ EM_NO_CONTEXT
Definition: ED_object.h:243
@ EM_FREEDATA
Definition: ED_object.h:242
bool ED_object_mode_set_ex(struct bContext *C, eObjectMode mode, bool use_undo, struct ReportList *reports)
Definition: object_modes.c:191
bool ED_object_gpencil_modifier_move_to_index(struct ReportList *reports, struct Object *ob, struct GpencilModifierData *md, int index)
bool ED_object_multires_update_totlevels_cb(struct Object *ob, void *totlevel_v)
void ED_object_xform_skip_child_container_destroy(struct XFormObjectSkipChild_Container *xcs)
Definition: object_utils.c:230
int ED_object_shaderfx_move_up(struct ReportList *reports, struct Object *ob, struct ShaderFxData *fx)
void ED_object_modifier_link(struct bContext *C, struct Object *ob_dst, struct Object *ob_src)
void ED_object_base_activate_with_mode_exit_if_needed(struct bContext *C, struct Base *base)
eObClearParentTypes
Definition: ED_object.h:159
@ CLEAR_PARENT_ALL
Definition: ED_object.h:160
@ CLEAR_PARENT_KEEP_TRANSFORM
Definition: ED_object.h:161
@ CLEAR_PARENT_INVERSE
Definition: ED_object.h:162
void ED_object_shaderfx_link(struct Object *dst, struct Object *src)
bool ED_object_modifier_convert_psys_to_mesh(struct ReportList *reports, struct Main *bmain, struct Depsgraph *depsgraph, struct ViewLayer *view_layer, struct Object *ob, struct ModifierData *md)
bool ED_object_mode_compat_test(const struct Object *ob, eObjectMode mode)
void ED_object_facemap_face_add(struct Object *ob, struct bFaceMap *fmap, int facenum)
void ED_object_texture_paint_mode_enter(struct bContext *C)
Definition: paint_image.cc:815
eParentType
Definition: ED_object.h:137
@ PAR_OBJECT
Definition: ED_object.h:138
@ PAR_BONE
Definition: ED_object.h:143
@ PAR_BONE_RELATIVE
Definition: ED_object.h:144
@ PAR_ARMATURE_ENVELOPE
Definition: ED_object.h:141
@ PAR_CURVE
Definition: ED_object.h:145
@ PAR_ARMATURE_AUTO
Definition: ED_object.h:142
@ PAR_VERTEX
Definition: ED_object.h:149
@ PAR_LATTICE
Definition: ED_object.h:148
@ PAR_VERTEX_TRI
Definition: ED_object.h:150
@ PAR_ARMATURE_NAME
Definition: ED_object.h:140
@ PAR_ARMATURE
Definition: ED_object.h:139
@ PAR_FOLLOW
Definition: ED_object.h:146
@ PAR_PATH_CONST
Definition: ED_object.h:147
void ED_object_mode_generic_exit(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob)
Definition: object_modes.c:387
void ED_object_modifier_copy_to_object(struct bContext *C, struct Object *ob_dst, struct Object *ob_src, struct ModifierData *md)
struct bConstraint * ED_object_constraint_active_get(struct Object *ob)
void ED_object_wpaintmode_exit_ex(struct Object *ob)
void ED_object_constraint_active_set(struct Object *ob, struct bConstraint *con)
const struct EnumPropertyItem * ED_object_vgroup_selection_itemf_helper(const struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, bool *r_free, unsigned int selection_mask)
struct ListBase * ED_object_constraint_list_from_constraint(struct Object *ob, struct bConstraint *con, struct bPoseChannel **r_pchan)
void ED_object_modifier_clear(struct Main *bmain, struct Scene *scene, struct Object *ob)
bool ED_object_gpencil_modifier_move_up(struct ReportList *reports, struct Object *ob, struct GpencilModifierData *md)
bool ED_object_modifier_copy(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, struct ModifierData *md)
bool ED_object_mode_generic_has_data(struct Depsgraph *depsgraph, const struct Object *ob)
Definition: object_modes.c:395
void ED_object_vpaintmode_enter(struct bContext *C, struct Depsgraph *depsgraph)
void ED_objects_recalculate_paths_selected(struct bContext *C, struct Scene *scene, eObjectPathCalcRange range)
Definition: object_edit.c:1104
void ED_object_base_select(struct Base *base, eObjectSelect_Mode mode)
Definition: object_select.c:76
void ED_object_base_active_refresh(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer)
void ED_object_parent(struct Object *ob, struct Object *parent, int type, const char *substr)
struct XFormObjectSkipChild_Container * ED_object_xform_skip_child_container_create(void)
Definition: object_utils.c:161
void ED_object_data_xform_restore(struct XFormObjectData *xod)
bool ED_object_editmode_exit_multi_ex(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer, int flag)
Definition: object_edit.c:708
bool ED_object_gpencil_modifier_remove(struct ReportList *reports, struct Main *bmain, struct Object *ob, struct GpencilModifierData *md)
void ED_object_sculptmode_exit(struct bContext *C, struct Depsgraph *depsgraph)
Definition: sculpt_ops.c:466
struct Object * ED_object_add_type(struct bContext *C, int type, const char *name, const float loc[3], const float rot[3], bool enter_editmode, unsigned short local_view_bits) ATTR_NONNULL(1) ATTR_RETURNS_NONNULL
Definition: object_add.cc:668
bool ED_object_jump_to_object(struct bContext *C, struct Object *ob, bool reveal_hidden)
void ED_object_single_user(struct Main *bmain, struct Scene *scene, struct Object *ob)
void ED_object_texture_paint_mode_enter_ex(struct Main *bmain, struct Scene *scene, Object *ob)
Definition: paint_image.cc:755
bool ED_object_editmode_exit_ex(struct Main *bmain, struct Scene *scene, struct Object *obedit, int flag)
Definition: object_edit.c:653
void ED_object_rotation_from_view(struct bContext *C, float rot[3], char align_axis)
Definition: object_add.cc:300
void ED_object_texture_paint_mode_exit_ex(struct Main *bmain, struct Scene *scene, Object *ob)
Definition: paint_image.cc:823
void ED_object_base_init_transform_on_add(struct Object *object, const float loc[3], const float rot[3])
Definition: object_add.cc:315
bool ED_object_constraint_move_to_index(struct Object *ob, struct bConstraint *con, int index)
bool ED_object_shaderfx_move_to_index(struct ReportList *reports, struct Object *ob, struct ShaderFxData *fx, int index)
void ED_object_constraint_copy_for_pose(struct Main *bmain, struct Object *ob_dst, struct bPoseChannel *pchan, struct bConstraint *con)
bool ED_object_gpencil_modifier_apply(struct Main *bmain, struct ReportList *reports, struct Depsgraph *depsgraph, struct Object *ob, struct GpencilModifierData *md, int mode)
bool ED_object_editmode_enter_ex(struct Main *bmain, struct Scene *scene, struct Object *ob, int flag)
Definition: object_edit.c:734
void ED_object_constraint_tag_update(struct Main *bmain, struct Object *ob, struct bConstraint *con)
@ MODIFIER_APPLY_DATA
Definition: ED_object.h:506
@ MODIFIER_APPLY_SHAPE
Definition: ED_object.h:507
struct XFormObjectData * ED_object_data_xform_create_ex(struct ID *id, bool is_edit_mode)
void ED_object_constraint_update(struct Main *bmain, struct Object *ob)
void ED_object_shaderfx_copy(struct Object *dst, struct ShaderFxData *fx)
void ED_object_location_from_view(struct bContext *C, float loc[3])
Definition: object_add.cc:268
struct Object * ED_object_active_context(const struct bContext *C)
void ED_object_particle_edit_mode_enter_ex(struct Depsgraph *depsgraph, struct Scene *scene, Object *ob)
void ED_object_add_unit_props_radius_ex(struct wmOperatorType *ot, float default_value)
Definition: object_add.cc:388
void ED_object_data_xform_container_destroy(struct XFormObjectData_Container *xds)
Definition: object_utils.c:409
bool ED_object_calc_active_center_for_posemode(struct Object *ob, bool select_only, float r_center[3])
Definition: object_utils.c:100
struct ListBase * ED_object_constraint_active_list(struct Object *ob)
void ED_objects_recalculate_paths(struct bContext *C, struct Scene *scene, eObjectPathCalcRange range, struct ListBase *ld_objects)
Definition: object_edit.c:1140
bool ED_object_editmode_free_ex(struct Main *bmain, struct Object *obedit)
Definition: object_edit.c:703
struct Base * ED_object_add_duplicate(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer, struct Base *base, eDupli_ID_Flags dupflag)
Definition: object_add.cc:3632
bool ED_object_gpencil_modifier_move_down(struct ReportList *reports, struct Object *ob, struct GpencilModifierData *md)
bool ED_object_modifier_remove(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, struct ModifierData *md)
void ED_object_particle_edit_mode_exit_ex(struct Scene *scene, Object *ob)
bool ED_object_editmode_enter(struct bContext *C, int flag)
Definition: object_edit.c:833
void ED_object_xform_skip_child_container_item_ensure(struct XFormObjectSkipChild_Container *xcs, struct Object *ob, struct Object *ob_parent_recurse, int mode)
Definition: object_utils.c:236
struct XFormObjectData * ED_object_data_xform_create_from_edit_mode(ID *id)
void ED_object_base_activate(struct bContext *C, struct Base *base)
void ED_object_wpaintmode_enter(struct bContext *C, struct Depsgraph *depsgraph)
bool ED_object_mode_set(struct bContext *C, eObjectMode mode)
Definition: object_modes.c:231
bool ED_object_iter_other(struct Main *bmain, struct Object *orig_ob, bool include_orig, bool(*callback)(struct Object *ob, void *callback_data), void *callback_data)
float ED_object_new_primitive_matrix(struct bContext *C, struct Object *obedit, const float loc[3], const float rot[3], const float scale[3], float primmat[4][4])
Definition: object_add.cc:328
bool ED_object_editmode_load(struct Main *bmain, struct Object *obedit)
Definition: object_edit.c:648
struct Base * ED_object_find_first_by_data_id(struct ViewLayer *view_layer, struct ID *id)
void ED_object_texture_paint_mode_exit(struct bContext *C)
Definition: paint_image.cc:839
void ED_objects_clear_paths(struct bContext *C, bool only_selected)
Definition: object_edit.c:1407
void ED_collection_hide_menu_draw(const struct bContext *C, struct uiLayout *layout)
bool ED_object_base_deselect_all_ex(struct ViewLayer *view_layer, struct View3D *v3d, int action, bool *r_any_visible)
bool ED_object_editmode_exit(struct bContext *C, int flag)
Definition: object_edit.c:695
void ED_objects_recalculate_paths_visible(struct bContext *C, struct Scene *scene, eObjectPathCalcRange range)
Definition: object_edit.c:1117
void ED_object_data_xform_destroy(struct XFormObjectData *xod_base)
struct ListBase * ED_object_pose_constraint_list(const struct bContext *C)
void ED_object_select_linked_by_id(struct bContext *C, struct ID *id)
bool ED_object_jump_to_bone(struct bContext *C, struct Object *ob, const char *bone_name, bool reveal_hidden)
void ED_object_base_free_and_unlink(struct Main *bmain, struct Scene *scene, struct Object *ob)
Definition: object_add.cc:2190
void ED_object_gpencil_modifier_clear(struct Main *bmain, struct Object *ob)
void ED_object_constraint_link(struct Main *bmain, struct Object *ob_dst, struct ListBase *dst, struct ListBase *src)
void ED_object_data_xform_container_item_ensure(struct XFormObjectData_Container *xds, struct Object *ob)
Definition: object_utils.c:341
eObjectPathCalcRange
Definition: ED_object.h:396
@ OBJECT_PATH_CALC_RANGE_CHANGED
Definition: ED_object.h:398
@ OBJECT_PATH_CALC_RANGE_CURRENT_FRAME
Definition: ED_object.h:397
@ OBJECT_PATH_CALC_RANGE_FULL
Definition: ED_object.h:399
bool ED_object_modifier_apply(struct Main *bmain, struct ReportList *reports, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct ModifierData *md, int mode, bool keep_modifier)
bool ED_object_add_generic_get_opts(struct bContext *C, struct wmOperator *op, char view_align_axis, float r_loc[3], float r_rot[3], float r_scale[3], bool *r_enter_editmode, unsigned short *r_local_view_bits, bool *r_is_view_aligned)
Definition: object_add.cc:457
void ED_object_data_xform_by_mat4(struct XFormObjectData *xod, const float mat[4][4])
bool ED_object_modifier_move_down(struct ReportList *reports, struct Object *ob, struct ModifierData *md)
void ED_object_data_xform_tag_update(struct XFormObjectData *xod)
void ED_object_constraint_dependency_update(struct Main *bmain, struct Object *ob)
void ED_object_data_xform_container_update_all(struct XFormObjectData_Container *xds, struct Main *bmain, struct Depsgraph *depsgraph)
Definition: object_utils.c:358
void ED_object_sculptmode_enter_ex(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, bool force_dyntopo, struct ReportList *reports)
Definition: sculpt_ops.c:326
void ED_object_vpaintmode_enter_ex(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob)
Object ** ED_object_array_in_mode_or_selected(struct bContext *C, bool(*filter_fn)(const struct Object *ob, void *user_data), void *filter_user_data, uint *r_objects_len)
void ED_operatormacros_object(void)
Definition: object_ops.c:280
eObjectSelect_Mode
Definition: ED_object.h:153
@ BA_DESELECT
Definition: ED_object.h:154
@ BA_INVERT
Definition: ED_object.h:156
@ BA_SELECT
Definition: ED_object.h:155
void ED_object_particle_edit_mode_enter(struct bContext *C)
void ED_object_xform_array_m4(struct Object **objects, uint objects_len, const float matrix[4][4])
Definition: object_utils.c:434
void ED_object_gpencil_modifier_copy_to_object(struct Object *ob_dst, struct GpencilModifierData *md)
void ED_keymap_object(struct wmKeyConfig *keyconf)
Definition: object_ops.c:314
void ED_object_parent_clear(struct Object *ob, int type)
void ED_object_add_generic_props(struct wmOperatorType *ot, bool do_editmode)
Definition: object_add.cc:399
bool ED_object_editmode_exit_multi(struct bContext *C, int flag)
Definition: object_edit.c:726
struct XFormObjectData_Container * ED_object_data_xform_container_create(void)
Definition: object_utils.c:402
void ED_object_constraint_copy_for_object(struct Main *bmain, struct Object *ob_dst, struct bConstraint *con)
void ED_object_wpaintmode_exit(struct bContext *C)
bool ED_object_calc_active_center_for_editmode(struct Object *obedit, bool select_only, float r_center[3])
Definition: object_utils.c:41
void ED_object_base_free_and_unlink_no_indirect_check(struct Main *bmain, struct Scene *scene, struct Object *ob)
Definition: object_add.cc:2211
void ED_object_posemode_set_for_weight_paint(struct bContext *C, struct Main *bmain, struct Object *ob, bool is_mode_set)
Definition: object_modes.c:357
@ XFORM_OB_SKIP_CHILD_PARENT_APPLY
Definition: ED_object.h:109
@ XFORM_OB_SKIP_CHILD_PARENT_IS_XFORM_INDIRECT
Definition: ED_object.h:102
@ XFORM_OB_SKIP_CHILD_PARENT_IS_XFORM
Definition: ED_object.h:97
void ED_object_constraint_dependency_tag_update(struct Main *bmain, struct Object *ob, struct bConstraint *con)
void object_test_constraints(struct Main *bmain, struct Object *ob)
struct ShaderFxData * ED_object_shaderfx_add(struct ReportList *reports, struct Main *bmain, struct Scene *scene, struct Object *ob, const char *name, int type)
struct XFormObjectData * ED_object_data_xform_create(struct ID *id)
bool ED_object_base_deselect_all(struct ViewLayer *view_layer, struct View3D *v3d, int action)
void ED_object_sculptmode_exit_ex(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob)
Definition: sculpt_ops.c:423
bool ED_object_mode_compat_set(struct bContext *C, struct Object *ob, eObjectMode mode, struct ReportList *reports)
Definition: object_modes.c:161
bool ED_object_parent_set(struct ReportList *reports, const struct bContext *C, struct Scene *scene, struct Object *const ob, struct Object *const par, int partype, bool xmirror, bool keep_transform, const int vert_par[3])
int ED_object_shaderfx_move_down(struct ReportList *reports, struct Object *ob, struct ShaderFxData *fx)
void ED_object_add_mesh_props(struct wmOperatorType *ot)
Definition: object_add.cc:452
void ED_object_facemap_face_remove(struct Object *ob, struct bFaceMap *fmap, int facenum)
void ED_object_wpaintmode_enter_ex(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob)
void ED_object_sculptmode_enter(struct bContext *C, struct Depsgraph *depsgraph, struct ReportList *reports)
Definition: sculpt_ops.c:414
void ED_object_add_unit_props_radius(struct wmOperatorType *ot)
Definition: object_add.cc:394
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
#define C
Definition: RandGen.cpp:25
Scene scene
const Depsgraph * depsgraph
void * user_data
DEGForeachIDComponentCallback callback
SyclQueue void void * src
#define rot(x, k)
EnumPropertyItem prop_clear_parent_types[]
EnumPropertyItem prop_make_parent_types[]
short flag
Definition: DNA_ID.h:368
Definition: BKE_main.h:121
ustring name
Definition: graph/node.h:174
float loc[3]
PointerRNA * ptr
Definition: wm_files.c:3480
wmOperatorType * ot
Definition: wm_files.c:3479