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:
authorJens Ole Wund <bjornmose@gmx.net>2006-11-11 02:09:16 +0300
committerJens Ole Wund <bjornmose@gmx.net>2006-11-11 02:09:16 +0300
commit9e717b59cb4feb16314f0b2c026ebfd9278862a5 (patch)
tree75ae573df64a999d0423093bc385ed02ce9b29dc /source/blender/makesdna/DNA_object_force.h
parent68a2f29db332bbd6b9e6f8f724b79e2cb712756a (diff)
softbody review
1. UI review -> disabeling options when not available .. giving hints why ( even tried to give usefull tooltips ) 1.1 give some more user control to the solving process (mins,maxs).. optional feedback on the console 2. replacing ugly object level 'sumohandle' with SB (private runtime) level/pointer 'scratch' which holds runtime data like cached collider data and more .. and it's thread save this way :) 3.related no 2. write a 'private' history of collision objects to ease the 'fast' collider tunneling syndrome' 4. some <clean> optimizations, 3-BSP for self collision, general AABB checking before ever going to collision details 5. some <dirty> ( in the sense of do some inacurate physics noone ever will see ) little tricks to make things faster .. ..fuzzy collision situation bypass .. forward collision resolution
Diffstat (limited to 'source/blender/makesdna/DNA_object_force.h')
-rw-r--r--source/blender/makesdna/DNA_object_force.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/source/blender/makesdna/DNA_object_force.h b/source/blender/makesdna/DNA_object_force.h
index 7ecff33e165..d9ab54b76f9 100644
--- a/source/blender/makesdna/DNA_object_force.h
+++ b/source/blender/makesdna/DNA_object_force.h
@@ -84,7 +84,8 @@ typedef struct SoftBody {
float maxgoal;
float defgoal; /* default goal for vertices without vgroup */
short vertgroup; /* index starting at 1 */
- short pad1;
+
+ short fuzzyness; /* */
/* springs */
float inspring; /* softbody inner springs */
@@ -93,7 +94,7 @@ typedef struct SoftBody {
/* baking */
int sfra, efra;
int interval;
- short local, pad2; /* local==1: use local coords for baking */
+ short local, solverflags; /* local==1: use local coords for baking */
SBVertex **keys; /* array of size totpointkey */
int totpointkey, totkey; /* if totpointkey != totpoint or totkey!- (efra-sfra)/interval -> free keys */
@@ -105,8 +106,13 @@ typedef struct SoftBody {
float ballstiff; /* pressure the ball is loaded with */
short sbc_mode;
short aeroedge,
- /* alias vg_ballsize, weight painting collision balls not implemented yet, but easy peasy to do */
- pad4,pad5; /* could be vg_balldamp,vg_ballstiff :) ahh, well vg_nodemass is missing too*/
+ minloops,
+ maxloops,
+ choke,
+ pad3,pad4,pad5
+ ;
+
+ struct SBScratch *scratch; /* scratch pad/cache on live time not saved in file */
} SoftBody;
@@ -133,9 +139,11 @@ typedef struct SoftBody {
#define OB_SB_BAKEDO 128
#define OB_SB_RESET 256
#define OB_SB_SELF 512
-#define OB_SB_COLLISIONSET 1024
-#define OB_SB_EDGECOLL 2048
-#define OB_SB_COLLFINAL 4096
+#define OB_SB_FACECOLL 1024
+#define OB_SB_EDGECOLL 2048
+#define OB_SB_COLLFINAL 4096
+
+#define SBSO_MONITOR 1
#ifdef __cplusplus
}