Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2009-06-18 23:48:55 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-06-18 23:48:55 +0400
commit4cd24cf05809557e0d620dccf1f19a570784f6fe (patch)
tree6ffd5df6ab510d4fa6766d267bef2d3099679305 /source/blender/makesrna/intern/rna_mesh_api.c
parent89d2559e6dbde26acdd45e3fe9d6eff2c62d98c0 (diff)
RNA
Merging changes made by Arystanbek in the soc-2009-kazanbas branch, plus some things modified and added by me. * The API files now all in the makesrna module, convention is to call them e.g. rna_mesh_api.c for rna_mesh.c. Note for visual studio build maintainers, the rna_*_api.c files are compiled as part of "makesrna", but do not have rna_*_gen.c generated as part of the library. SCons/cmake/make were updated. * Added function flags FUNC_USE_CONTEXT and FUNC_USE_REPORTS, to allow RNA functions to get context and error reporting parameters optionally. Renamed FUNC_TYPESTATIC to FUNC_NO_SELF. * RNA collections now have a pointer to add/remove FunctionRNA's, this isn't actually used anywhere yet, purpose is to make an alias main.meshes.add() for main.add_mesh() in python. * Fixes to make autogenerating property set/get for multidimensional arrays work, though a 4x4 matrix will be exposed as a length 16 one dimensional RNA array. * Functions and properties added: * Main.add_mesh() * Main.remove_mesh() * Object.matrix * Object.create_render_mesh() * WindowManager.add_fileselect()
Diffstat (limited to 'source/blender/makesrna/intern/rna_mesh_api.c')
-rw-r--r--source/blender/makesrna/intern/rna_mesh_api.c108
1 files changed, 108 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_mesh_api.c b/source/blender/makesrna/intern/rna_mesh_api.c
new file mode 100644
index 00000000000..26fb77777d7
--- /dev/null
+++ b/source/blender/makesrna/intern/rna_mesh_api.c
@@ -0,0 +1,108 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * The Original Code is Copyright (C) 2009 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include "RNA_define.h"
+#include "RNA_types.h"
+
+#ifdef RNA_RUNTIME
+
+#include "BKE_customdata.h"
+#include "BKE_DerivedMesh.h"
+
+#include "DNA_mesh_types.h"
+#include "DNA_scene_types.h"
+
+/*
+void rna_Mesh_copy(Mesh *me, Mesh *from)
+{
+ copy_mesh_data(me, from);
+}
+
+void rna_Mesh_copy_applied(Mesh *me, Scene *sce, Object *ob)
+{
+ DerivedMesh *dm= mesh_create_derived_view(sce, ob, CD_MASK_MESH);
+ DM_to_mesh(dm, me);
+ dm->release(dm);
+}
+*/
+
+void rna_Mesh_transform(Mesh *me, float **mat)
+{
+}
+
+#if 0
+/* extern struct EditVert *addvertlist(EditMesh *em, float *vec, struct EditVert *example); */
+
+static void rna_Mesh_verts_add(PointerRNA *ptr, PointerRNA *ptr_item)
+{
+ //Mesh *me= (Mesh*)ptr->data;
+
+ /*
+ // XXX if item is not MVert we fail silently
+ if (item->type == RNA_MeshVertex)
+ return;
+
+ // XXX this must be slow...
+ EditMesh *em= BKE_mesh_get_editmesh(me);
+
+ MVert *v = (MVert*)ptr_item->ptr->data;
+ addvertlist(em, v->co, NULL);
+
+ BKE_mesh_end_editmesh(me, em);
+ */
+}
+#endif
+
+#else
+
+void RNA_api_mesh(StructRNA *srna)
+{
+ /*FunctionRNA *func;
+ PropertyRNA *prop;*/
+
+ /*
+ func= RNA_def_function(srna, "copy", "rna_Mesh_copy");
+ RNA_def_function_ui_description(func, "Copy mesh data.");
+ prop= RNA_def_pointer(func, "src", "Mesh", "", "A mesh to copy data from.");
+ RNA_def_property_flag(prop, PROP_REQUIRED);*/
+
+ /*
+ func= RNA_def_function(srna, "add_geom", "rna_Mesh_add_geom");
+ RNA_def_function_ui_description(func, "Add geometry data to mesh.");
+ prop= RNA_def_collection(func, "verts", "?", "", "Vertices.");
+ RNA_def_property_flag(prop, PROP_REQUIRED);
+ prop= RNA_def_collection(func, "faces", "?", "", "Faces.");
+ RNA_def_property_flag(prop, PROP_REQUIRED);
+ */
+}
+
+#endif
+