2008-12-23 19:47:33 +00:00
|
|
|
/**
|
|
|
|
* $Id:
|
|
|
|
*
|
|
|
|
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
|
|
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
*
|
|
|
|
* The Original Code is Copyright (C) 2008 Blender Foundation.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Contributor(s): Blender Foundation
|
|
|
|
*
|
|
|
|
* ***** END GPL LICENSE BLOCK *****
|
|
|
|
*/
|
|
|
|
#ifndef ED_OBJECT_INTERN_H
|
|
|
|
#define ED_OBJECT_INTERN_H
|
|
|
|
|
2009-01-10 19:34:23 +00:00
|
|
|
struct wmOperatorType;
|
2009-01-13 15:18:41 +00:00
|
|
|
struct KeyBlock;
|
|
|
|
struct Lattice;
|
|
|
|
struct Curve;
|
|
|
|
struct Object;
|
|
|
|
struct Mesh;
|
2009-08-21 02:51:56 +00:00
|
|
|
struct HookModifierData;
|
2009-01-10 19:34:23 +00:00
|
|
|
|
2008-12-23 19:47:33 +00:00
|
|
|
/* internal exports only */
|
2009-03-24 12:16:58 +00:00
|
|
|
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
/* object_transform.c */
|
|
|
|
void OBJECT_OT_location_clear(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_rotation_clear(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_scale_clear(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_origin_clear(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_visual_transform_apply(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_location_apply(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_scale_apply(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_rotation_apply(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_center_set(struct wmOperatorType *ot);
|
2008-12-23 19:47:33 +00:00
|
|
|
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
/* object_relations.c */
|
2009-03-22 23:41:05 +00:00
|
|
|
void OBJECT_OT_parent_set(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_parent_clear(struct wmOperatorType *ot);
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
void OBJECT_OT_vertex_parent_set(struct wmOperatorType *ot);
|
2009-03-22 23:41:05 +00:00
|
|
|
void OBJECT_OT_track_set(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_track_clear(struct wmOperatorType *ot);
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
void OBJECT_OT_slow_parent_set(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_slow_parent_clear(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_make_local(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_move_to_layer(struct wmOperatorType *ot);
|
|
|
|
|
|
|
|
/* object_edit.c */
|
|
|
|
void OBJECT_OT_mode_set(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_editmode_toggle(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_posemode_toggle(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_restrictview_set(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_restrictview_clear(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_proxy_make(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_shade_smooth(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_shade_flat(struct wmOperatorType *ot);
|
|
|
|
|
|
|
|
/* object_select.c */
|
2009-03-29 02:15:13 +00:00
|
|
|
void OBJECT_OT_select_all_toggle(struct wmOperatorType *ot);
|
2009-07-08 21:31:28 +00:00
|
|
|
void OBJECT_OT_select_inverse(struct wmOperatorType *ot);
|
2009-03-24 12:16:58 +00:00
|
|
|
void OBJECT_OT_select_random(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_select_by_type(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_select_by_layer(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_select_linked(struct wmOperatorType *ot);
|
2009-07-11 11:31:49 +00:00
|
|
|
void OBJECT_OT_select_grouped(struct wmOperatorType *ot);
|
2009-09-03 10:42:53 +00:00
|
|
|
void OBJECT_OT_select_mirror(struct wmOperatorType *ot);
|
2009-09-16 01:15:30 +00:00
|
|
|
void OBJECT_OT_select_name(struct wmOperatorType *ot);
|
2009-01-13 15:18:41 +00:00
|
|
|
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
/* object_add.c */
|
|
|
|
void OBJECT_OT_add(struct wmOperatorType *ot);
|
2009-01-25 20:22:05 +00:00
|
|
|
void OBJECT_OT_mesh_add(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_curve_add(struct wmOperatorType *ot);
|
2009-02-13 17:37:01 +00:00
|
|
|
void OBJECT_OT_surface_add(struct wmOperatorType *ot);
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
void OBJECT_OT_metaball_add(struct wmOperatorType *ot);
|
2.5: Text edit mode operators back. Took me a while getting
them nicely repeatable, and splitting up the big edit_text
operator into individual operator so it's all nicely scriptable,
documented, configurable, etc..
* Insert Text, Line Break, Insert Lorem
* Toggle Case, Set Case, Toggle Style, Set Style, Set Material
* Copy Text, Cut Text, Paste Text, Paste File, Paste Buffer
* Move, Move Select, Delete
* Change Spacing, Change Character
Notes
* Text (datablock) to Object doesn't work yet, will need to
implement text editor context for that.
* Some shortcut keys don't work because screen/wm overrides them,
ctrl+x, ctrl+left/right. That override goes top down which works
well for some cases, but here we need to override in the other
direction.
* There's no unicode support in RNA, or the user interface code
for that matter, but text strings can contain these characters.
At the moment it stores a UTF-8 string in char arrays, which is
supposed to be nicely compatible with ascii. Seems reasonable to
add support for UTF-8 in the interface code, python bindings, ..
eventually?
2009-02-17 19:55:20 +00:00
|
|
|
void OBJECT_OT_text_add(struct wmOperatorType *ot);
|
2009-02-18 09:28:04 +00:00
|
|
|
void OBJECT_OT_armature_add(struct wmOperatorType *ot);
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
void OBJECT_OT_primitive_add(struct wmOperatorType *ot); /* only used as menu */
|
|
|
|
|
|
|
|
void OBJECT_OT_duplicates_make_real(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_duplicate(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_delete(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_join(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_convert(struct wmOperatorType *ot);
|
2009-01-25 20:22:05 +00:00
|
|
|
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
/* object_hook.c */
|
2009-08-21 02:51:56 +00:00
|
|
|
int object_hook_index_array(Object *obedit, int *tot, int **indexar, char *name, float *cent_r);
|
|
|
|
void object_hook_select(Object *obedit, struct HookModifierData *hmd);
|
|
|
|
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
/* object_lattice.c */
|
2009-01-13 15:18:41 +00:00
|
|
|
void free_editLatt(Object *ob);
|
|
|
|
void make_editLatt(Object *obedit);
|
|
|
|
void load_editLatt(Object *obedit);
|
|
|
|
void remake_editLatt(Object *obedit);
|
|
|
|
|
2009-07-03 15:23:33 +00:00
|
|
|
void LATTICE_OT_select_all_toggle(struct wmOperatorType *ot);
|
|
|
|
void LATTICE_OT_make_regular(struct wmOperatorType *ot);
|
|
|
|
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
/* object_group.c */
|
2009-01-20 03:41:23 +00:00
|
|
|
void GROUP_OT_group_create(struct wmOperatorType *ot);
|
2009-03-29 02:15:13 +00:00
|
|
|
void GROUP_OT_objects_remove(struct wmOperatorType *ot);
|
2009-01-20 10:50:36 +00:00
|
|
|
void GROUP_OT_objects_add_active(struct wmOperatorType *ot);
|
|
|
|
void GROUP_OT_objects_remove_active(struct wmOperatorType *ot);
|
2009-01-13 15:18:41 +00:00
|
|
|
|
2009-04-27 18:05:58 +00:00
|
|
|
/* object_modifier.c */
|
|
|
|
void OBJECT_OT_modifier_add(struct wmOperatorType *ot);
|
2009-07-02 19:41:31 +00:00
|
|
|
void OBJECT_OT_modifier_remove(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_modifier_move_up(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_modifier_move_down(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_modifier_apply(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_modifier_convert(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_modifier_copy(struct wmOperatorType *ot);
|
2009-05-23 07:12:55 +00:00
|
|
|
void OBJECT_OT_multires_subdivide(struct wmOperatorType *ot);
|
2009-09-03 17:45:04 +00:00
|
|
|
void OBJECT_OT_multires_higher_levels_delete(struct wmOperatorType *ot);
|
2009-08-21 02:51:56 +00:00
|
|
|
void OBJECT_OT_meshdeform_bind(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_hook_reset(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_hook_recenter(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_hook_select(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_hook_assign(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_explode_refresh(struct wmOperatorType *ot);
|
2009-04-27 18:05:58 +00:00
|
|
|
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
/* object_constraint.c */
|
2009-05-27 00:03:49 +00:00
|
|
|
void OBJECT_OT_constraint_add(struct wmOperatorType *ot);
|
2009-07-20 12:42:31 +00:00
|
|
|
void OBJECT_OT_constraint_add_with_targets(struct wmOperatorType *ot);
|
2009-07-14 20:27:28 +00:00
|
|
|
void POSE_OT_constraint_add(struct wmOperatorType *ot);
|
2009-07-20 12:42:31 +00:00
|
|
|
void POSE_OT_constraint_add_with_targets(struct wmOperatorType *ot);
|
2009-07-19 07:20:21 +00:00
|
|
|
|
|
|
|
void OBJECT_OT_constraints_clear(struct wmOperatorType *ot);
|
|
|
|
void POSE_OT_constraints_clear(struct wmOperatorType *ot);
|
2009-07-21 04:21:07 +00:00
|
|
|
|
|
|
|
void POSE_OT_ik_add(struct wmOperatorType *ot);
|
|
|
|
void POSE_OT_ik_clear(struct wmOperatorType *ot);
|
2009-07-19 07:20:21 +00:00
|
|
|
|
2009-07-11 12:54:17 +00:00
|
|
|
void CONSTRAINT_OT_delete(struct wmOperatorType *ot);
|
|
|
|
|
|
|
|
void CONSTRAINT_OT_move_up(struct wmOperatorType *ot);
|
|
|
|
void CONSTRAINT_OT_move_down(struct wmOperatorType *ot);
|
2009-05-27 00:03:49 +00:00
|
|
|
|
2009-07-26 11:57:27 +00:00
|
|
|
void CONSTRAINT_OT_stretchto_reset(struct wmOperatorType *ot);
|
|
|
|
void CONSTRAINT_OT_limitdistance_reset(struct wmOperatorType *ot);
|
2009-07-11 11:52:20 +00:00
|
|
|
void CONSTRAINT_OT_childof_set_inverse(struct wmOperatorType *ot);
|
|
|
|
void CONSTRAINT_OT_childof_clear_inverse(struct wmOperatorType *ot);
|
|
|
|
|
2009-07-01 22:25:49 +00:00
|
|
|
/* object_vgroup.c */
|
|
|
|
void OBJECT_OT_vertex_group_add(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_vertex_group_remove(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_vertex_group_assign(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_vertex_group_remove_from(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_vertex_group_select(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_vertex_group_deselect(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_vertex_group_copy_to_linked(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_vertex_group_copy(struct wmOperatorType *ot);
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
void OBJECT_OT_vertex_group_menu(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_vertex_group_set_active(struct wmOperatorType *ot);
|
2009-07-01 22:25:49 +00:00
|
|
|
|
2009-08-26 12:51:27 +00:00
|
|
|
void OBJECT_OT_game_property_new(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_game_property_remove(struct wmOperatorType *ot);
|
|
|
|
|
2.5: Object module
* Split object_edit.c into multiple files:
object_add.c, object_edit.c, object_hook.c, object_relations.c,
object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
* vertex group menu and set active
* apply location, rotation, scale, visual transform (location is new)
* make local
* make vertex parent
* move to layer
* convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
up here...
2009-09-09 11:52:56 +00:00
|
|
|
/* object_shapekey.c */
|
2009-07-01 22:25:49 +00:00
|
|
|
void OBJECT_OT_shape_key_add(struct wmOperatorType *ot);
|
|
|
|
void OBJECT_OT_shape_key_remove(struct wmOperatorType *ot);
|
|
|
|
|
2008-12-23 19:47:33 +00:00
|
|
|
#endif /* ED_OBJECT_INTERN_H */
|
|
|
|
|