[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21645] branches/bmesh/blender/source/ blender/blenkernel: another attempt to hopefully fix gcc compiling
Joseph Eagar
joeedh at gmail.com
Fri Jul 17 03:57:16 CEST 2009
Revision: 21645
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21645
Author: joeedh
Date: 2009-07-17 03:57:12 +0200 (Fri, 17 Jul 2009)
Log Message:
-----------
another attempt to hopefully fix gcc compiling
Modified Paths:
--------------
branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h
branches/bmesh/blender/source/blender/blenkernel/BKE_customdata.h
Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h 2009-07-17 01:43:01 UTC (rev 21644)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h 2009-07-17 01:57:12 UTC (rev 21645)
@@ -30,6 +30,45 @@
#ifndef BKE_DERIVEDMESH_H
#define BKE_DERIVEDMESH_H
+/*
+ Basic design of the DerivedMesh system:
+
+ DerivedMesh is a common set of interfaces for mesh systems.
+
+ There are three main mesh data structures in Blender: Mesh, CDDM, and BMesh.
+ These, and a few others, all implement DerivedMesh interfaces,
+ which contains unified drawing interfaces, a few utility interfaces,
+ and a bunch of read-only interfaces intended mostly for conversion from
+ one format to another.
+
+ All Mesh structures in blender make use of CustomData, which is used to store
+ per-element attributes and interpolate them (e.g. uvs, vcols, vgroups, etc).
+
+ Mesh is the "serialized" structure, used for storing object-mode mesh data
+ and also for saving stuff to disk. It's interfaces are also what DerivedMesh
+ uses to communicate with.
+
+ CDDM is a little mesh library, that uses Mesh data structures in the backend.
+ It's mostly used for modifiers, and has the advantages of not taking much
+ resources.
+
+ BMesh is a full-on brep, used for editmode, some modifiers, etc. It's much
+ more capable (if memory-intensive) then CDDM.
+
+ DerivedMesh is somewhat hackish. Many places assumes that a DerivedMesh is
+ a CDDM (most of the time by simply copying it and converting it to one).
+ CDDM is the original structure for modifiers, but has since been superseded
+ by BMesh, at least for the foreseeable future.
+*/
+
+/*
+ * Note: This sturcture is read-only, for all practical purposes.
+ * At some point in the future, we may want to consider
+ * creating a replacement structure that implements a proper
+ * abstract mesh kernel interface. Or, we can leave this
+ * as it is and stick with using BMesh and CDDM.
+ */
+
/* TODO (Probably)
*
* o Make drawMapped* functions take a predicate function that
Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_customdata.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_customdata.h 2009-07-17 01:43:01 UTC (rev 21644)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_customdata.h 2009-07-17 01:57:12 UTC (rev 21645)
@@ -32,6 +32,7 @@
#ifndef BKE_CUSTOMDATA_H
#define BKE_CUSTOMDATA_H
+struct BMesh
struct CustomData;
struct CustomDataLayer;
typedef unsigned int CustomDataMask;
More information about the Bf-blender-cvs
mailing list