Blender V4.3
DNA_object_force_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2004-2005 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "DNA_defs.h"
12#include "DNA_listBase.h"
13
14struct BodySpring;
15
50
51typedef struct PartDeflect {
53 int flag;
55 short deflect;
59 short falloff;
61 short shape;
63 short tex_mode;
66 short zdir;
67
68 /* Main effector values */
72 float f_damp;
76 float f_flow;
79
80 char _pad0[4];
81
83 float f_size;
84
85 /* fall-off */
87 float f_power;
89 float maxdist;
91 float mindist;
93 float f_power_r;
95 float maxrad;
96 float minrad;
97
98 /* particle collisions */
111
114
115 /* softbody collisions */
122
123 /* guide curve, same as for particle child effects */
126
127 /* texture effector */
131 struct Tex *tex;
132
133 /* effector noise */
135 float f_noise;
137 int seed;
138
139 /* Display Size */
141 float drawvec1[4];
143 float drawvec2[4];
146 char _pad1[4];
149 char _pad2[4];
150
153
156 char _pad[4];
158
159typedef struct EffectorWeights {
162
164 float weight[14];
166 short flag;
167 char _pad[2];
169
171enum {
173};
174
175typedef struct SBVertex {
176 float vec[4];
178
179/* Container for data that is shared among evaluated copies.
180 *
181 * This is placed in a separate struct so that values can be changed
182 * without having to update all evaluated copies. */
187
188typedef struct SoftBody {
189 /* dynamic data */
195 char _pad;
198
199 /* part of UI: */
200
201 /* general options */
203 float nodemass;
208 char namedVG_Mass[64];
210 float grav;
214 float rklimit;
217
218 /* goal */
224 float mingoal;
225 float maxgoal;
227 float defgoal;
235
237
238 /* springs */
240 float inspring;
242 float infrict;
250
251 /* baking */
252 char _pad1[6];
255
256 /* -- these must be kept for backwards compatibility -- */
261 /* ---------------------------------------------------- */
263
264 /* Self collision. */
266 float colball;
268 float balldamp;
271 short sbc_mode;
272 short aeroedge;
273 short minloops;
274 short maxloops;
275 short choke;
277 short plastic;
279
283 float inpush;
284
287 struct PointCache *pointcache DNA_DEPRECATED;
289 struct ListBase ptcaches DNA_DEPRECATED;
290
292
294 /* Reverse estimated object-matrix (run-time data, no need to store in the file). */
295 float lcom[3];
296 float lrot[3][3];
297 float lscale[3][3];
298
301
303enum {
305 // PDEFLE_DEFORM = 1 << 1, /* UNUSED */
312 PFIELD_POSZ = 1 << 5,
321 PFIELD_USEMINR = 1 << 10,
324 PFIELD_SURFACE = 1 << 12,
338};
339
341enum {
345};
346
348enum {
354};
355
357enum {
361};
362
364enum {
368};
369
371enum {
372 OB_SB_ENABLE = 1 << 0, /* Deprecated (use modifier). */
373 OB_SB_GOAL = 1 << 1,
374 OB_SB_EDGES = 1 << 2,
375 OB_SB_QUADS = 1 << 3,
377 // OB_SB_REDO = 1 << 5,
378 // OB_SB_BAKESET = 1 << 6,
379 // OB_SB_BAKEDO = 1 << 7,
380 // OB_SB_RESET = 1 << 8,
381 OB_SB_SELF = 1 << 9,
382 OB_SB_FACECOLL = 1 << 10,
383 OB_SB_EDGECOLL = 1 << 11,
384 // OB_SB_COLLFINAL = 1 << 12, /* Deprecated. */
385 // OB_SB_BIG_UI = 1 << 13, /* Deprecated. */
387};
388
390enum {
391 SBSO_MONITOR = 1 << 0,
392 SBSO_OLDERR = 1 << 1,
394};
395
397enum {
403};
enum eAnimEdit_AutoSnap DNA_DEPRECATED
These structs are the foundation for all linked lists in the library system.
@ PFIELD_MULTIPLE_SPRINGS
@ PFIELD_SMOKE_DENSITY
@ PFIELD_TEX_OBJECT
@ PFIELD_TEX_ROOTCO
@ PFIELD_GUIDE_PATH_ADD
@ PFIELD_CLOTH_USE_NORMAL
@ PFIELD_GUIDE_PATH_WEIGHT
@ PFIELD_DO_ROTATION
@ PFIELD_DO_LOCATION
@ PFIELD_VISIBILITY
@ PFIELD_CLOTH_USE_CULLING
@ PFIELD_GRAVITATION
struct SoftBody_Shared SoftBody_Shared
struct EffectorWeights EffectorWeights
@ NUM_PFIELD_TYPES
@ PFIELD_FLUIDFLOW
@ PFIELD_HARMONIC
@ PFIELD_TURBULENCE
@ PFIELD_LENNARDJ
@ EFF_WEIGHT_DO_HAIR
@ SBC_MODE_AVGMINMAX
@ PFIELD_SHAPE_LINE
@ PFIELD_SHAPE_PLANE
@ PFIELD_SHAPE_SURFACE
@ PFIELD_SHAPE_POINTS
@ PFIELD_SHAPE_POINT
@ PFIELD_FALL_SPHERE
struct SBVertex SBVertex
struct PartDeflect PartDeflect
struct SoftBody SoftBody
struct Collection * group
struct Object * f_source
struct PointCache * pointcache
char namedVG_Softgoal[64]
struct SoftBody_Shared * shared
struct PointCache *pointcache DNA_DEPRECATED
struct Collection * collision_group
struct EffectorWeights * effector_weights
char namedVG_Spring_K[64]
struct BodySpring * bspring
struct SBScratch * scratch
struct BodyPoint * bpoint