2011-02-23 10:52:22 +00:00
|
|
|
/*
|
2009-06-18 19:48:55 +00:00
|
|
|
* ***** 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
|
2012-03-18 09:27:36 +00:00
|
|
|
* of the License, or (at your option) any later version.
|
2009-06-18 19:48:55 +00:00
|
|
|
*
|
|
|
|
|
* 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,
|
2010-02-12 13:34:04 +00:00
|
|
|
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
2009-06-18 19:48:55 +00:00
|
|
|
*
|
|
|
|
|
* The Original Code is Copyright (C) 2009 Blender Foundation.
|
|
|
|
|
* All rights reserved.
|
|
|
|
|
*
|
2012-03-18 09:27:36 +00:00
|
|
|
*
|
2009-06-18 19:48:55 +00:00
|
|
|
* Contributor(s): Blender Foundation
|
|
|
|
|
*
|
|
|
|
|
* ***** END GPL LICENSE BLOCK *****
|
|
|
|
|
*/
|
|
|
|
|
|
2011-02-27 20:20:01 +00:00
|
|
|
/** \file blender/makesrna/intern/rna_main_api.c
|
|
|
|
|
* \ingroup RNA
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
2009-06-18 19:48:55 +00:00
|
|
|
#include <stdlib.h>
|
|
|
|
|
#include <stdio.h>
|
2010-07-03 17:47:06 +00:00
|
|
|
#include <errno.h>
|
2009-06-18 19:48:55 +00:00
|
|
|
|
2012-06-04 16:42:58 +00:00
|
|
|
#include "DNA_ID.h"
|
2013-02-05 12:46:15 +00:00
|
|
|
#include "DNA_modifier_types.h"
|
2015-05-11 16:29:12 +02:00
|
|
|
#include "DNA_space_types.h"
|
2015-08-31 21:37:38 +03:00
|
|
|
#include "DNA_object_types.h"
|
2012-06-04 16:42:58 +00:00
|
|
|
|
2013-02-10 13:44:18 +00:00
|
|
|
#include "BLI_utildefines.h"
|
2013-03-04 18:36:37 +00:00
|
|
|
#include "BLI_path_util.h"
|
2012-09-03 22:04:14 +00:00
|
|
|
|
2009-06-18 19:48:55 +00:00
|
|
|
#include "RNA_define.h"
|
2010-02-22 00:07:46 +00:00
|
|
|
#include "RNA_access.h"
|
2009-09-22 17:50:29 +00:00
|
|
|
#include "RNA_enum_types.h"
|
2009-06-18 19:48:55 +00:00
|
|
|
|
2012-09-03 22:04:14 +00:00
|
|
|
#include "rna_internal.h"
|
2010-01-11 00:41:31 +00:00
|
|
|
|
2009-06-18 19:48:55 +00:00
|
|
|
#ifdef RNA_RUNTIME
|
|
|
|
|
|
|
|
|
|
#include "BKE_main.h"
|
2011-11-05 13:00:39 +00:00
|
|
|
#include "BKE_camera.h"
|
2010-02-22 00:07:46 +00:00
|
|
|
#include "BKE_curve.h"
|
2013-02-05 12:46:15 +00:00
|
|
|
#include "BKE_DerivedMesh.h"
|
|
|
|
|
#include "BKE_displist.h"
|
2009-06-18 19:48:55 +00:00
|
|
|
#include "BKE_mesh.h"
|
2009-12-02 15:37:07 +00:00
|
|
|
#include "BKE_armature.h"
|
2011-11-05 13:11:49 +00:00
|
|
|
#include "BKE_lamp.h"
|
2009-06-18 19:48:55 +00:00
|
|
|
#include "BKE_library.h"
|
ID-Remap - Step one: core work (cleanup and rework of generic ID datablock handling).
This commit changes a lot of how IDs are handled internally, especially the unlinking/freeing
processes. So far, this was very fuzy, to summarize cleanly deleting or replacing a datablock
was pretty much impossible, except for a few special cases.
Also, unlinking was handled by each datatype, in a rather messy and prone-to-errors way (quite
a few ID usages were missed or wrongly handled that way).
One of the main goal of id-remap branch was to cleanup this, and fatorize ID links handling
by using library_query utils to allow generic handling of those, which is now the case
(now, generic ID links handling is only "knwon" from readfile.c and library_query.c).
This commit also adds backends to allow live replacement and deletion of datablocks in Blender
(so-called 'remapping' process, where we replace all usages of a given ID pointer by a new one,
or NULL one in case of unlinking).
This will allow nice new features, like ability to easily reload or relocate libraries, real immediate
deletion of datablocks in blender, replacement of one datablock by another, etc.
Some of those are for next commits.
A word of warning: this commit is highly risky, because it affects potentially a lot in Blender core.
Though it was tested rather deeply, being totally impossible to check all possible ID usage cases,
it's likely there are some remaining issues and bugs in new code... Please report them! ;)
Review task: D2027 (https://developer.blender.org/D2027).
Reviewed by campbellbarton, thanks a bunch.
2016-06-22 17:29:38 +02:00
|
|
|
#include "BKE_library_remap.h"
|
2009-06-20 16:32:52 +00:00
|
|
|
#include "BKE_object.h"
|
2009-07-02 20:46:35 +00:00
|
|
|
#include "BKE_material.h"
|
2015-05-11 16:29:12 +02:00
|
|
|
#include "BKE_icons.h"
|
2016-06-25 17:01:36 +02:00
|
|
|
#include "BKE_idcode.h"
|
2009-07-03 17:44:20 +00:00
|
|
|
#include "BKE_image.h"
|
2009-08-13 11:14:06 +00:00
|
|
|
#include "BKE_texture.h"
|
2010-01-09 23:44:01 +00:00
|
|
|
#include "BKE_scene.h"
|
2015-05-01 00:57:12 +10:00
|
|
|
#include "BKE_sound.h"
|
2010-01-11 00:41:31 +00:00
|
|
|
#include "BKE_text.h"
|
2010-01-11 23:40:01 +00:00
|
|
|
#include "BKE_action.h"
|
|
|
|
|
#include "BKE_group.h"
|
2010-05-14 21:16:37 +00:00
|
|
|
#include "BKE_brush.h"
|
|
|
|
|
#include "BKE_lattice.h"
|
|
|
|
|
#include "BKE_mball.h"
|
2010-05-15 13:30:14 +00:00
|
|
|
#include "BKE_world.h"
|
|
|
|
|
#include "BKE_particle.h"
|
2015-03-12 23:47:48 +11:00
|
|
|
#include "BKE_paint.h"
|
2010-05-15 13:30:14 +00:00
|
|
|
#include "BKE_font.h"
|
|
|
|
|
#include "BKE_node.h"
|
2011-11-02 20:56:52 +00:00
|
|
|
#include "BKE_depsgraph.h"
|
2011-08-04 07:12:03 +00:00
|
|
|
#include "BKE_speaker.h"
|
2011-11-07 12:55:18 +00:00
|
|
|
#include "BKE_movieclip.h"
|
2012-06-04 16:42:58 +00:00
|
|
|
#include "BKE_mask.h"
|
2012-10-07 20:07:30 +00:00
|
|
|
#include "BKE_gpencil.h"
|
2013-03-23 03:00:37 +00:00
|
|
|
#include "BKE_linestyle.h"
|
2009-08-13 11:14:06 +00:00
|
|
|
|
2009-12-02 15:37:07 +00:00
|
|
|
#include "DNA_armature_types.h"
|
2010-01-09 23:44:01 +00:00
|
|
|
#include "DNA_camera_types.h"
|
2010-03-23 14:58:36 +00:00
|
|
|
#include "DNA_curve_types.h"
|
2009-08-13 11:14:06 +00:00
|
|
|
#include "DNA_lamp_types.h"
|
2009-12-02 15:37:07 +00:00
|
|
|
#include "DNA_material_types.h"
|
|
|
|
|
#include "DNA_mesh_types.h"
|
2011-08-01 11:44:20 +00:00
|
|
|
#include "DNA_speaker_types.h"
|
2015-05-01 00:57:12 +10:00
|
|
|
#include "DNA_sound_types.h"
|
2010-01-11 00:41:31 +00:00
|
|
|
#include "DNA_text_types.h"
|
2010-01-17 20:06:34 +00:00
|
|
|
#include "DNA_texture_types.h"
|
2010-01-11 23:40:01 +00:00
|
|
|
#include "DNA_group_types.h"
|
2010-05-14 21:16:37 +00:00
|
|
|
#include "DNA_brush_types.h"
|
|
|
|
|
#include "DNA_lattice_types.h"
|
|
|
|
|
#include "DNA_meta_types.h"
|
2010-05-15 13:30:14 +00:00
|
|
|
#include "DNA_world_types.h"
|
|
|
|
|
#include "DNA_particle_types.h"
|
|
|
|
|
#include "DNA_vfont_types.h"
|
|
|
|
|
#include "DNA_node_types.h"
|
2011-11-07 12:55:18 +00:00
|
|
|
#include "DNA_movieclip_types.h"
|
2012-06-04 16:42:58 +00:00
|
|
|
#include "DNA_mask_types.h"
|
2012-10-07 20:07:30 +00:00
|
|
|
#include "DNA_gpencil_types.h"
|
2010-01-11 00:41:31 +00:00
|
|
|
|
|
|
|
|
#include "ED_screen.h"
|
2009-06-18 19:48:55 +00:00
|
|
|
|
2015-08-16 17:32:01 +10:00
|
|
|
#include "BLT_translation.h"
|
2012-10-16 07:53:10 +00:00
|
|
|
|
2014-02-17 19:29:37 +11:00
|
|
|
#ifdef WITH_PYTHON
|
|
|
|
|
# include "BPY_extern.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
|
2016-12-27 16:39:19 +01:00
|
|
|
static void rna_idname_validate(const char *name, char *r_name)
|
|
|
|
|
{
|
|
|
|
|
BLI_strncpy(r_name, name, MAX_ID_NAME - 2);
|
|
|
|
|
BLI_utf8_invalid_strip(r_name, strlen(r_name));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2018-07-01 15:47:09 +02:00
|
|
|
static void rna_Main_ID_remove(
|
|
|
|
|
Main *bmain, ReportList *reports, PointerRNA *id_ptr,
|
|
|
|
|
bool do_unlink, bool do_id_user, bool do_ui_user)
|
2016-06-25 17:01:36 +02:00
|
|
|
{
|
|
|
|
|
ID *id = id_ptr->data;
|
|
|
|
|
if (do_unlink) {
|
|
|
|
|
BKE_libblock_delete(bmain, id);
|
|
|
|
|
RNA_POINTER_INVALIDATE(id_ptr);
|
|
|
|
|
}
|
|
|
|
|
else if (ID_REAL_USERS(id) <= 0) {
|
2017-09-13 20:12:19 +05:00
|
|
|
BKE_libblock_free_ex(bmain, id, do_id_user, do_ui_user);
|
2016-06-25 17:01:36 +02:00
|
|
|
RNA_POINTER_INVALIDATE(id_ptr);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
BKE_reportf(reports, RPT_ERROR,
|
2016-07-06 11:32:46 -03:00
|
|
|
"%s '%s' must have zero users to be removed, found %d (try with do_unlink=True parameter)",
|
2016-06-25 17:01:36 +02:00
|
|
|
BKE_idcode_to_name(GS(id->name)), id->name + 2, ID_REAL_USERS(id));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static Camera *rna_Main_cameras_new(Main *bmain, const char *name)
|
2009-12-02 15:37:07 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
ID *id = BKE_camera_add(bmain, safe_name);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(id);
|
2010-09-11 06:27:38 +00:00
|
|
|
return (Camera *)id;
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2009-12-02 15:37:07 +00:00
|
|
|
|
2012-12-13 01:17:22 +00:00
|
|
|
static Scene *rna_Main_scenes_new(Main *bmain, const char *name)
|
2009-12-02 15:37:07 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
return BKE_scene_add(bmain, safe_name);
|
2009-08-13 11:14:06 +00:00
|
|
|
}
|
2018-07-01 15:47:09 +02:00
|
|
|
static void rna_Main_scenes_remove(Main *bmain, bContext *C, ReportList *reports, PointerRNA *scene_ptr, bool do_unlink)
|
2009-08-13 11:14:06 +00:00
|
|
|
{
|
2012-05-05 14:03:12 +00:00
|
|
|
/* don't call BKE_libblock_free(...) directly */
|
2012-11-01 17:16:24 +00:00
|
|
|
Scene *scene = scene_ptr->data;
|
|
|
|
|
Scene *scene_new;
|
|
|
|
|
|
|
|
|
|
if ((scene_new = scene->id.prev) ||
|
|
|
|
|
(scene_new = scene->id.next))
|
|
|
|
|
{
|
2016-06-25 17:01:36 +02:00
|
|
|
if (do_unlink) {
|
|
|
|
|
bScreen *sc = CTX_wm_screen(C);
|
|
|
|
|
if (sc->scene == scene) {
|
2014-02-17 19:29:37 +11:00
|
|
|
|
|
|
|
|
#ifdef WITH_PYTHON
|
2016-06-25 17:01:36 +02:00
|
|
|
BPy_BEGIN_ALLOW_THREADS;
|
2014-02-17 19:29:37 +11:00
|
|
|
#endif
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
ED_screen_set_scene(C, sc, scene_new);
|
2014-02-17 19:29:37 +11:00
|
|
|
|
|
|
|
|
#ifdef WITH_PYTHON
|
2016-06-25 17:01:36 +02:00
|
|
|
BPy_END_ALLOW_THREADS;
|
2014-02-17 19:29:37 +11:00
|
|
|
#endif
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
}
|
2012-11-01 17:16:24 +00:00
|
|
|
}
|
2017-09-13 20:12:19 +05:00
|
|
|
rna_Main_ID_remove(bmain, reports, scene_ptr, do_unlink, true, true);
|
2012-11-01 17:16:24 +00:00
|
|
|
}
|
2010-01-11 00:41:31 +00:00
|
|
|
else {
|
2012-10-20 10:28:34 +00:00
|
|
|
BKE_reportf(reports, RPT_ERROR, "Scene '%s' is the last, cannot be removed", scene->id.name + 2);
|
2010-01-11 00:41:31 +00:00
|
|
|
}
|
2009-08-13 11:14:06 +00:00
|
|
|
}
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static Object *rna_Main_objects_new(Main *bmain, ReportList *reports, const char *name, ID *data)
|
2009-06-20 16:32:52 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
2010-02-22 00:07:46 +00:00
|
|
|
Object *ob;
|
2012-03-05 23:30:41 +00:00
|
|
|
int type = OB_EMPTY;
|
|
|
|
|
if (data) {
|
2012-08-12 14:57:19 +00:00
|
|
|
/* keep in sync with OB_DATA_SUPPORT_ID() macro */
|
2012-03-05 23:30:41 +00:00
|
|
|
switch (GS(data->name)) {
|
2010-02-22 00:07:46 +00:00
|
|
|
case ID_ME:
|
2012-03-05 23:30:41 +00:00
|
|
|
type = OB_MESH;
|
2010-02-22 00:07:46 +00:00
|
|
|
break;
|
|
|
|
|
case ID_CU:
|
2012-11-01 17:16:24 +00:00
|
|
|
type = BKE_curve_type_get((Curve *)data);
|
2010-02-22 00:07:46 +00:00
|
|
|
break;
|
|
|
|
|
case ID_MB:
|
2012-03-05 23:30:41 +00:00
|
|
|
type = OB_MBALL;
|
2010-02-22 00:07:46 +00:00
|
|
|
break;
|
|
|
|
|
case ID_LA:
|
2012-03-05 23:30:41 +00:00
|
|
|
type = OB_LAMP;
|
2010-02-22 00:07:46 +00:00
|
|
|
break;
|
2011-08-01 11:44:20 +00:00
|
|
|
case ID_SPK:
|
2012-03-05 23:30:41 +00:00
|
|
|
type = OB_SPEAKER;
|
2011-08-01 11:44:20 +00:00
|
|
|
break;
|
2010-02-22 00:07:46 +00:00
|
|
|
case ID_CA:
|
2012-03-05 23:30:41 +00:00
|
|
|
type = OB_CAMERA;
|
2010-02-22 00:07:46 +00:00
|
|
|
break;
|
|
|
|
|
case ID_LT:
|
2012-03-05 23:30:41 +00:00
|
|
|
type = OB_LATTICE;
|
2010-02-22 00:07:46 +00:00
|
|
|
break;
|
|
|
|
|
case ID_AR:
|
2012-03-05 23:30:41 +00:00
|
|
|
type = OB_ARMATURE;
|
2010-02-22 00:07:46 +00:00
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
{
|
|
|
|
|
const char *idname;
|
2015-11-23 13:49:52 +11:00
|
|
|
if (RNA_enum_id_from_value(rna_enum_id_type_items, GS(data->name), &idname) == 0)
|
2012-03-05 23:30:41 +00:00
|
|
|
idname = "UNKNOWN";
|
2010-02-22 00:07:46 +00:00
|
|
|
|
2012-10-20 10:28:34 +00:00
|
|
|
BKE_reportf(reports, RPT_ERROR, "ID type '%s' is not valid for an object", idname);
|
2010-02-22 00:07:46 +00:00
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_plus(data);
|
2010-02-22 00:07:46 +00:00
|
|
|
}
|
|
|
|
|
|
2016-12-27 16:39:19 +01:00
|
|
|
ob = BKE_object_add_only_object(bmain, type, safe_name);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(&ob->id);
|
2010-02-22 00:07:46 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
ob->data = data;
|
2018-05-29 15:49:21 +02:00
|
|
|
test_object_materials(bmain, ob, ob->data);
|
2016-02-15 19:33:34 +01:00
|
|
|
|
2009-06-24 19:23:34 +00:00
|
|
|
return ob;
|
|
|
|
|
}
|
2010-02-22 00:07:46 +00:00
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static Material *rna_Main_materials_new(Main *bmain, const char *name)
|
2009-06-24 19:23:34 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
ID *id = (ID *)BKE_material_add(bmain, safe_name);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(id);
|
2010-09-11 06:27:38 +00:00
|
|
|
return (Material *)id;
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2009-06-20 16:32:52 +00:00
|
|
|
|
2017-10-18 15:07:26 +11:00
|
|
|
static const EnumPropertyItem *rna_Main_nodetree_type_itemf(bContext *UNUSED(C), PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
|
2010-05-15 13:30:14 +00:00
|
|
|
{
|
2014-01-04 18:08:43 +11:00
|
|
|
return rna_node_tree_type_itemf(NULL, NULL, r_free);
|
2013-03-18 16:34:57 +00:00
|
|
|
}
|
|
|
|
|
static struct bNodeTree *rna_Main_nodetree_new(Main *bmain, const char *name, int type)
|
|
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
2013-03-18 16:34:57 +00:00
|
|
|
bNodeTreeType *typeinfo = rna_node_tree_type_from_enum(type);
|
|
|
|
|
if (typeinfo) {
|
2016-12-27 16:39:19 +01:00
|
|
|
bNodeTree *ntree = ntreeAddTree(bmain, safe_name, typeinfo->idname);
|
2016-02-15 19:33:34 +01:00
|
|
|
|
2013-03-18 16:34:57 +00:00
|
|
|
id_us_min(&ntree->id);
|
|
|
|
|
return ntree;
|
|
|
|
|
}
|
2016-12-27 16:39:19 +01:00
|
|
|
else {
|
2013-03-18 16:34:57 +00:00
|
|
|
return NULL;
|
2016-12-27 16:39:19 +01:00
|
|
|
}
|
2010-05-15 13:30:14 +00:00
|
|
|
}
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static Mesh *rna_Main_meshes_new(Main *bmain, const char *name)
|
2009-07-02 20:46:35 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
Mesh *me = BKE_mesh_add(bmain, safe_name);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(&me->id);
|
2010-01-09 23:44:01 +00:00
|
|
|
return me;
|
2009-07-02 20:46:35 +00:00
|
|
|
}
|
2013-02-05 12:46:15 +00:00
|
|
|
|
|
|
|
|
/* copied from Mesh_getFromObject and adapted to RNA interface */
|
|
|
|
|
/* settings: 1 - preview, 2 - render */
|
2013-02-10 13:44:18 +00:00
|
|
|
Mesh *rna_Main_meshes_new_from_object(
|
|
|
|
|
Main *bmain, ReportList *reports, Scene *sce,
|
2018-07-01 15:47:09 +02:00
|
|
|
Object *ob, bool apply_modifiers, int settings, bool calc_tessface, bool calc_undeformed)
|
2010-01-09 23:44:01 +00:00
|
|
|
{
|
2013-02-05 12:46:15 +00:00
|
|
|
switch (ob->type) {
|
|
|
|
|
case OB_FONT:
|
|
|
|
|
case OB_CURVE:
|
|
|
|
|
case OB_SURF:
|
|
|
|
|
case OB_MBALL:
|
|
|
|
|
case OB_MESH:
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
BKE_report(reports, RPT_ERROR, "Object does not have geometry data");
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
Bake API - bpy.ops.object.bake()
New operator that can calls a bake function to the current render engine when available. This commit provides no feature for the users, but allows external engines to be accessed by the operator and be integrated with the baking api.
The API itself is simple. Blender sends a populated array of BakePixels to the renderer, and gets back an array of floats with the result.
The Blender Internal (and multires) system is still running independent, but we eventually will pipe it through the API as well. Cycles baking will come next as a separated commit
Python Operator:
----------------
The operator can be called with some arguments, or a user interface can be created for it. In that case the arguments can be ommited and the interface can expose the settings from bpy.context.scene.render.bake
bpy.ops.object.bake(type='COMBINED', filepath="", width=512, height=512, margin=16, use_selected_to_active=False, cage_extrusion=0, cage="", normal_space='TANGENT', normal_r='POS_X', normal_g='POS_Y', normal_b='POS_Z', save_mode='INTERNAL', use_clear=False, use_split_materials=False, use_automatic_name=False)
Note: external save mode is currently disabled.
Supported Features:
------------------
* Margin - Baked result is extended this many pixels beyond the border of each UV "island," to soften seams in the texture.
* Selected to Active - bake shading on the surface of selected object to the active object. The rays are cast from the lowpoly object inwards towards the highpoly object. If the highpoly object is not entirely involved by the lowpoly object, you can tweak the rays start point with Cage Extrusion. For even more control of the cage you can use a Cage object.
* Cage Extrusion - distance to use for the inward ray cast when using selected to active
* Custom Cage - object to use as cage (instead of the lowpoly object).
* Normal swizzle - change the axis that gets mapped to RGB
* Normal space - save as tangent or object normal spaces
Supported Passes:
-----------------
Any pass that is supported by Blender renderlayer system. Though it's up to the external engine to provide a valid enum with its supported passes. Normal passes get a special treatment since we post-process them to converted and "swizzled"
Development Notes for External Engines:
---------------------------------------
(read them in bake_api.c)
* For a complete implementation example look at the Cycles Bake commit (next).
Review: D421
Reviewed by: Campbell Barton, Brecht van Lommel, Sergey Sharybin, Thomas Dinge
Normal map pipeline "consulting" by Andy Davies (metalliandy)
Original design by Brecht van Lommel.
The entire commit history can be found on the branch: bake-cycles
2014-01-02 19:05:07 -02:00
|
|
|
return BKE_mesh_new_from_object(bmain, sce, ob, apply_modifiers, settings, calc_tessface, calc_undeformed);
|
2013-02-05 12:46:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static Lamp *rna_Main_lamps_new(Main *bmain, const char *name, int type)
|
2009-07-02 20:46:35 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
Lamp *lamp = BKE_lamp_add(bmain, safe_name);
|
2012-03-05 23:30:41 +00:00
|
|
|
lamp->type = type;
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(&lamp->id);
|
2010-01-09 23:44:01 +00:00
|
|
|
return lamp;
|
2009-07-02 20:46:35 +00:00
|
|
|
}
|
|
|
|
|
|
2018-07-01 15:47:09 +02:00
|
|
|
static Image *rna_Main_images_new(Main *bmain, const char *name, int width, int height, bool alpha, bool float_buffer, bool stereo3d)
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
float color[4] = {0.0, 0.0, 0.0, 1.0};
|
2016-12-27 16:39:19 +01:00
|
|
|
Image *image = BKE_image_add_generated(bmain, width, height, safe_name, alpha ? 32 : 24, float_buffer, 0, color, stereo3d);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(&image->id);
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
return image;
|
|
|
|
|
}
|
2018-07-01 15:47:09 +02:00
|
|
|
static Image *rna_Main_images_load(Main *bmain, ReportList *reports, const char *filepath, bool check_existing)
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
{
|
2010-07-03 17:47:06 +00:00
|
|
|
Image *ima;
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
errno = 0;
|
2015-10-05 18:49:20 +02:00
|
|
|
if (check_existing) {
|
2018-06-11 15:40:37 +02:00
|
|
|
ima = BKE_image_load_exists(bmain, filepath);
|
2015-10-05 18:49:20 +02:00
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
ima = BKE_image_load(bmain, filepath);
|
|
|
|
|
}
|
2010-07-03 17:47:06 +00:00
|
|
|
|
2012-11-01 17:16:24 +00:00
|
|
|
if (!ima) {
|
2012-10-20 10:28:34 +00:00
|
|
|
BKE_reportf(reports, RPT_ERROR, "Cannot read '%s': %s", filepath,
|
|
|
|
|
errno ? strerror(errno) : TIP_("unsupported image format"));
|
2012-11-01 17:16:24 +00:00
|
|
|
}
|
2010-07-03 17:47:06 +00:00
|
|
|
|
2015-11-19 06:20:02 +11:00
|
|
|
id_us_min((ID *)ima);
|
2010-07-03 17:47:06 +00:00
|
|
|
return ima;
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
}
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static Lattice *rna_Main_lattices_new(Main *bmain, const char *name)
|
2010-05-14 21:16:37 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
Lattice *lt = BKE_lattice_add(bmain, safe_name);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(<->id);
|
2010-05-14 21:16:37 +00:00
|
|
|
return lt;
|
|
|
|
|
}
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static Curve *rna_Main_curves_new(Main *bmain, const char *name, int type)
|
2010-03-23 14:58:36 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
Curve *cu = BKE_curve_add(bmain, safe_name, type);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(&cu->id);
|
2010-03-23 14:58:36 +00:00
|
|
|
return cu;
|
|
|
|
|
}
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static MetaBall *rna_Main_metaballs_new(Main *bmain, const char *name)
|
2010-05-14 21:16:37 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
MetaBall *mb = BKE_mball_add(bmain, safe_name);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(&mb->id);
|
2010-05-14 21:16:37 +00:00
|
|
|
return mb;
|
|
|
|
|
}
|
|
|
|
|
|
2018-07-01 15:47:09 +02:00
|
|
|
static VFont *rna_Main_fonts_load(Main *bmain, ReportList *reports, const char *filepath, bool check_existing)
|
2010-05-15 13:30:14 +00:00
|
|
|
{
|
2010-07-03 17:47:06 +00:00
|
|
|
VFont *font;
|
2012-03-05 23:30:41 +00:00
|
|
|
errno = 0;
|
2015-10-06 19:40:15 +11:00
|
|
|
|
|
|
|
|
if (check_existing) {
|
|
|
|
|
font = BKE_vfont_load_exists(bmain, filepath);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
font = BKE_vfont_load(bmain, filepath);
|
|
|
|
|
}
|
2010-07-03 17:47:06 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
if (!font)
|
2012-10-20 10:28:34 +00:00
|
|
|
BKE_reportf(reports, RPT_ERROR, "Cannot read '%s': %s", filepath,
|
|
|
|
|
errno ? strerror(errno) : TIP_("unsupported font format"));
|
2010-07-03 17:47:06 +00:00
|
|
|
|
2015-11-19 06:20:02 +11:00
|
|
|
id_us_min((ID *)font);
|
2010-07-03 17:47:06 +00:00
|
|
|
return font;
|
|
|
|
|
|
2010-05-15 13:30:14 +00:00
|
|
|
}
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static Tex *rna_Main_textures_new(Main *bmain, const char *name, int type)
|
2010-01-17 20:06:34 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
Tex *tex = BKE_texture_add(bmain, safe_name);
|
2015-03-29 03:16:55 +11:00
|
|
|
BKE_texture_type_set(tex, type);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(&tex->id);
|
2010-01-17 20:06:34 +00:00
|
|
|
return tex;
|
|
|
|
|
}
|
|
|
|
|
|
2015-08-31 21:37:38 +03:00
|
|
|
static Brush *rna_Main_brushes_new(Main *bmain, const char *name, int mode)
|
2010-05-14 21:16:37 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
Brush *brush = BKE_brush_add(bmain, safe_name, mode);
|
2018-01-10 19:34:34 +11:00
|
|
|
id_us_min(&brush->id);
|
2010-05-14 21:16:37 +00:00
|
|
|
return brush;
|
|
|
|
|
}
|
2015-08-31 21:37:38 +03:00
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static World *rna_Main_worlds_new(Main *bmain, const char *name)
|
2010-05-15 13:30:14 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
2018-01-11 09:55:41 +11:00
|
|
|
World *world = BKE_world_add(bmain, safe_name);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(&world->id);
|
2010-05-15 13:30:14 +00:00
|
|
|
return world;
|
|
|
|
|
}
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static Group *rna_Main_groups_new(Main *bmain, const char *name)
|
2010-01-11 23:40:01 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
return BKE_group_add(bmain, safe_name);
|
2010-01-11 23:40:01 +00:00
|
|
|
}
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static Speaker *rna_Main_speakers_new(Main *bmain, const char *name)
|
2011-08-01 11:44:20 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
Speaker *speaker = BKE_speaker_add(bmain, safe_name);
|
2011-08-01 11:44:20 +00:00
|
|
|
id_us_min(&speaker->id);
|
|
|
|
|
return speaker;
|
|
|
|
|
}
|
|
|
|
|
|
2018-07-01 15:47:09 +02:00
|
|
|
static bSound *rna_Main_sounds_load(Main *bmain, const char *name, bool check_existing)
|
2015-05-01 00:57:12 +10:00
|
|
|
{
|
2015-10-06 19:40:15 +11:00
|
|
|
bSound *sound;
|
|
|
|
|
|
|
|
|
|
if (check_existing) {
|
|
|
|
|
sound = BKE_sound_new_file_exists(bmain, name);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
sound = BKE_sound_new_file(bmain, name);
|
|
|
|
|
}
|
|
|
|
|
|
2015-05-01 00:57:12 +10:00
|
|
|
id_us_min(&sound->id);
|
|
|
|
|
return sound;
|
|
|
|
|
}
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static Text *rna_Main_texts_new(Main *bmain, const char *name)
|
2010-01-11 00:41:31 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
return BKE_text_add(bmain, safe_name);
|
2010-01-11 00:41:31 +00:00
|
|
|
}
|
2010-07-03 17:47:06 +00:00
|
|
|
|
2018-07-01 15:47:09 +02:00
|
|
|
static Text *rna_Main_texts_load(Main *bmain, ReportList *reports, const char *filepath, bool is_internal)
|
2010-01-11 00:41:31 +00:00
|
|
|
{
|
2010-07-03 17:47:06 +00:00
|
|
|
Text *txt;
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
errno = 0;
|
2018-06-05 15:10:33 +02:00
|
|
|
txt = BKE_text_load_ex(bmain, filepath, BKE_main_blendfile_path(bmain), is_internal);
|
2010-07-03 17:47:06 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
if (!txt)
|
2012-10-20 10:28:34 +00:00
|
|
|
BKE_reportf(reports, RPT_ERROR, "Cannot read '%s': %s", filepath,
|
|
|
|
|
errno ? strerror(errno) : TIP_("unable to load text"));
|
2010-01-11 00:41:31 +00:00
|
|
|
|
|
|
|
|
return txt;
|
|
|
|
|
}
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static bArmature *rna_Main_armatures_new(Main *bmain, const char *name)
|
2009-07-03 17:44:20 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
bArmature *arm = BKE_armature_add(bmain, safe_name);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(&arm->id);
|
2010-01-09 23:44:01 +00:00
|
|
|
return arm;
|
|
|
|
|
}
|
2009-07-03 17:44:20 +00:00
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static bAction *rna_Main_actions_new(Main *bmain, const char *name)
|
2010-01-11 23:40:01 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
2018-01-11 09:55:41 +11:00
|
|
|
bAction *act = BKE_action_add(bmain, safe_name);
|
2015-11-09 20:59:42 +01:00
|
|
|
id_fake_user_clear(&act->id);
|
2010-01-11 23:40:01 +00:00
|
|
|
return act;
|
|
|
|
|
}
|
|
|
|
|
|
2012-09-23 18:50:56 +00:00
|
|
|
static ParticleSettings *rna_Main_particles_new(Main *bmain, const char *name)
|
2010-05-15 13:30:14 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
2018-01-11 09:55:41 +11:00
|
|
|
ParticleSettings *part = BKE_particlesettings_add(bmain, safe_name);
|
2010-12-19 16:34:58 +00:00
|
|
|
id_us_min(&part->id);
|
2010-05-15 13:30:14 +00:00
|
|
|
return part;
|
|
|
|
|
}
|
|
|
|
|
|
2015-03-12 23:47:48 +11:00
|
|
|
static Palette *rna_Main_palettes_new(Main *bmain, const char *name)
|
|
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
Palette *palette = BKE_palette_add(bmain, safe_name);
|
2015-03-12 23:47:48 +11:00
|
|
|
id_us_min(&palette->id);
|
|
|
|
|
return (Palette *)palette;
|
|
|
|
|
}
|
|
|
|
|
|
2018-07-01 15:47:09 +02:00
|
|
|
static MovieClip *rna_Main_movieclip_load(Main *bmain, ReportList *reports, const char *filepath, bool check_existing)
|
2011-11-07 12:55:18 +00:00
|
|
|
{
|
|
|
|
|
MovieClip *clip;
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
errno = 0;
|
2015-10-06 19:40:15 +11:00
|
|
|
|
|
|
|
|
if (check_existing) {
|
|
|
|
|
clip = BKE_movieclip_file_add_exists(bmain, filepath);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
clip = BKE_movieclip_file_add(bmain, filepath);
|
|
|
|
|
}
|
2011-11-07 12:55:18 +00:00
|
|
|
|
2017-10-25 14:18:21 +02:00
|
|
|
if (clip != NULL) {
|
|
|
|
|
DAG_relations_tag_update(bmain);
|
|
|
|
|
}
|
|
|
|
|
else {
|
2012-10-20 10:28:34 +00:00
|
|
|
BKE_reportf(reports, RPT_ERROR, "Cannot read '%s': %s", filepath,
|
|
|
|
|
errno ? strerror(errno) : TIP_("unable to load movie clip"));
|
2017-10-25 14:18:21 +02:00
|
|
|
}
|
2011-11-07 12:55:18 +00:00
|
|
|
|
2015-11-19 06:20:02 +11:00
|
|
|
id_us_min((ID *)clip);
|
2011-11-07 12:55:18 +00:00
|
|
|
return clip;
|
|
|
|
|
}
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
static Mask *rna_Main_mask_new(Main *bmain, const char *name)
|
2012-06-04 16:42:58 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
2012-06-04 16:42:58 +00:00
|
|
|
|
2016-12-27 16:39:19 +01:00
|
|
|
return BKE_mask_new(bmain, safe_name);
|
2012-06-04 16:42:58 +00:00
|
|
|
}
|
|
|
|
|
|
2014-08-13 08:37:41 +10:00
|
|
|
static FreestyleLineStyle *rna_Main_linestyles_new(Main *bmain, const char *name)
|
2010-06-25 22:45:42 +00:00
|
|
|
{
|
2016-12-27 16:39:19 +01:00
|
|
|
char safe_name[MAX_ID_NAME - 2];
|
|
|
|
|
rna_idname_validate(name, safe_name);
|
|
|
|
|
|
|
|
|
|
FreestyleLineStyle *linestyle = BKE_linestyle_new(bmain, safe_name);
|
2011-11-25 01:10:55 +00:00
|
|
|
id_us_min(&linestyle->id);
|
2010-06-25 22:45:42 +00:00
|
|
|
return linestyle;
|
|
|
|
|
}
|
2011-11-25 01:10:55 +00:00
|
|
|
|
2016-02-15 19:33:34 +01:00
|
|
|
/* tag and is_updated functions, all the same */
|
|
|
|
|
#define RNA_MAIN_ID_TAG_FUNCS_DEF(_func_name, _listbase_name, _id_type) \
|
2018-07-01 15:47:09 +02:00
|
|
|
static void rna_Main_##_func_name##_tag(Main *bmain, bool value) { \
|
2016-02-15 19:35:35 +01:00
|
|
|
BKE_main_id_tag_listbase(&bmain->_listbase_name, LIB_TAG_DOIT, value); \
|
2016-02-15 19:33:34 +01:00
|
|
|
} \
|
2018-07-01 15:47:09 +02:00
|
|
|
static bool rna_Main_##_func_name##_is_updated_get(PointerRNA *ptr) { \
|
2016-02-15 19:33:34 +01:00
|
|
|
return DAG_id_type_tagged(ptr->data, _id_type) != 0; \
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(cameras, camera, ID_CA)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(scenes, scene, ID_SCE)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(objects, object, ID_OB)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(materials, mat, ID_MA)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(node_groups, nodetree, ID_NT)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(meshes, mesh, ID_ME)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(lamps, lamp, ID_LA)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(libraries, library, ID_LI)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(screens, screen, ID_SCR)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(window_managers, wm, ID_WM)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(images, image, ID_IM)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(lattices, latt, ID_LT)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(curves, curve, ID_CU)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(metaballs, mball, ID_MB)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(fonts, vfont, ID_VF)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(textures, tex, ID_TE)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(brushes, brush, ID_BR)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(worlds, world, ID_WO)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(groups, group, ID_GR)
|
|
|
|
|
//RNA_MAIN_ID_TAG_FUNCS_DEF(shape_keys, key, ID_KE)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(texts, text, ID_TXT)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(speakers, speaker, ID_SPK)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(sounds, sound, ID_SO)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(armatures, armature, ID_AR)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(actions, action, ID_AC)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(particles, particle, ID_PA)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(palettes, palettes, ID_PAL)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(gpencil, gpencil, ID_GD)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(movieclips, movieclip, ID_MC)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(masks, mask, ID_MSK)
|
|
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(linestyle, linestyle, ID_LS)
|
Basic Alembic support
All in all, this patch adds an Alembic importer, an Alembic exporter,
and a new CacheFile data block which, for now, wraps around an Alembic
archive. This data block is made available through a new modifier ("Mesh
Sequence Cache") as well as a new constraint ("Transform Cache") to
somewhat properly support respectively geometric and transformation data
streaming from alembic caches.
A more in-depth documentation is to be found on the wiki, as well as a
guide to compile alembic: https://wiki.blender.org/index.php/
User:Kevindietrich/AlembicBasicIo.
Many thanks to everyone involved in this little project, and huge shout
out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini
and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the
custom builds and compile fixes.
Reviewers: sergey, campbellbarton, mont29
Reviewed By: sergey, campbellbarton, mont29
Differential Revision: https://developer.blender.org/D2060
2016-08-06 06:20:37 +02:00
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(cachefiles, cachefiles, ID_CF)
|
2016-09-14 16:13:21 +02:00
|
|
|
RNA_MAIN_ID_TAG_FUNCS_DEF(paintcurves, paintcurves, ID_PC)
|
2016-02-15 19:33:34 +01:00
|
|
|
|
|
|
|
|
#undef RNA_MAIN_ID_TAG_FUNCS_DEF
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2009-06-18 19:48:55 +00:00
|
|
|
#else
|
|
|
|
|
|
2015-05-11 16:29:12 +02:00
|
|
|
void RNA_api_main(StructRNA *UNUSED(srna))
|
2009-06-18 19:48:55 +00:00
|
|
|
{
|
2012-04-22 11:54:53 +00:00
|
|
|
#if 0
|
2009-06-18 19:48:55 +00:00
|
|
|
FunctionRNA *func;
|
2009-06-20 16:32:52 +00:00
|
|
|
PropertyRNA *parm;
|
2015-05-11 16:29:12 +02:00
|
|
|
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
/* maybe we want to add functions in 'bpy.data' still?
|
|
|
|
|
* for now they are all in collections bpy.data.images.new(...) */
|
2012-05-12 11:01:29 +00:00
|
|
|
func = RNA_def_function(srna, "add_image", "rna_Main_add_image");
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new image");
|
2014-01-16 21:43:22 +11:00
|
|
|
parm = RNA_def_string_file_path(func, "filepath", NULL, 0, "", "File path to load image from");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2012-05-12 11:01:29 +00:00
|
|
|
parm = RNA_def_pointer(func, "image", "Image", "", "New image");
|
2010-01-09 23:44:01 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
2012-04-22 11:54:53 +00:00
|
|
|
#endif
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void RNA_def_main_cameras(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataCameras");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataCameras", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-02-10 21:15:44 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Cameras", "Collection of cameras");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_cameras_new");
|
2010-01-09 23:44:01 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new camera to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Camera", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-01-09 23:44:01 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "camera", "Camera", "", "New camera data-block");
|
2010-01-09 23:44:01 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-01-10 15:20:22 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a camera from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "camera", "Camera", "", "Camera to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "",
|
2016-06-25 17:01:36 +02:00
|
|
|
"Unlink all usages of this camera before deleting it "
|
|
|
|
|
"(WARNING: will also delete objects instancing that camera data)");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this camera");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this camera");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_cameras_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_cameras_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataScenes");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataScenes", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-02-10 21:15:44 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Scenes", "Collection of scenes");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_scenes_new");
|
2010-01-09 23:44:01 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new scene to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Scene", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-01-09 23:44:01 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "scene", "Scene", "", "New scene data-block");
|
2010-01-09 23:44:01 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_scenes_remove");
|
2012-05-12 11:01:29 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a scene from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "scene", "Scene", "", "Scene to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this scene before deleting it");
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-04-23 07:26:08 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_scenes_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2012-04-23 07:26:08 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_scenes_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void RNA_def_main_objects(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataObjects");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataObjects", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-02-10 21:15:44 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Objects", "Collection of objects");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_objects_new");
|
2010-02-22 00:07:46 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2010-01-09 23:44:01 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new object to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Object", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "object_data", "ID", "", "Object data or None for an empty object");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-01-09 23:44:01 +00:00
|
|
|
|
|
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "object", "Object", "", "New object data-block");
|
2009-06-20 16:32:52 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
2009-06-18 19:48:55 +00:00
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a object from the current blendfile");
|
2010-01-10 15:20:22 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "object", "Object", "", "Object to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this object before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this object");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this object");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_objects_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_objects_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2009-06-24 19:23:34 +00:00
|
|
|
|
2010-01-09 23:44:01 +00:00
|
|
|
void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataMaterials");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataMaterials", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2011-09-30 08:10:53 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Materials", "Collection of materials");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_materials_new");
|
2010-01-09 23:44:01 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new material to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Material", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-01-09 23:44:01 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "material", "Material", "", "New material data-block");
|
2009-06-20 16:32:52 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
2009-06-18 19:48:55 +00:00
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-01-10 15:20:22 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a material from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "material", "Material", "", "Material to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this material before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this material");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this material");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_materials_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_materials_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
void RNA_def_main_node_groups(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2010-05-15 13:30:14 +00:00
|
|
|
StructRNA *srna;
|
2010-12-03 03:44:39 +00:00
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-05-15 13:30:14 +00:00
|
|
|
|
2017-10-18 15:07:26 +11:00
|
|
|
static const EnumPropertyItem dummy_items[] = {
|
2013-03-18 16:34:57 +00:00
|
|
|
{0, "DUMMY", 0, "", ""},
|
2012-05-12 11:01:29 +00:00
|
|
|
{0, NULL, 0, NULL, NULL}
|
|
|
|
|
};
|
2010-05-15 13:30:14 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataNodeTrees");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataNodeTrees", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Node Trees", "Collection of node trees");
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_nodetree_new");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new node tree to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "NodeGroup", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2013-03-18 16:34:57 +00:00
|
|
|
parm = RNA_def_enum(func, "type", dummy_items, 0, "Type", "The type of node_group to add");
|
|
|
|
|
RNA_def_property_enum_funcs(parm, NULL, NULL, "rna_Main_nodetree_type_itemf");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-05-15 13:30:14 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "tree", "NodeTree", "", "New node tree data-block");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
2009-07-02 20:46:35 +00:00
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a node tree from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "tree", "NodeTree", "", "Node tree to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this node tree before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this node tree");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this node tree");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_node_groups_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_node_groups_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2017-10-18 15:07:26 +11:00
|
|
|
static const EnumPropertyItem mesh_type_items[] = {
|
2013-02-05 12:46:15 +00:00
|
|
|
{eModifierMode_Realtime, "PREVIEW", 0, "Preview", "Apply modifier preview settings"},
|
|
|
|
|
{eModifierMode_Render, "RENDER", 0, "Render", "Apply modifier render settings"},
|
|
|
|
|
{0, NULL, 0, NULL, NULL}
|
|
|
|
|
};
|
|
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataMeshes");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataMeshes", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-02-10 21:15:44 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Meshes", "Collection of meshes");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_meshes_new");
|
2010-01-09 23:44:01 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new mesh to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Mesh", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-01-09 23:44:01 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "mesh", "Mesh", "", "New mesh data-block");
|
2009-12-02 15:37:07 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2013-02-05 12:46:15 +00:00
|
|
|
func = RNA_def_function(srna, "new_from_object", "rna_Main_meshes_new_from_object");
|
|
|
|
|
RNA_def_function_ui_description(func, "Add a new mesh created from object with modifiers applied");
|
|
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
|
|
|
|
parm = RNA_def_pointer(func, "scene", "Scene", "", "Scene within which to evaluate modifiers");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
|
2013-02-05 12:46:15 +00:00
|
|
|
parm = RNA_def_pointer(func, "object", "Object", "", "Object to create mesh from");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
|
2013-02-05 12:46:15 +00:00
|
|
|
parm = RNA_def_boolean(func, "apply_modifiers", 0, "", "Apply modifiers");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2013-02-05 12:46:15 +00:00
|
|
|
parm = RNA_def_enum(func, "settings", mesh_type_items, 0, "", "Modifier settings to apply");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2013-02-10 13:44:18 +00:00
|
|
|
RNA_def_boolean(func, "calc_tessface", true, "Calculate Tessellation", "Calculate tessellation faces");
|
2013-05-05 05:56:41 +00:00
|
|
|
RNA_def_boolean(func, "calc_undeformed", false, "Calculate Undeformed", "Calculate undeformed vertex coordinates");
|
2013-02-05 12:46:15 +00:00
|
|
|
parm = RNA_def_pointer(func, "mesh", "Mesh", "",
|
|
|
|
|
"Mesh created from object, remove it if it is only used for export");
|
|
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-01-10 15:20:22 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a mesh from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "mesh", "Mesh", "", "Mesh to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "",
|
2016-06-25 17:01:36 +02:00
|
|
|
"Unlink all usages of this mesh before deleting it "
|
|
|
|
|
"(WARNING: will also delete objects instancing that mesh data)");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this mesh data");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this mesh data");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_meshes_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_meshes_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
void RNA_def_main_lamps(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataLamps");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataLamps", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-02-10 21:15:44 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Lamps", "Collection of lamps");
|
2009-12-02 15:37:07 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_lamps_new");
|
2010-01-09 23:44:01 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new lamp to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Lamp", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2015-11-23 13:49:52 +11:00
|
|
|
parm = RNA_def_enum(func, "type", rna_enum_lamp_type_items, 0, "Type", "The type of texture to add");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-01-09 23:44:01 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "lamp", "Lamp", "", "New lamp data-block");
|
2009-08-13 11:14:06 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-01-10 15:20:22 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a lamp from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "lamp", "Lamp", "", "Lamp to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "",
|
2016-06-25 17:01:36 +02:00
|
|
|
"Unlink all usages of this lamp before deleting it "
|
|
|
|
|
"(WARNING: will also delete objects instancing that lamp data)");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this lamp data");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this lamp data");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_lamps_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_lamps_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2010-01-09 23:44:01 +00:00
|
|
|
void RNA_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2011-01-05 05:33:27 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataLibraries");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataLibraries", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2011-01-05 05:33:27 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Libraries", "Collection of libraries");
|
2009-07-02 20:46:35 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_libraries_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_libraries_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2010-01-09 23:44:01 +00:00
|
|
|
void RNA_def_main_screens(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2011-01-05 05:33:27 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2009-07-02 20:46:35 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataScreens");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataScreens", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2011-01-05 05:33:27 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Screens", "Collection of screens");
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_screens_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_screens_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2010-01-09 23:44:01 +00:00
|
|
|
void RNA_def_main_window_managers(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2011-01-05 05:33:27 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataWindowManagers");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataWindowManagers", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2011-01-05 05:33:27 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Window Managers", "Collection of window managers");
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_window_managers_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_window_managers_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataImages");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataImages", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Images", "Collection of images");
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_images_new");
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new image to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Image", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2012-10-11 23:46:12 +00:00
|
|
|
parm = RNA_def_int(func, "width", 1024, 1, INT_MAX, "", "Width of the image", 1, INT_MAX);
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2012-10-11 23:46:12 +00:00
|
|
|
parm = RNA_def_int(func, "height", 1024, 1, INT_MAX, "", "Height of the image", 1, INT_MAX);
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-01-10 03:58:07 +00:00
|
|
|
RNA_def_boolean(func, "alpha", 0, "Alpha", "Use alpha channel");
|
|
|
|
|
RNA_def_boolean(func, "float_buffer", 0, "Float Buffer", "Create an image with floating point color");
|
2015-04-06 10:40:12 -03:00
|
|
|
RNA_def_boolean(func, "stereo3d", 0, "Stereo 3D", "Create left and right views");
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "image", "Image", "", "New image data-block");
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "load", "rna_Main_images_load");
|
2010-07-03 17:47:06 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
RNA_def_function_ui_description(func, "Load a new image into the main database");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_string_file_path(func, "filepath", "File Path", 0, "", "path of the file to load");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2015-10-06 19:40:15 +11:00
|
|
|
RNA_def_boolean(func, "check_existing", false, "", "Using existing data-block if this file is already loaded");
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "image", "Image", "", "New image data-block");
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove an image from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "image", "Image", "", "Image to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this image before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this image");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this image");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_images_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_images_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
|
|
|
|
2010-01-09 23:44:01 +00:00
|
|
|
void RNA_def_main_lattices(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2010-05-14 21:16:37 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-05-14 21:16:37 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataLattices");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataLattices", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-05-14 21:16:37 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Lattices", "Collection of lattices");
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_lattices_new");
|
2010-05-14 21:16:37 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new lattice to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Lattice", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-05-14 21:16:37 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "lattice", "Lattice", "", "New lattices data-block");
|
2010-05-14 21:16:37 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-05-14 21:16:37 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a lattice from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "lattice", "Lattice", "", "Lattice to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "",
|
2016-06-25 17:01:36 +02:00
|
|
|
"Unlink all usages of this lattice before deleting it "
|
|
|
|
|
"(WARNING: will also delete objects instancing that lattice data)");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this lattice data");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this lattice data");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_lattices_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_lattices_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2010-03-23 14:58:36 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-03-23 14:58:36 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataCurves");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataCurves", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-03-23 14:58:36 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Curves", "Collection of curves");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_curves_new");
|
2010-03-23 14:58:36 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new curve to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Curve", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2015-11-23 13:49:52 +11:00
|
|
|
parm = RNA_def_enum(func, "type", rna_enum_object_type_curve_items, 0, "Type", "The type of curve to add");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-03-23 14:58:36 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "curve", "Curve", "", "New curve data-block");
|
2010-03-23 14:58:36 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-03-23 14:58:36 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a curve from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "curve", "Curve", "", "Curve to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "",
|
2016-06-25 17:01:36 +02:00
|
|
|
"Unlink all usages of this curve before deleting it "
|
|
|
|
|
"(WARNING: will also delete objects instancing that curve data)");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this curve data");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this curve data");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_curves_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_curves_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
void RNA_def_main_metaballs(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2010-05-14 21:16:37 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-05-14 21:16:37 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataMetaBalls");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataMetaBalls", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2012-03-02 21:14:37 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Metaballs", "Collection of metaballs");
|
2010-05-14 21:16:37 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_metaballs_new");
|
2010-05-14 21:16:37 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new metaball to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "MetaBall", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-05-14 21:16:37 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "metaball", "MetaBall", "", "New metaball data-block");
|
2010-05-14 21:16:37 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-05-14 21:16:37 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a metaball from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "metaball", "MetaBall", "", "Metaball to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "",
|
2016-06-25 17:01:36 +02:00
|
|
|
"Unlink all usages of this metaball before deleting it "
|
|
|
|
|
"(WARNING: will also delete objects instancing that metaball data)");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this metaball data");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this metaball data");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_metaballs_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_metaballs_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2010-05-08 07:25:26 +00:00
|
|
|
void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop)
|
2010-01-09 23:44:01 +00:00
|
|
|
{
|
2010-05-15 13:30:14 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataFonts");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataFonts", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Fonts", "Collection of fonts");
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "load", "rna_Main_fonts_load");
|
2010-07-03 17:47:06 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_ui_description(func, "Load a new font into the main database");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_string_file_path(func, "filepath", "File Path", 0, "", "path of the font to load");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2015-10-06 19:40:15 +11:00
|
|
|
RNA_def_boolean(func, "check_existing", false, "", "Using existing data-block if this file is already loaded");
|
2010-05-15 13:30:14 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "vfont", "VectorFont", "", "New font data-block");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a font from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "vfont", "VectorFont", "", "Font to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this font before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this font");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this font");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_fonts_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_fonts_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
void RNA_def_main_textures(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2010-01-17 20:06:34 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-17 20:06:34 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataTextures");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataTextures", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-02-10 21:15:44 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Textures", "Collection of groups");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_textures_new");
|
2010-01-17 20:06:34 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new texture to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Texture", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2015-11-23 13:49:52 +11:00
|
|
|
parm = RNA_def_enum(func, "type", rna_enum_texture_type_items, 0, "Type", "The type of texture to add");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-01-17 20:06:34 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "texture", "Texture", "", "New texture data-block");
|
2010-01-17 20:06:34 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-01-17 20:06:34 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a texture from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "texture", "Texture", "", "Texture to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this texture before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this texture");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this texture");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_textures_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_textures_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
void RNA_def_main_brushes(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2010-05-14 21:16:37 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-05-14 21:16:37 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataBrushes");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataBrushes", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-05-14 21:16:37 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Brushes", "Collection of brushes");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_brushes_new");
|
2010-05-14 21:16:37 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new brush to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Brush", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2015-11-23 13:49:52 +11:00
|
|
|
parm = RNA_def_enum(func, "mode", rna_enum_object_mode_items, OB_MODE_TEXTURE_PAINT, "", "Paint Mode for the new brush");
|
2010-05-14 21:16:37 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "brush", "Brush", "", "New brush data-block");
|
2010-05-14 21:16:37 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-05-14 21:16:37 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a brush from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "brush", "Brush", "", "Brush to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this brush before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this brush");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this brush");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_brushes_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_brushes_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2010-05-15 13:30:14 +00:00
|
|
|
|
2010-01-09 23:44:01 +00:00
|
|
|
void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2010-05-15 13:30:14 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataWorlds");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataWorlds", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Worlds", "Collection of worlds");
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_worlds_new");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new world to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "World", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-05-15 13:30:14 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "world", "World", "", "New world data-block");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a world from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "world", "World", "", "World to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this world before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this world");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this world");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_worlds_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_worlds_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2010-05-15 13:30:14 +00:00
|
|
|
|
2010-01-09 23:44:01 +00:00
|
|
|
void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2010-01-11 23:40:01 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataGroups");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataGroups", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-02-10 21:15:44 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Groups", "Collection of groups");
|
2010-01-11 23:40:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_groups_new");
|
2010-01-11 23:40:01 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new group to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Group", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-01-11 23:40:01 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "group", "Group", "", "New group data-block");
|
2010-01-11 23:40:01 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a group from the current blendfile");
|
2016-06-25 17:01:36 +02:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "group", "Group", "", "Group to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this group before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this group");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this group");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_groups_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_groups_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2011-08-01 11:44:20 +00:00
|
|
|
|
|
|
|
|
void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2011-08-01 11:44:20 +00:00
|
|
|
|
|
|
|
|
RNA_def_property_srna(cprop, "BlendDataSpeakers");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataSpeakers", NULL);
|
2011-08-01 11:44:20 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
|
|
|
|
RNA_def_struct_ui_text(srna, "Main Speakers", "Collection of speakers");
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_speakers_new");
|
2011-08-01 11:44:20 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new speaker to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Speaker", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-08-01 11:44:20 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "speaker", "Speaker", "", "New speaker data-block");
|
2011-08-01 11:44:20 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2011-08-01 11:44:20 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a speaker from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "speaker", "Speaker", "", "Speaker to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "",
|
2016-06-25 17:01:36 +02:00
|
|
|
"Unlink all usages of this speaker before deleting it "
|
|
|
|
|
"(WARNING: will also delete objects instancing that speaker data)");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this speaker data");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this speaker data");
|
2011-08-01 11:44:20 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_speakers_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_speakers_is_updated_get", NULL);
|
2011-08-01 11:44:20 +00:00
|
|
|
}
|
|
|
|
|
|
2010-01-09 23:44:01 +00:00
|
|
|
void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2010-01-11 00:41:31 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-11 00:41:31 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataTexts");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataTexts", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-02-10 21:15:44 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Texts", "Collection of texts");
|
2010-01-11 00:41:31 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_texts_new");
|
2010-01-11 00:41:31 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new text to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Text", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-01-11 00:41:31 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "text", "Text", "", "New text data-block");
|
2010-01-11 00:41:31 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a text from the current blendfile");
|
2016-06-25 17:01:36 +02:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "text", "Text", "", "Text to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this text before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this text");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this text");
|
2010-01-11 00:41:31 +00:00
|
|
|
|
|
|
|
|
/* load func */
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "load", "rna_Main_texts_load");
|
2010-01-11 00:41:31 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
|
|
|
|
RNA_def_function_ui_description(func, "Add a new text to the main database from a file");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string_file_path(func, "filepath", "Path", FILE_MAX, "", "path for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2013-06-02 17:52:06 +00:00
|
|
|
parm = RNA_def_boolean(func, "internal", 0, "Make internal", "Make text file internal after loading");
|
2010-01-11 00:41:31 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "text", "Text", "", "New text data-block");
|
2010-01-11 00:41:31 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_texts_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_texts_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2010-01-09 23:44:01 +00:00
|
|
|
void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2011-01-05 05:33:27 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataSounds");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataSounds", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2011-01-05 05:33:27 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Sounds", "Collection of sounds");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2015-05-01 00:57:12 +10:00
|
|
|
/* load func */
|
|
|
|
|
func = RNA_def_function(srna, "load", "rna_Main_sounds_load");
|
|
|
|
|
RNA_def_function_ui_description(func, "Add a new sound to the main database from a file");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string_file_path(func, "filepath", "Path", FILE_MAX, "", "path for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2015-10-06 19:40:15 +11:00
|
|
|
RNA_def_boolean(func, "check_existing", false, "", "Using existing data-block if this file is already loaded");
|
2015-05-01 00:57:12 +10:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "sound", "Sound", "", "New text data-block");
|
2015-05-01 00:57:12 +10:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2015-05-01 00:57:12 +10:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
|
|
|
|
RNA_def_function_ui_description(func, "Remove a sound from the current blendfile");
|
|
|
|
|
parm = RNA_def_pointer(func, "sound", "Sound", "", "Sound to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this sound before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this sound");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this sound");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_sounds_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_sounds_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2010-01-09 23:44:01 +00:00
|
|
|
void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataArmatures");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataArmatures", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-02-10 21:15:44 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Armatures", "Collection of armatures");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_armatures_new");
|
2010-01-09 23:44:01 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new armature to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Armature", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-01-09 23:44:01 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "armature", "Armature", "", "New armature data-block");
|
2009-07-03 17:44:20 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-01-10 15:20:22 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a armature from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "armature", "Armature", "", "Armature to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "",
|
2016-06-25 17:01:36 +02:00
|
|
|
"Unlink all usages of this armature before deleting it "
|
|
|
|
|
"(WARNING: will also delete objects instancing that armature data)");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this armature data");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this armature data");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_armatures_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_armatures_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2010-01-11 23:40:01 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-11 23:40:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataActions");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataActions", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-02-10 21:15:44 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Actions", "Collection of actions");
|
2010-01-11 23:40:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_actions_new");
|
2010-01-11 23:40:01 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new action to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Action", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-01-11 23:40:01 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "action", "Action", "", "New action data-block");
|
2010-01-11 23:40:01 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-01-11 23:40:01 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a action from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "action", "Action", "", "Action to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this action before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this action");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this action");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_actions_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_actions_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
|
|
|
|
void RNA_def_main_particles(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2010-05-15 13:30:14 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-05-15 13:30:14 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataParticles");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataParticles", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Particle Settings", "Collection of particle settings");
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_particles_new");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new particle settings instance to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "ParticleSettings", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-05-15 13:30:14 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "particle", "ParticleSettings", "", "New particle settings data-block");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-05-15 13:30:14 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-09-19 13:23:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a particle settings instance from the current blendfile");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "particle", "ParticleSettings", "", "Particle Settings to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of those particle settings before deleting them");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this particle settings");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this particle settings");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_particles_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_particles_is_updated_get", NULL);
|
2010-01-09 23:44:01 +00:00
|
|
|
}
|
2015-03-12 23:47:48 +11:00
|
|
|
void RNA_def_main_palettes(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
|
|
|
|
PropertyRNA *prop;
|
|
|
|
|
|
|
|
|
|
RNA_def_property_srna(cprop, "BlendDataPalettes");
|
|
|
|
|
srna = RNA_def_struct(brna, "BlendDataPalettes", NULL);
|
|
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
|
|
|
|
RNA_def_struct_ui_text(srna, "Main Palettes", "Collection of palettes");
|
2011-01-05 05:33:27 +00:00
|
|
|
|
2015-03-12 23:47:48 +11:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_palettes_new");
|
|
|
|
|
RNA_def_function_ui_description(func, "Add a new palette to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "Palette", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2015-03-12 23:47:48 +11:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "palette", "Palette", "", "New palette data-block");
|
2015-03-12 23:47:48 +11:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2015-03-12 23:47:48 +11:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
|
|
|
|
RNA_def_function_ui_description(func, "Remove a palette from the current blendfile");
|
|
|
|
|
parm = RNA_def_pointer(func, "palette", "Palette", "", "Palette to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this palette before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this palette");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this palette");
|
2015-03-12 23:47:48 +11:00
|
|
|
|
|
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_palettes_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2015-03-12 23:47:48 +11:00
|
|
|
|
|
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
|
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_palettes_is_updated_get", NULL);
|
|
|
|
|
}
|
Basic Alembic support
All in all, this patch adds an Alembic importer, an Alembic exporter,
and a new CacheFile data block which, for now, wraps around an Alembic
archive. This data block is made available through a new modifier ("Mesh
Sequence Cache") as well as a new constraint ("Transform Cache") to
somewhat properly support respectively geometric and transformation data
streaming from alembic caches.
A more in-depth documentation is to be found on the wiki, as well as a
guide to compile alembic: https://wiki.blender.org/index.php/
User:Kevindietrich/AlembicBasicIo.
Many thanks to everyone involved in this little project, and huge shout
out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini
and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the
custom builds and compile fixes.
Reviewers: sergey, campbellbarton, mont29
Reviewed By: sergey, campbellbarton, mont29
Differential Revision: https://developer.blender.org/D2060
2016-08-06 06:20:37 +02:00
|
|
|
void RNA_def_main_cachefiles(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
|
|
|
|
PropertyRNA *prop;
|
|
|
|
|
|
Basic Alembic support
All in all, this patch adds an Alembic importer, an Alembic exporter,
and a new CacheFile data block which, for now, wraps around an Alembic
archive. This data block is made available through a new modifier ("Mesh
Sequence Cache") as well as a new constraint ("Transform Cache") to
somewhat properly support respectively geometric and transformation data
streaming from alembic caches.
A more in-depth documentation is to be found on the wiki, as well as a
guide to compile alembic: https://wiki.blender.org/index.php/
User:Kevindietrich/AlembicBasicIo.
Many thanks to everyone involved in this little project, and huge shout
out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini
and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the
custom builds and compile fixes.
Reviewers: sergey, campbellbarton, mont29
Reviewed By: sergey, campbellbarton, mont29
Differential Revision: https://developer.blender.org/D2060
2016-08-06 06:20:37 +02:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataCacheFiles");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataCacheFiles", NULL);
|
Basic Alembic support
All in all, this patch adds an Alembic importer, an Alembic exporter,
and a new CacheFile data block which, for now, wraps around an Alembic
archive. This data block is made available through a new modifier ("Mesh
Sequence Cache") as well as a new constraint ("Transform Cache") to
somewhat properly support respectively geometric and transformation data
streaming from alembic caches.
A more in-depth documentation is to be found on the wiki, as well as a
guide to compile alembic: https://wiki.blender.org/index.php/
User:Kevindietrich/AlembicBasicIo.
Many thanks to everyone involved in this little project, and huge shout
out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini
and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the
custom builds and compile fixes.
Reviewers: sergey, campbellbarton, mont29
Reviewed By: sergey, campbellbarton, mont29
Differential Revision: https://developer.blender.org/D2060
2016-08-06 06:20:37 +02:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
|
|
|
|
RNA_def_struct_ui_text(srna, "Main Cache Files", "Collection of cache files");
|
|
|
|
|
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_cachefiles_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
|
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
Basic Alembic support
All in all, this patch adds an Alembic importer, an Alembic exporter,
and a new CacheFile data block which, for now, wraps around an Alembic
archive. This data block is made available through a new modifier ("Mesh
Sequence Cache") as well as a new constraint ("Transform Cache") to
somewhat properly support respectively geometric and transformation data
streaming from alembic caches.
A more in-depth documentation is to be found on the wiki, as well as a
guide to compile alembic: https://wiki.blender.org/index.php/
User:Kevindietrich/AlembicBasicIo.
Many thanks to everyone involved in this little project, and huge shout
out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini
and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the
custom builds and compile fixes.
Reviewers: sergey, campbellbarton, mont29
Reviewed By: sergey, campbellbarton, mont29
Differential Revision: https://developer.blender.org/D2060
2016-08-06 06:20:37 +02:00
|
|
|
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
Basic Alembic support
All in all, this patch adds an Alembic importer, an Alembic exporter,
and a new CacheFile data block which, for now, wraps around an Alembic
archive. This data block is made available through a new modifier ("Mesh
Sequence Cache") as well as a new constraint ("Transform Cache") to
somewhat properly support respectively geometric and transformation data
streaming from alembic caches.
A more in-depth documentation is to be found on the wiki, as well as a
guide to compile alembic: https://wiki.blender.org/index.php/
User:Kevindietrich/AlembicBasicIo.
Many thanks to everyone involved in this little project, and huge shout
out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini
and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the
custom builds and compile fixes.
Reviewers: sergey, campbellbarton, mont29
Reviewed By: sergey, campbellbarton, mont29
Differential Revision: https://developer.blender.org/D2060
2016-08-06 06:20:37 +02:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_cachefiles_is_updated_get", NULL);
|
|
|
|
|
}
|
2016-09-14 16:13:21 +02:00
|
|
|
void RNA_def_main_paintcurves(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
|
|
|
|
PropertyRNA *prop;
|
|
|
|
|
|
2016-09-14 16:13:21 +02:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataPaintCurves");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataPaintCurves", NULL);
|
2016-09-14 16:13:21 +02:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
|
|
|
|
RNA_def_struct_ui_text(srna, "Main Paint Curves", "Collection of paint curves");
|
|
|
|
|
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_paintcurves_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
|
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2016-09-14 16:13:21 +02:00
|
|
|
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2016-09-14 16:13:21 +02:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_paintcurves_is_updated_get", NULL);
|
|
|
|
|
}
|
2010-01-09 23:44:01 +00:00
|
|
|
void RNA_def_main_gpencil(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
2011-01-05 05:33:27 +00:00
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2011-11-02 20:56:52 +00:00
|
|
|
PropertyRNA *prop;
|
2010-01-09 23:44:01 +00:00
|
|
|
|
2011-02-14 03:15:55 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataGreasePencils");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataGreasePencils", NULL);
|
2011-03-13 13:01:02 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2011-01-05 05:33:27 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Grease Pencils", "Collection of grease pencils");
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_gpencil_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-02 20:56:52 +00:00
|
|
|
|
2016-08-04 15:03:18 +02:00
|
|
|
func = RNA_def_function(srna, "new", "BKE_gpencil_data_addnew");
|
2018-06-13 10:57:10 +02:00
|
|
|
RNA_def_function_flag(func, FUNC_NO_SELF | FUNC_USE_MAIN);
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "GreasePencil", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2012-10-07 20:07:30 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "grease_pencil", "GreasePencil", "", "New grease pencil data-block");
|
2012-10-07 20:07:30 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2012-10-07 20:07:30 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
|
|
|
|
RNA_def_function_ui_description(func, "Remove a grease pencil instance from the current blendfile");
|
|
|
|
|
parm = RNA_def_pointer(func, "grease_pencil", "GreasePencil", "", "Grease Pencil to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this grease pencil before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this grease pencil");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this grease pencil");
|
2012-10-07 20:07:30 +00:00
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
2011-11-02 20:56:52 +00:00
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_gpencil_is_updated_get", NULL);
|
2009-06-18 19:48:55 +00:00
|
|
|
}
|
|
|
|
|
|
2011-11-07 12:55:18 +00:00
|
|
|
void RNA_def_main_movieclips(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2016-02-15 19:33:34 +01:00
|
|
|
PropertyRNA *prop;
|
2011-11-07 12:55:18 +00:00
|
|
|
|
|
|
|
|
RNA_def_property_srna(cprop, "BlendDataMovieClips");
|
2012-03-05 23:30:41 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataMovieClips", NULL);
|
2011-11-07 12:55:18 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
|
|
|
|
RNA_def_struct_ui_text(srna, "Main Movie Clips", "Collection of movie clips");
|
|
|
|
|
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_movieclips_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2011-11-07 12:55:18 +00:00
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
|
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-11-07 12:55:18 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a movie clip from the current blendfile.");
|
2012-03-05 23:30:41 +00:00
|
|
|
parm = RNA_def_pointer(func, "clip", "MovieClip", "", "Movie clip to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this movie clip before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this movie clip");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this movie clip");
|
2011-11-07 12:55:18 +00:00
|
|
|
|
|
|
|
|
/* load func */
|
2012-03-05 23:30:41 +00:00
|
|
|
func = RNA_def_function(srna, "load", "rna_Main_movieclip_load");
|
2011-11-07 12:55:18 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2016-02-01 11:55:59 +11:00
|
|
|
RNA_def_function_ui_description(
|
|
|
|
|
func, "Add a new movie clip to the main database from a file "
|
|
|
|
|
"(while ``check_existing`` is disabled for consistency with other load functions, "
|
|
|
|
|
"behavior with multiple movie-clips using the same file may incorrectly generate proxies)");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string_file_path(func, "filepath", "Path", FILE_MAX, "", "path for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2015-10-06 19:40:15 +11:00
|
|
|
RNA_def_boolean(func, "check_existing", false, "", "Using existing data-block if this file is already loaded");
|
2011-11-07 12:55:18 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "clip", "MovieClip", "", "New movie clip data-block");
|
2011-11-07 12:55:18 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
2016-02-15 19:33:34 +01:00
|
|
|
|
|
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
|
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_movieclips_is_updated_get", NULL);
|
2009-06-18 19:48:55 +00:00
|
|
|
}
|
2011-10-30 09:05:47 +00:00
|
|
|
|
2012-06-04 16:42:58 +00:00
|
|
|
void RNA_def_main_masks(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2016-02-15 19:33:34 +01:00
|
|
|
PropertyRNA *prop;
|
2012-06-04 16:42:58 +00:00
|
|
|
|
|
|
|
|
RNA_def_property_srna(cprop, "BlendDataMasks");
|
2012-06-27 18:29:47 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataMasks", NULL);
|
2012-06-04 16:42:58 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
|
|
|
|
RNA_def_struct_ui_text(srna, "Main Masks", "Collection of masks");
|
|
|
|
|
|
2012-06-27 18:29:47 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_masks_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2012-06-04 16:42:58 +00:00
|
|
|
|
|
|
|
|
/* new func */
|
|
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_mask_new");
|
|
|
|
|
RNA_def_function_ui_description(func, "Add a new mask with a given name to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
RNA_def_string_file_path(func, "name", NULL, MAX_ID_NAME - 2, "Mask", "Name of new mask data-block");
|
2012-06-04 16:42:58 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "mask", "Mask", "", "New mask data-block");
|
2012-06-04 16:42:58 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
|
|
|
|
/* remove func */
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
|
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2012-06-04 16:42:58 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a masks from the current blendfile.");
|
2012-06-27 18:29:47 +00:00
|
|
|
parm = RNA_def_pointer(func, "mask", "Mask", "", "Mask to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this mask before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this mask");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this mask");
|
2016-02-15 19:33:34 +01:00
|
|
|
|
|
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
|
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_masks_is_updated_get", NULL);
|
2012-06-04 16:42:58 +00:00
|
|
|
}
|
|
|
|
|
|
2010-06-25 22:45:42 +00:00
|
|
|
void RNA_def_main_linestyles(BlenderRNA *brna, PropertyRNA *cprop)
|
|
|
|
|
{
|
|
|
|
|
StructRNA *srna;
|
|
|
|
|
FunctionRNA *func;
|
|
|
|
|
PropertyRNA *parm;
|
2014-04-23 14:54:43 +09:00
|
|
|
PropertyRNA *prop;
|
2010-06-25 22:45:42 +00:00
|
|
|
|
2011-02-23 03:08:11 +00:00
|
|
|
RNA_def_property_srna(cprop, "BlendDataLineStyles");
|
2012-12-11 22:00:22 +00:00
|
|
|
srna = RNA_def_struct(brna, "BlendDataLineStyles", NULL);
|
2011-03-19 00:05:30 +00:00
|
|
|
RNA_def_struct_sdna(srna, "Main");
|
2010-06-25 22:45:42 +00:00
|
|
|
RNA_def_struct_ui_text(srna, "Main Line Styles", "Collection of line styles");
|
|
|
|
|
|
2013-04-07 01:38:03 +00:00
|
|
|
func = RNA_def_function(srna, "tag", "rna_Main_linestyle_tag");
|
|
|
|
|
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2013-04-07 01:38:03 +00:00
|
|
|
|
2012-12-11 22:00:22 +00:00
|
|
|
func = RNA_def_function(srna, "new", "rna_Main_linestyles_new");
|
2010-06-25 22:45:42 +00:00
|
|
|
RNA_def_function_ui_description(func, "Add a new line style instance to the main database");
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_string(func, "name", "FreestyleLineStyle", 0, "", "New name for the data-block");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
2010-06-25 22:45:42 +00:00
|
|
|
/* return type */
|
2015-10-24 02:44:43 +11:00
|
|
|
parm = RNA_def_pointer(func, "linestyle", "FreestyleLineStyle", "", "New line style data-block");
|
2010-06-25 22:45:42 +00:00
|
|
|
RNA_def_function_return(func, parm);
|
|
|
|
|
|
2016-06-25 17:01:36 +02:00
|
|
|
func = RNA_def_function(srna, "remove", "rna_Main_ID_remove");
|
2010-06-25 22:45:42 +00:00
|
|
|
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
2011-10-30 09:05:47 +00:00
|
|
|
RNA_def_function_ui_description(func, "Remove a line style instance from the current blendfile");
|
2012-12-11 22:00:22 +00:00
|
|
|
parm = RNA_def_pointer(func, "linestyle", "FreestyleLineStyle", "", "Line style to remove");
|
Refactor RNA property: split flags in property flags, parameter flags, and internal flags.
This gives us 9 flags available again for properties (we had none anymore),
and also makes things slightly cleaner.
To simplify (and make more clear the differences between mere properties
and function parameters), also added RNA_def_parameter_flags function (and
its clear counterpart), to be used instead of RNA_def_property_flag for
function parameters.
This patch is also a big cleanup (some RNA function definitions were
still using 'prop' PropertyRNA pointer, etc.).
And yes, am aware this will be annoying for all branches, but we really need
to get new flags available for properties (will need at least one for override, etc.).
Reviewers: sergey, Severin
Subscribers: dfelinto, brecht
Differential Revision: https://developer.blender.org/D2400
2016-12-12 15:23:55 +01:00
|
|
|
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
|
|
|
|
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
2016-11-15 17:12:18 +01:00
|
|
|
RNA_def_boolean(func, "do_unlink", true, "", "Unlink all usages of this line style before deleting it");
|
2017-09-13 20:12:19 +05:00
|
|
|
RNA_def_boolean(func, "do_id_user", true, "",
|
|
|
|
|
"Decrement user counter of all datablocks used by this line style");
|
|
|
|
|
RNA_def_boolean(func, "do_ui_user", true, "",
|
|
|
|
|
"Make sure interface does not reference this line style");
|
2014-04-23 14:54:43 +09:00
|
|
|
|
|
|
|
|
prop = RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE);
|
|
|
|
|
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
|
|
|
|
RNA_def_property_boolean_funcs(prop, "rna_Main_linestyle_is_updated_get", NULL);
|
2010-06-25 22:45:42 +00:00
|
|
|
}
|
2009-06-18 19:48:55 +00:00
|
|
|
|
|
|
|
|
#endif
|