Blender  V3.3
DNA_cloth_types.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2006 NaN Holding BV. All rights reserved. */
3 
8 #pragma once
9 
10 #include "DNA_defs.h"
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
28 typedef struct ClothSimSettings {
30  struct LinkNode *cache;
32  float mingoal;
34  float Cdis DNA_DEPRECATED;
36  float Cvi;
38  float gravity[3];
40  float dt;
42  float mass;
44  float structural DNA_DEPRECATED;
46  float shear;
48  float bending;
50  float max_bend;
52  float max_struct DNA_DEPRECATED;
54  float max_shear;
56  float max_sewing;
60  float timescale;
62  float time_scale;
64  float maxgoal;
69  float sim_time_old;
70  float defgoal;
71  float goalspring;
72  float goalfrict;
82  float vel_damping DNA_DEPRECATED;
85  float shrink_min;
88  float shrink_max;
89 
90  /* Air pressure */
106  char _pad7[6];
107 
108  /* XXX various hair stuff
109  * should really be separate, this struct is a horrible mess already
110  */
115 
119  int flags;
121  int preroll DNA_DEPRECATED;
125  short solver_type;
127  short vgroup_bend;
129  short vgroup_mass;
137  short presets;
138  short reset;
139 
141 
145  float tension;
146  float compression;
147  float max_tension;
154  float shear_damp;
155 
162  char _pad1[2];
167  char _pad0[4];
168 
170 
171 /* SIMULATION FLAGS: goal flags, etc. */
172 /* These are the bits used in SimSettings.flags. */
173 typedef enum {
191  /* CLOTH_SIMSETTINGS_FLAG_CCACHE_EDIT = (1 << 12), */ /* UNUSED */
199 
200 /* ClothSimSettings.bending_model. */
201 typedef enum {
205 
206 typedef struct ClothCollSettings {
210  float epsilon;
214  float friction;
216  float damping;
218  float selfepsilon;
219  float repel_force DNA_DEPRECATED;
220  float distance_repel DNA_DEPRECATED;
222  int flags;
224  short self_loop_count DNA_DEPRECATED;
226  short loop_count;
227  char _pad[4];
229  struct Collection *group;
234  char _pad2[4];
236  float clamp;
238  float self_clamp;
240 
241 /* COLLISION FLAGS */
242 typedef enum {
243  CLOTH_COLLSETTINGS_FLAG_ENABLED = (1 << 1), /* enables cloth - object collisions */
244  CLOTH_COLLSETTINGS_FLAG_SELF = (1 << 2), /* enables selfcollisions */
246 
247 #ifdef __cplusplus
248 }
249 #endif
CLOTH_BENDING_MODEL
@ CLOTH_BENDING_LINEAR
@ CLOTH_BENDING_ANGULAR
CLOTH_COLLISIONSETTINGS_FLAGS
@ CLOTH_COLLSETTINGS_FLAG_ENABLED
@ CLOTH_COLLSETTINGS_FLAG_SELF
struct ClothCollSettings ClothCollSettings
CLOTH_SIMSETTINGS_FLAGS
@ CLOTH_SIMSETTINGS_FLAG_DYNAMIC_BASEMESH
@ CLOTH_SIMSETTINGS_FLAG_GOAL
@ CLOTH_SIMSETTINGS_FLAG_INTERNAL_SPRINGS_NORMAL
@ CLOTH_SIMSETTINGS_FLAG_PRESSURE_VOL
@ CLOTH_SIMSETTINGS_FLAG_SCALING
@ CLOTH_SIMSETTINGS_FLAG_SEW
@ CLOTH_SIMSETTINGS_FLAG_PRESSURE
@ CLOTH_SIMSETTINGS_FLAG_TEARING
@ CLOTH_SIMSETTINGS_FLAG_COLLOBJ
@ CLOTH_SIMSETTINGS_FLAG_INTERNAL_SPRINGS
@ CLOTH_SIMSETTINGS_FLAG_RESIST_SPRING_COMPRESS
struct ClothSimSettings ClothSimSettings
short self_loop_count DNA_DEPRECATED
float repel_force DNA_DEPRECATED
float distance_repel DNA_DEPRECATED
struct LinkNode * collision_list
struct Collection * group
struct EffectorWeights * effector_weights
float vel_damping DNA_DEPRECATED
float internal_spring_max_length
float uniform_pressure_force
float Cdis DNA_DEPRECATED
float structural DNA_DEPRECATED
int preroll DNA_DEPRECATED
float max_internal_compression
float internal_spring_max_diversion
struct LinkNode * cache
float max_struct DNA_DEPRECATED