void OBJECT_OT_datalayout_transfer(wmOperatorType *ot) { PropertyRNA *prop; ot->name = "Transfer Mesh Data Layout"; ot->description = "Transfer layout of data layer(s) from active to selected meshes"; ot->idname = "OBJECT_OT_datalayout_transfer"; ot->poll = datalayout_transfer_poll; ot->invoke = datalayout_transfer_invoke; ot->exec = datalayout_transfer_exec; ot->check = data_transfer_check; ot->ui = data_transfer_ui; /* flags */ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; /* Properties.*/ edit_modifier_properties(ot); /* Data type to transfer. */ ot->prop = RNA_def_enum(ot->srna, "data_type", DT_layer_items, 0, "Data Type", "Which data to transfer"); RNA_def_boolean(ot->srna, "use_delete", false, "Exact Match", "Also delete some data layers from destination if necessary, so that it matches exactly source"); /* How to handle multi-layers types of data. */ prop = RNA_def_enum(ot->srna, "layers_select_src", rna_enum_dt_layers_select_src_items, DT_LAYERS_ACTIVE_SRC, "Source Layers Selection", "Which layers to transfer, in case of multi-layers types"); RNA_def_property_enum_funcs_runtime(prop, NULL, NULL, dt_layers_select_src_itemf); prop = RNA_def_enum(ot->srna, "layers_select_dst", rna_enum_dt_layers_select_dst_items, DT_LAYERS_ACTIVE_DST, "Destination Layers Matching", "How to match source and destination layers"); RNA_def_property_enum_funcs_runtime(prop, NULL, NULL, dt_layers_select_dst_itemf); }
void OBJECT_OT_modifier_remove(wmOperatorType *ot) { ot->name= "Remove Modifier"; ot->description= "Remove a modifier from the active object"; ot->idname= "OBJECT_OT_modifier_remove"; ot->invoke= modifier_remove_invoke; ot->exec= modifier_remove_exec; ot->poll= edit_modifier_poll; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; edit_modifier_properties(ot); }
void OBJECT_OT_modifier_convert(wmOperatorType *ot) { ot->name= "Convert Modifier"; ot->description= "Convert particles to a mesh object"; ot->idname= "OBJECT_OT_modifier_convert"; ot->invoke= modifier_convert_invoke; ot->exec= modifier_convert_exec; ot->poll= edit_modifier_poll; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; edit_modifier_properties(ot); }
void OBJECT_OT_modifier_move_down(wmOperatorType *ot) { ot->name= "Move Down Modifier"; ot->description= "Move modifier down in the stack"; ot->idname= "OBJECT_OT_modifier_move_down"; ot->invoke= modifier_move_down_invoke; ot->exec= modifier_move_down_exec; ot->poll= edit_modifier_poll; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; edit_modifier_properties(ot); }
void OBJECT_OT_explode_refresh(wmOperatorType *ot) { ot->name= "Explode Refresh"; ot->description= "Refresh data in the Explode modifier"; ot->idname= "OBJECT_OT_explode_refresh"; ot->poll= explode_poll; ot->invoke= explode_refresh_invoke; ot->exec= explode_refresh_exec; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; edit_modifier_properties(ot); }
void OBJECT_OT_multires_base_apply(wmOperatorType *ot) { ot->name= "Multires Apply Base"; ot->description= "Modify the base mesh to conform to the displaced mesh"; ot->idname= "OBJECT_OT_multires_base_apply"; ot->poll= multires_poll; ot->invoke= multires_base_apply_invoke; ot->exec= multires_base_apply_exec; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; edit_modifier_properties(ot); }
void OBJECT_OT_multires_reshape(wmOperatorType *ot) { ot->name= "Multires Reshape"; ot->description= "Copy vertex coordinates from other object"; ot->idname= "OBJECT_OT_multires_reshape"; ot->poll= multires_poll; ot->invoke= multires_reshape_invoke; ot->exec= multires_reshape_exec; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; edit_modifier_properties(ot); }
void OBJECT_OT_multires_subdivide(wmOperatorType *ot) { ot->name= "Multires Subdivide"; ot->description= "Add a new level of subdivision"; ot->idname= "OBJECT_OT_multires_subdivide"; ot->poll= multires_poll; ot->invoke= multires_subdivide_invoke; ot->exec= multires_subdivide_exec; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; edit_modifier_properties(ot); }
void OBJECT_OT_multires_higher_levels_delete(wmOperatorType *ot) { ot->name= "Delete Higher Levels"; ot->description= "Deletes the higher resolution mesh, potential loss of detail"; ot->idname= "OBJECT_OT_multires_higher_levels_delete"; ot->poll= multires_poll; ot->invoke= multires_higher_levels_delete_invoke; ot->exec= multires_higher_levels_delete_exec; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; edit_modifier_properties(ot); }
void OBJECT_OT_modifier_copy(wmOperatorType *ot) { ot->name= "Copy Modifier"; ot->description= "Duplicate modifier at the same position in the stack"; ot->idname= "OBJECT_OT_modifier_copy"; ot->invoke= modifier_copy_invoke; ot->exec= modifier_copy_exec; ot->poll= edit_modifier_poll; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; edit_modifier_properties(ot); }
void OBJECT_OT_modifier_apply(wmOperatorType *ot) { ot->name= "Apply Modifier"; ot->description= "Apply modifier and remove from the stack"; ot->idname= "OBJECT_OT_modifier_apply"; ot->invoke= modifier_apply_invoke; ot->exec= modifier_apply_exec; ot->poll= edit_modifier_poll; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; RNA_def_enum(ot->srna, "apply_as", modifier_apply_as_items, MODIFIER_APPLY_DATA, "Apply as", "How to apply the modifier to the geometry"); edit_modifier_properties(ot); }
void OBJECT_OT_ocean_bake(wmOperatorType *ot) { ot->name= "Bake Ocean"; ot->description= "Bake an image sequence of ocean data"; ot->idname= "OBJECT_OT_ocean_bake"; ot->poll= ocean_bake_poll; ot->invoke= ocean_bake_invoke; ot->exec= ocean_bake_exec; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; edit_modifier_properties(ot); RNA_def_boolean(ot->srna, "free", FALSE, "Free", "Free the bake, rather than generating it"); }
void OBJECT_OT_meshdeform_bind(wmOperatorType *ot) { /* identifiers */ ot->name= "Mesh Deform Bind"; ot->description = "Bind mesh to cage in mesh deform modifier"; ot->idname= "OBJECT_OT_meshdeform_bind"; /* api callbacks */ ot->poll= meshdeform_poll; ot->invoke= meshdeform_bind_invoke; ot->exec= meshdeform_bind_exec; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; edit_modifier_properties(ot); }
void OBJECT_OT_multires_external_save(wmOperatorType *ot) { ot->name= "Multires Save External"; ot->description= "Save displacements to an external file"; ot->idname= "OBJECT_OT_multires_external_save"; // XXX modifier no longer in context after file browser .. ot->poll= multires_poll; ot->exec= multires_external_save_exec; ot->invoke= multires_external_save_invoke; ot->poll= multires_poll; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; WM_operator_properties_filesel(ot, FOLDERFILE|BTXFILE, FILE_SPECIAL, FILE_SAVE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH, FILE_DEFAULTDISPLAY); edit_modifier_properties(ot); }