diff options
author | Daniel Genrich <daniel.genrich@gmx.net> | 2008-04-28 02:04:47 +0400 |
---|---|---|
committer | Daniel Genrich <daniel.genrich@gmx.net> | 2008-04-28 02:04:47 +0400 |
commit | 3a3ff9c9dc83311072bdab29ddc7d088d3f69f5c (patch) | |
tree | 3b9b3cdcbbcc2881251fbeee0a8f6d9451c52506 /source/blender/blenkernel/BKE_cloth.h | |
parent | 5add2d8c3ed4e365a50365b5daacd22d80aefdac (diff) |
Bugfix: 32bit cloth files were loaded bad in 64bit blenders and the way arround. The e.g. GUI-only variable 'mass' was reseted to 0. Problem: makesdna doesn't cry out on compile - I wonder why this differences could happen. Solution: Rearange cloth DNA, resort things, clear up and bug was gone - weird. Problem left: Every file having cloth enabled before this revision is incompatible with this version. If anyone know a better solution, please go ahead
Diffstat (limited to 'source/blender/blenkernel/BKE_cloth.h')
-rw-r--r-- | source/blender/blenkernel/BKE_cloth.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_cloth.h b/source/blender/blenkernel/BKE_cloth.h index 988f7c6cf44..af920e9762d 100644 --- a/source/blender/blenkernel/BKE_cloth.h +++ b/source/blender/blenkernel/BKE_cloth.h @@ -50,7 +50,7 @@ #include "BKE_collision.h" struct Object; -struct Cloth; + struct MFace; struct DerivedMesh; struct ClothModifierData; @@ -83,6 +83,33 @@ struct CollisionTree; #define CLOTH_VERT_FLAG_PINNED_EM 3 /** +* This structure describes a cloth object against which the +* simulation can run. +* +* The m and n members of this structure represent the assumed +* rectangular ordered grid for which the original paper is written. +* At some point they need to disappear and we need to determine out +* own connectivity of the mesh based on the actual edges in the mesh. +* +**/ +typedef struct Cloth +{ + struct ClothVertex *verts; /* The vertices that represent this cloth. */ + struct LinkNode *springs; /* The springs connecting the mesh. */ + unsigned int numverts; /* The number of verts == m * n. */ + unsigned int numsprings; /* The count of springs. */ + unsigned int numfaces; + unsigned char old_solver_type; /* unused, only 1 solver here */ + unsigned char pad2; + short pad3; + struct BVH *tree; /* collision tree for this cloth object */ + struct MFace *mfaces; + struct Implicit_Data *implicit; /* our implicit solver connects to this pointer */ + struct Implicit_Data *implicitEM; /* our implicit solver connects to this pointer */ + struct EdgeHash *edgehash; /* used for selfcollisions */ +} Cloth; + +/** * The definition of a cloth vertex. */ typedef struct ClothVertex |