svn merge ^/trunk/blender -r44189:44204
authorCampbell Barton <ideasman42@gmail.com>
Fri, 17 Feb 2012 20:56:25 +0000 (20:56 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 17 Feb 2012 20:56:25 +0000 (20:56 +0000)
44 files changed:
1  2 
CMakeLists.txt
release/scripts/startup/bl_ui/space_view3d.py
source/blender/blenkernel/BKE_DerivedMesh.h
source/blender/blenkernel/BKE_blender.h
source/blender/blenkernel/BKE_bmesh.h
source/blender/blenkernel/BKE_cdderivedmesh.h
source/blender/blenkernel/BKE_customdata.h
source/blender/blenkernel/BKE_key.h
source/blender/blenkernel/BKE_mesh.h
source/blender/blenkernel/BKE_modifier.h
source/blender/blenkernel/BKE_multires.h
source/blender/blenkernel/BKE_paint.h
source/blender/blenkernel/BKE_subsurf.h
source/blender/blenkernel/intern/bmesh_private.h
source/blender/blenlib/BLI_editVert.h
source/blender/blenlib/BLI_scanfill.h
source/blender/blenlib/BLI_threads.h
source/blender/blenloader/intern/readfile.c
source/blender/editors/armature/meshlaplacian.c
source/blender/editors/include/ED_mesh.h
source/blender/editors/include/ED_object.h
source/blender/editors/include/ED_util.h
source/blender/editors/include/ED_uvedit.h
source/blender/editors/include/ED_view3d.h
source/blender/editors/interface/interface_templates.c
source/blender/editors/mesh/mesh_intern.h
source/blender/editors/object/object_intern.h
source/blender/editors/sculpt_paint/sculpt_intern.h
source/blender/editors/space_image/space_image.c
source/blender/editors/space_view3d/view3d_header.c
source/blender/editors/transform/transform.h
source/blender/editors/uvedit/uvedit_intern.h
source/blender/editors/uvedit/uvedit_parametrizer.h
source/blender/makesdna/DNA_customdata_types.h
source/blender/makesdna/DNA_defs.h
source/blender/makesdna/DNA_key_types.h
source/blender/makesdna/DNA_mesh_types.h
source/blender/makesdna/DNA_meshdata_types.h
source/blender/makesdna/DNA_modifier_types.h
source/blender/makesdna/DNA_vec_types.h
source/blender/makesrna/RNA_access.h
source/blender/modifiers/MOD_modifiertypes.h
source/blender/modifiers/intern/MOD_util.h
source/creator/CMakeLists.txt

diff --cc CMakeLists.txt
Simple merge
   * ***** END GPL LICENSE BLOCK *****
   */
  
- #ifndef BKE_DERIVEDMESH_H
- #define BKE_DERIVEDMESH_H
+ #ifndef __BKE_DERIVEDMESH_H__
+ #define __BKE_DERIVEDMESH_H__
  
 -/** \file BKE_DerivedMesh.h
 - *  \ingroup bke
 - *
 - *  \todo
 - *  - Make drawMapped* functions take a predicate function that
 - *    determines whether to draw the edge (this predicate can
 - *    also set color, etc). This will be slightly more general 
 - *    and allow some of the functions to be collapsed.
 - *  - Once accessor functions are added then single element draw
 - *    functions can be implemented using primitive accessors.
 - *  - Add function to dispatch to renderer instead of using
 - *    conversion to DLM.
 +/*
 +  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.
   */
  
 +
  #include "DNA_customdata_types.h"
 +#include "DNA_meshdata_types.h"
 +
  #include "BKE_customdata.h"
  #include "BKE_bvhutils.h"
  
Simple merge
Simple merge
Simple merge
Simple merge
   * ***** END GPL LICENSE BLOCK *****
   */
  
- #ifndef BMESH_PRIVATE
- #define BMESH_PRIVATE
 -/** \file blender/blenkernel/intern/bmesh_private.h
 - *  \ingroup bke
 - */
 -
 -
+ #ifndef __BMESH_PRIVATE_H__
+ #define __BMESH_PRIVATE_H__
  
 -#include "BKE_bmesh.h"
 +/** \file blender/bmesh/bmesh_private.h
 + *  \ingroup bmesh
 + */
  
  /*ALLOCATION/DEALLOCATION*/
  struct BME_Vert *BME_addvertlist(struct BME_Mesh *bm, struct BME_Vert *example);
Simple merge
Simple merge
Simple merge
@@@ -342,4 -268,5 +342,4 @@@ void ED_mesh_mirrtopo_free(MirrTopoStor
  }
  #endif
  
- #endif /* ED_MESH_H */
+ #endif /* __ED_MESH_H__ */
 -
Simple merge
Simple merge
@@@ -44,8 -44,8 +44,8 @@@ struct TexResult
  void get_texture_value(struct Tex *texture, float *tex_co, struct TexResult *texres);
  void get_texture_coords(struct MappingInfoModifierData *dmd, struct Object *ob, struct DerivedMesh *dm, float (*co)[3], float (*texco)[3], int numVerts);
  void modifier_vgroup_cache(struct ModifierData *md, float (*vertexCos)[3]);
 -struct DerivedMesh *get_cddm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3]);
 -struct DerivedMesh *get_dm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3], int orco);
 +struct DerivedMesh *get_cddm(struct Object *ob, struct BMEditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3]);
 +struct DerivedMesh *get_dm(struct Object *ob, struct BMEditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3], int orco);
  void modifier_get_vgroup(struct Object *ob, struct DerivedMesh *dm, const char *name, struct MDeformVert **dvert, int *defgrp_index);
  
- #endif /* MOD_UTIL_H */
+ #endif /* __MOD_UTIL_H__ */
Simple merge