From BlenderWiki

Jump to: navigation, search

WARNING: Potentially incomplete information...


BASICS

+ add OB_GROOM enum to DNA_object_types.h + get_obdata_defname + add new ID type for ob->data library_remap.c, once there is anything to remap DNA_object_types.h : OB_TYPE_SUPPORT_***

NEW ID STRUCT

+ enum ID_Type + BKE_id_copy_ex + id_make_local + ListBase Main.grooms + which_libbase + INDEX_ID_GM + BKE_idcode_to_index + set_listbasepointers + BKE_libblock_get_alloc_info + idcode.c : idtypes + #define BLT_I18NCONTEXT_ID_GROOM + BLT_I18NCONTEXTS_DESC ~ single_obdata_users [may need extension later] ~ BKE_library_foreach_ID_link [add all internal id pointers here] ~ BKE_library_id_can_use_idtype FILTER_ID_GM (possible? bitflag enum is running out of bits ...) material.c: give_matarar, give_totcolp BKE_mesh_new_from_object BKE_object_obdata_add_from_type BKE_object_boundbox_get BKE_object_minmax OBJECT_OT_convert to convert to another type (mesh, plain curves) USER_DUP_GROOM object_add_duplicate_internal object_origin_set_exec buttons_context_path_data struct Groom *CTX_data_groom(const bContext *C); [etc.] BKE_libblock_get_alloc_info BKE_libblock_free_datablock writefile/readfile: lib_link_grooms DepsgraphNodeBuilder::build_groom DepsgraphRelationBuilder::build_groom editors/animation

RNA

rna_groom.c rna_Main_objects_new rna_Main_meshes_new_from_object rna_enum_object_type_items rna_Object_data_typef ID_code_to_RNA_type

CURVE SPECIFICS

displist.c, generate Object.curve_cache

DEPSGRAPH

BKE_object_handle_data_update BKE_object_eval_uber_data + DepsgraphNodeBuilder::build_object_data DepsgraphNodeBuilder::build_obdata_geom + DepsgraphRelationBuilder::build_object_data DepsgraphRelationBuilder::build_obdata_geom + id_tag_update_object_data

DRAWING

DRW_cache_object_surface_get OBJECT_cache_populate drawobject.c : legacy draw mode? do we still care?

EDITING

+ CTX_MODE_EDIT_GROOM + CTX_data_mode_enum_ex + object_mode_compat_test add ob->data->edit_groom BKE_object_is_in_editmode editors/groom editors/object/object_add: new function OBJECT_OT_groom_add ed_screen_context ED_object_editmode_load_ex ED_object_editmode_enter copy_texture_space (if needed?) ED_object_editmode_calc_active_center screen_ops.c : ED_operator_editgroom view3d_lasso_select view3d_borderselect_exec view3d_select_exec obedit_circle_select createTransData calc_manipulator_stats getTransformOrientation_ex ED_transverts_check_obedit ED_transverts_create_from_obedit ED_undo_push

ANIMDATA

acf_object_icon animdata_filter_ds_obdata

OUTLINER

outliner_add_id_contents outliner_draw.c : tselem_draw_icon

OTHER

alembic export

meshdeform_bind_exec (supported?) extend bake_objects_check to exclude from baking (if necessary?)

stats_object stats_object_edit stats_dupli_object