another attempt to hopefully fix gcc compiling

This commit is contained in:
Joseph Eagar
2009-07-17 01:57:12 +00:00
parent fcd3a6de55
commit bccc35b602
2 changed files with 40 additions and 0 deletions

View File

@@ -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

View File

@@ -32,6 +32,7 @@
#ifndef BKE_CUSTOMDATA_H
#define BKE_CUSTOMDATA_H
struct BMesh
struct CustomData;
struct CustomDataLayer;
typedef unsigned int CustomDataMask;