Blender  V3.3
BKE_softbody.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright Blender Foundation. All rights reserved. */
3 #pragma once
4 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 struct Depsgraph;
14 struct Object;
15 struct Scene;
16 struct SoftBody;
17 
18 typedef struct BodyPoint {
19  float origS[3], origE[3], origT[3], pos[3], vec[3], force[3];
20  float goal;
21  float prevpos[3], prevvec[3], prevdx[3], prevdv[3]; /* used for Heun integration */
22  float impdv[3], impdx[3];
24  int *springs;
25  float choke, choke2, frozen;
26  float colball;
27  short loc_flag; /* reserved by locale module specific states */
28  // char octantflag;
29  float mass;
30  float springweight;
32 
36 extern struct SoftBody *sbNew(void);
37 
41 extern void sbFree(struct Object *ob);
42 
46 extern void sbFreeSimulation(struct SoftBody *sb);
47 
51 extern void sbObjectStep(struct Depsgraph *depsgraph,
52  struct Scene *scene,
53  struct Object *ob,
54  float cfra,
55  float (*vertexCos)[3],
56  int numVerts);
57 
61 extern void sbObjectToSoftbody(struct Object *ob);
62 
67 extern void sbSetInterruptCallBack(int (*f)(void));
68 
82 extern void SB_estimate_transform(Object *ob, float lloc[3], float lrot[3][3], float lscale[3][3]);
83 
84 #ifdef __cplusplus
85 }
86 #endif
struct SoftBody * sbNew(void)
Definition: softbody.c:3099
void sbObjectStep(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, float cfra, float(*vertexCos)[3], int numVerts)
Definition: softbody.c:3492
void sbObjectToSoftbody(struct Object *ob)
Definition: softbody.c:3178
struct BodyPoint BodyPoint
void sbFreeSimulation(struct SoftBody *sb)
Definition: softbody.c:3173
void SB_estimate_transform(Object *ob, float lloc[3], float lrot[3][3], float lscale[3][3])
Definition: softbody.c:3227
void sbSetInterruptCallBack(int(*f)(void))
Definition: softbody.c:3197
void sbFree(struct Object *ob)
Definition: softbody.c:3148
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:35
Scene scene
const Depsgraph * depsgraph
float pos[3]
Definition: BKE_softbody.h:19
float force[3]
Definition: BKE_softbody.h:19
float origE[3]
Definition: BKE_softbody.h:19
float vec[3]
Definition: BKE_softbody.h:19
float prevdv[3]
Definition: BKE_softbody.h:21
float choke2
Definition: BKE_softbody.h:25
float goal
Definition: BKE_softbody.h:20
float prevdx[3]
Definition: BKE_softbody.h:21
int nofsprings
Definition: BKE_softbody.h:23
float mass
Definition: BKE_softbody.h:29
float prevvec[3]
Definition: BKE_softbody.h:21
float choke
Definition: BKE_softbody.h:25
float colball
Definition: BKE_softbody.h:26
float impdv[3]
Definition: BKE_softbody.h:22
short loc_flag
Definition: BKE_softbody.h:27
float prevpos[3]
Definition: BKE_softbody.h:21
int * springs
Definition: BKE_softbody.h:24
float origT[3]
Definition: BKE_softbody.h:19
float origS[3]
Definition: BKE_softbody.h:19
float frozen
Definition: BKE_softbody.h:25
float impdx[3]
Definition: BKE_softbody.h:22
float springweight
Definition: BKE_softbody.h:30
float lscale[3][3]
float lrot[3][3]