Blender V4.3
DNA_particle_types.h File Reference
#include "DNA_ID.h"
#include "DNA_boid_types.h"
#include "DNA_defs.h"

Go to the source code of this file.

Classes

struct  HairKey
 
struct  ParticleKey
 
struct  BoidParticle
 
struct  ParticleSpring
 
struct  ChildParticle
 
struct  ParticleTarget
 
struct  ParticleDupliWeight
 
struct  ParticleData
 
struct  SPHFluidSettings
 
struct  ParticleSettings
 
class  ParticleSystem
 

Typedefs

typedef struct HairKey HairKey
 
typedef struct ParticleKey ParticleKey
 
typedef struct BoidParticle BoidParticle
 
typedef struct ParticleSpring ParticleSpring
 
typedef struct ChildParticle ChildParticle
 
typedef struct ParticleTarget ParticleTarget
 
typedef struct ParticleDupliWeight ParticleDupliWeight
 
typedef struct ParticleData ParticleData
 
typedef struct SPHFluidSettings SPHFluidSettings
 
typedef struct ParticleSettings ParticleSettings
 
typedef struct ParticleSystem ParticleSystem
 
typedef enum eParticleDrawFlag eParticleDrawFlag
 
typedef enum eParticleKink eParticleKink
 
typedef enum eParticleChildFlag eParticleChildFlag
 
typedef enum eParticleShapeFlag eParticleShapeFlag
 
typedef enum eParticleTextureInfluence eParticleTextureInfluence
 

Enumerations

enum  {
  SPH_VISCOELASTIC_SPRINGS = 1 << 0 , SPH_CURRENT_REST_LENGTH = 1 << 1 , SPH_FAC_REPULSION = 1 << 2 , SPH_FAC_DENSITY = 1 << 3 ,
  SPH_FAC_RADIUS = 1 << 4 , SPH_FAC_VISCOSITY = 1 << 5 , SPH_FAC_REST_LENGTH = 1 << 6
}
 
enum  { SPH_SOLVER_DDR = 0 , SPH_SOLVER_CLASSICAL = 1 }
 
enum  eParticleDrawFlag {
  PART_DRAW_VEL = (1 << 0) , PART_DRAW_GLOBAL_OB = (1 << 1) , PART_DRAW_SIZE = (1 << 2) , PART_DRAW_HEALTH = (1 << 4) ,
  PART_ABS_PATH_TIME = (1 << 5) , PART_DRAW_COUNT_GR = (1 << 6) , PART_DRAW_ROTATE_OB = (1 << 7) , PART_DRAW_PARENT = (1 << 8) ,
  PART_DRAW_NUM = (1 << 9) , PART_DRAW_RAND_GR = (1 << 10) , PART_DRAW_REN_ADAPT = (1 << 11) , PART_DRAW_VEL_LENGTH = (1 << 12) ,
  PART_DRAW_MAT_COL = (1 << 13) , PART_DRAW_WHOLE_GR = (1 << 14) , PART_DRAW_REN_STRAND = (1 << 15) , PART_DRAW_NO_SCALE_OB = (1 << 16) ,
  PART_DRAW_GUIDE_HAIRS = (1 << 17) , PART_DRAW_HAIR_GRID = (1 << 18)
}
 
enum  {
  PART_EMITTER = 0 , PART_HAIR = 2 , PART_FLUID = 3 , PART_FLUID_FLIP = 4 ,
  PART_FLUID_SPRAY = 5 , PART_FLUID_BUBBLE = 6 , PART_FLUID_FOAM = 7 , PART_FLUID_TRACER = 8 ,
  PART_FLUID_SPRAYFOAM = 9 , PART_FLUID_SPRAYBUBBLE = 10 , PART_FLUID_FOAMBUBBLE = 11 , PART_FLUID_SPRAYFOAMBUBBLE = 12
}
 
enum  {
  PARTICLE_TYPE_SPRAY = (1 << 1) , PARTICLE_TYPE_BUBBLE = (1 << 2) , PARTICLE_TYPE_FOAM = (1 << 3) , PARTICLE_TYPE_TRACER = (1 << 4) ,
  PARTICLE_TYPE_DELETE = (1 << 10)
}
 
enum  {
  PART_REACT_STA_END = 1 << 0 , PART_REACT_MULTIPLE = 1 << 1 , PART_DS_EXPAND = 1 << 3 , PART_HAIR_REGROW = 1 << 4 ,
  PART_UNBORN = 1 << 5 , PART_DIED = 1 << 6 , PART_TRAND = 1 << 7 , PART_EDISTR = 1 << 8 ,
  PART_ROTATIONS = 1 << 9 , PART_HAIR_BSPLINE = 1 << 10 , PART_DIE_ON_COL = 1 << 12 , PART_SIZE_DEFL = 1 << 13 ,
  PART_ROT_DYN = 1 << 14 , PART_HIDE_ADVANCED_HAIR = 1 << 15 , PART_SIZEMASS = 1 << 16 , PART_BOIDS_2D = 1 << 19 ,
  PART_SELF_EFFECT = 1 << 22 , PART_GRID_HEXAGONAL = 1 << 24 , PART_GRID_INVERT = 1 << 26 , PART_CHILD_EFFECT = 1 << 27 ,
  PART_CHILD_LONG_HAIR = 1 << 28 , PART_CHILD_GUIDE = 1 << 30
}
 
enum  { PART_FROM_VERT = 0 , PART_FROM_FACE = 1 , PART_FROM_VOLUME = 2 , PART_FROM_CHILD = 4 }
 
enum  { PART_DISTR_JIT = 0 , PART_DISTR_RAND = 1 , PART_DISTR_GRID = 2 }
 
enum  {
  PART_PHYS_NO = 0 , PART_PHYS_NEWTON = 1 , PART_PHYS_KEYED = 2 , PART_PHYS_BOIDS = 3 ,
  PART_PHYS_FLUID = 4
}
 
enum  eParticleKink {
  PART_KINK_NO = 0 , PART_KINK_CURL = 1 , PART_KINK_RADIAL = 2 , PART_KINK_WAVE = 3 ,
  PART_KINK_BRAID = 4 , PART_KINK_SPIRAL = 5
}
 
enum  eParticleChildFlag { PART_CHILD_USE_CLUMP_NOISE = (1 << 0) , PART_CHILD_USE_CLUMP_CURVE = (1 << 1) , PART_CHILD_USE_ROUGH_CURVE = (1 << 2) , PART_CHILD_USE_TWIST_CURVE = (1 << 3) }
 
enum  eParticleShapeFlag { PART_SHAPE_CLOSE_TIP = (1 << 0) }
 
enum  { PART_DRAW_COL_NONE = 0 , PART_DRAW_COL_MAT = 1 , PART_DRAW_COL_VEL = 2 , PART_DRAW_COL_ACC = 3 }
 
enum  { PART_TIME_AUTOSF = 1 << 0 }
 
enum  {
  PART_DRAW_NOT = 0 , PART_DRAW_DOT = 1 , PART_DRAW_HALO = 1 , PART_DRAW_CIRC = 2 ,
  PART_DRAW_CROSS = 3 , PART_DRAW_AXIS = 4 , PART_DRAW_LINE = 5 , PART_DRAW_PATH = 6 ,
  PART_DRAW_OB = 7 , PART_DRAW_GR = 8 , PART_DRAW_BB = 9 , PART_DRAW_REND = 10
}
 
enum  { PART_INT_EULER = 0 , PART_INT_MIDPOINT = 1 , PART_INT_RK4 = 2 , PART_INT_VERLET = 3 }
 
enum  {
  PART_ROT_NOR = 1 , PART_ROT_VEL = 2 , PART_ROT_GLOB_X = 3 , PART_ROT_GLOB_Y = 4 ,
  PART_ROT_GLOB_Z = 5 , PART_ROT_OB_X = 6 , PART_ROT_OB_Y = 7 , PART_ROT_OB_Z = 8 ,
  PART_ROT_NOR_TAN = 9
}
 
enum  {
  PART_AVE_VELOCITY = 1 , PART_AVE_RAND = 2 , PART_AVE_HORIZONTAL = 3 , PART_AVE_VERTICAL = 4 ,
  PART_AVE_GLOBAL_X = 5 , PART_AVE_GLOBAL_Y = 6 , PART_AVE_GLOBAL_Z = 7
}
 
enum  { PART_EVENT_DEATH = 0 , PART_EVENT_COLLIDE = 1 , PART_EVENT_NEAR = 2 }
 
enum  { PART_CHILD_PARTICLES = 1 , PART_CHILD_FACES = 2 }
 
enum  {
  PSYS_CURRENT = 1 << 0 , PSYS_GLOBAL_HAIR = 1 << 1 , PSYS_HAIR_DYNAMICS = 1 << 2 , PSYS_KEYED_TIMING = 1 << 3 ,
  PSYS_HAIR_UPDATED = 1 << 5 , PSYS_DELETE = 1 << 8 , PSYS_HAIR_DONE = 1 << 9 , PSYS_KEYED = 1 << 10 ,
  PSYS_EDITED = 1 << 11 , PSYS_DISABLED = 1 << 13 , PSYS_OB_ANIM_RESTORE = 1 << 14 , PSYS_SHARED_CACHES = 1 << 15
}
 
enum  { PARS_UNEXIST = 1 << 0 , PARS_NO_DISP = 1 << 1 , PARS_REKEY = 1 << 3 }
 
enum  {
  PARS_KILLED = 0 , PARS_DEAD = 1 , PARS_UNBORN = 2 , PARS_ALIVE = 3 ,
  PARS_DYING = 4
}
 
enum  { PART_DUPLIW_CURRENT = 1 }
 
enum  { PSYS_TOT_VG = 13 }
 
enum  {
  PSYS_VG_DENSITY = 0 , PSYS_VG_VEL = 1 , PSYS_VG_LENGTH = 2 , PSYS_VG_CLUMP = 3 ,
  PSYS_VG_KINK = 4 , PSYS_VG_ROUGH1 = 5 , PSYS_VG_ROUGH2 = 6 , PSYS_VG_ROUGHE = 7 ,
  PSYS_VG_SIZE = 8 , PSYS_VG_TAN = 9 , PSYS_VG_ROT = 10 , PSYS_VG_EFFECTOR = 11 ,
  PSYS_VG_TWIST = 12
}
 
enum  { PTARGET_CURRENT = 1 , PTARGET_VALID = 2 }
 
enum  { PTARGET_MODE_NEUTRAL = 0 , PTARGET_MODE_FRIEND = 1 , PTARGET_MODE_ENEMY = 2 }
 
enum  eParticleTextureInfluence {
  PAMAP_TIME = (1 << 0) , PAMAP_LIFE = (1 << 1) , PAMAP_DENS = (1 << 2) , PAMAP_SIZE = (1 << 3) ,
  PAMAP_INIT = (PAMAP_TIME | PAMAP_LIFE | PAMAP_DENS | PAMAP_SIZE) , PAMAP_IVEL = (1 << 5) , PAMAP_FIELD = (1 << 6) , PAMAP_GRAVITY = (1 << 10) ,
  PAMAP_DAMP = (1 << 11) , PAMAP_PHYSICS = (PAMAP_FIELD | PAMAP_GRAVITY | PAMAP_DAMP) , PAMAP_CLUMP = (1 << 7) , PAMAP_KINK_FREQ = (1 << 8) ,
  PAMAP_KINK_AMP = (1 << 12) , PAMAP_ROUGH = (1 << 9) , PAMAP_LENGTH = (1 << 4) , PAMAP_TWIST = (1 << 13) ,
  PAMAP_CHILD
}
 

Typedef Documentation

◆ BoidParticle

typedef struct BoidParticle BoidParticle

◆ ChildParticle

typedef struct ChildParticle ChildParticle

Child particles are created around or between parent particles.

◆ eParticleChildFlag

◆ eParticleDrawFlag

◆ eParticleKink

◆ eParticleShapeFlag

◆ eParticleTextureInfluence

◆ HairKey

typedef struct HairKey HairKey

◆ ParticleData

typedef struct ParticleData ParticleData

◆ ParticleDupliWeight

typedef struct ParticleDupliWeight ParticleDupliWeight

◆ ParticleKey

typedef struct ParticleKey ParticleKey

◆ ParticleSettings

typedef struct ParticleSettings ParticleSettings

◆ ParticleSpring

typedef struct ParticleSpring ParticleSpring

◆ ParticleSystem

typedef struct ParticleSystem ParticleSystem

◆ ParticleTarget

typedef struct ParticleTarget ParticleTarget

◆ SPHFluidSettings

typedef struct SPHFluidSettings SPHFluidSettings

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

SPHFluidSettings::flag

Enumerator
SPH_VISCOELASTIC_SPRINGS 
SPH_CURRENT_REST_LENGTH 
SPH_FAC_REPULSION 
SPH_FAC_DENSITY 
SPH_FAC_RADIUS 
SPH_FAC_VISCOSITY 
SPH_FAC_REST_LENGTH 

Definition at line 160 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

SPHFluidSettings::solver (numerical ID field, not bit-field).

Enumerator
SPH_SOLVER_DDR 
SPH_SOLVER_CLASSICAL 

Definition at line 171 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings.type Hair is always baked static in object/geometry space. Other types (normal particles) are in global space and not static baked.

Enumerator
PART_EMITTER 
PART_HAIR 
PART_FLUID 
PART_FLUID_FLIP 
PART_FLUID_SPRAY 
PART_FLUID_BUBBLE 
PART_FLUID_FOAM 
PART_FLUID_TRACER 
PART_FLUID_SPRAYFOAM 
PART_FLUID_SPRAYBUBBLE 
PART_FLUID_FOAMBUBBLE 
PART_FLUID_SPRAYFOAMBUBBLE 

Definition at line 437 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

Mirroring Mantaflow particle types from particle.h (Mantaflow header).

Enumerator
PARTICLE_TYPE_SPRAY 
PARTICLE_TYPE_BUBBLE 
PARTICLE_TYPE_FOAM 
PARTICLE_TYPE_TRACER 
PARTICLE_TYPE_DELETE 

Definition at line 455 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings.flag

Enumerator
PART_REACT_STA_END 
PART_REACT_MULTIPLE 
PART_DS_EXPAND 
PART_HAIR_REGROW 

Regrow hair for each frame.

PART_UNBORN 

Show unborn particles.

PART_DIED 

Show died particles.

PART_TRAND 
PART_EDISTR 

Particle/face from face areas.

PART_ROTATIONS 

Calculate particle rotations (and store them in point-cache).

PART_HAIR_BSPLINE 
PART_DIE_ON_COL 
PART_SIZE_DEFL 

Swept sphere deflections.

PART_ROT_DYN 

Dynamic rotation.

PART_HIDE_ADVANCED_HAIR 
PART_SIZEMASS 
PART_BOIDS_2D 
PART_SELF_EFFECT 
PART_GRID_HEXAGONAL 
PART_GRID_INVERT 
PART_CHILD_EFFECT 
PART_CHILD_LONG_HAIR 
PART_CHILD_GUIDE 

Definition at line 467 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings::from

Enumerator
PART_FROM_VERT 
PART_FROM_FACE 
PART_FROM_VOLUME 
PART_FROM_CHILD 

Definition at line 521 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings::distr

Enumerator
PART_DISTR_JIT 
PART_DISTR_RAND 
PART_DISTR_GRID 

Definition at line 530 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings::phystype

Enumerator
PART_PHYS_NO 
PART_PHYS_NEWTON 
PART_PHYS_KEYED 
PART_PHYS_BOIDS 
PART_PHYS_FLUID 

Definition at line 537 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings::draw_col

Enumerator
PART_DRAW_COL_NONE 
PART_DRAW_COL_MAT 
PART_DRAW_COL_VEL 
PART_DRAW_COL_ACC 

Definition at line 569 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings::time_flag

Enumerator
PART_TIME_AUTOSF 

Automatic sub-frames.

Definition at line 577 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings::draw_as, ParticleSettings::ren_as

Enumerator
PART_DRAW_NOT 
PART_DRAW_DOT 
PART_DRAW_HALO 
PART_DRAW_CIRC 
PART_DRAW_CROSS 
PART_DRAW_AXIS 
PART_DRAW_LINE 
PART_DRAW_PATH 
PART_DRAW_OB 
PART_DRAW_GR 
PART_DRAW_BB 
PART_DRAW_REND 

Definition at line 583 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings::integrator

Enumerator
PART_INT_EULER 
PART_INT_MIDPOINT 
PART_INT_RK4 
PART_INT_VERLET 

Definition at line 599 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings::rotmode

Enumerator
PART_ROT_NOR 
PART_ROT_VEL 
PART_ROT_GLOB_X 
PART_ROT_GLOB_Y 
PART_ROT_GLOB_Z 
PART_ROT_OB_X 
PART_ROT_OB_Y 
PART_ROT_OB_Z 
PART_ROT_NOR_TAN 

Definition at line 607 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings::avemode

Enumerator
PART_AVE_VELOCITY 
PART_AVE_RAND 
PART_AVE_HORIZONTAL 
PART_AVE_VERTICAL 
PART_AVE_GLOBAL_X 
PART_AVE_GLOBAL_Y 
PART_AVE_GLOBAL_Z 

Definition at line 620 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings::reactevent

Enumerator
PART_EVENT_DEATH 
PART_EVENT_COLLIDE 
PART_EVENT_NEAR 

Definition at line 631 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleSettings::childtype

Enumerator
PART_CHILD_PARTICLES 
PART_CHILD_FACES 

Definition at line 638 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

#PartialSystem::flag

Enumerator
PSYS_CURRENT 
PSYS_GLOBAL_HAIR 
PSYS_HAIR_DYNAMICS 
PSYS_KEYED_TIMING 
PSYS_HAIR_UPDATED 

Signal for updating hair particle mode.

PSYS_DELETE 

Remove particle-system as soon as possible.

PSYS_HAIR_DONE 
PSYS_KEYED 
PSYS_EDITED 
PSYS_DISABLED 
PSYS_OB_ANIM_RESTORE 

Runtime flag.

PSYS_SHARED_CACHES 

Definition at line 644 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleData::flag

Enumerator
PARS_UNEXIST 
PARS_NO_DISP 
PARS_REKEY 

Definition at line 667 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleData::alive

Enumerator
PARS_KILLED 
PARS_DEAD 
PARS_UNBORN 
PARS_ALIVE 
PARS_DYING 

Definition at line 675 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleDupliWeight::flag

Enumerator
PART_DUPLIW_CURRENT 

Definition at line 684 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

#PartialSystem::vg

Enumerator
PSYS_TOT_VG 

Definition at line 689 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

#PartialSystem::vgroup (indices into this array).

Enumerator
PSYS_VG_DENSITY 
PSYS_VG_VEL 
PSYS_VG_LENGTH 
PSYS_VG_CLUMP 
PSYS_VG_KINK 
PSYS_VG_ROUGH1 
PSYS_VG_ROUGH2 
PSYS_VG_ROUGHE 
PSYS_VG_SIZE 
PSYS_VG_TAN 
PSYS_VG_ROT 
PSYS_VG_EFFECTOR 
PSYS_VG_TWIST 

Definition at line 694 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleTarget::flag

Enumerator
PTARGET_CURRENT 
PTARGET_VALID 

Definition at line 711 of file DNA_particle_types.h.

◆ anonymous enum

anonymous enum

ParticleTarget::mode

Enumerator
PTARGET_MODE_NEUTRAL 
PTARGET_MODE_FRIEND 
PTARGET_MODE_ENEMY 

Definition at line 717 of file DNA_particle_types.h.

◆ eParticleChildFlag

ParticleSettings::child_flag

Enumerator
PART_CHILD_USE_CLUMP_NOISE 
PART_CHILD_USE_CLUMP_CURVE 
PART_CHILD_USE_ROUGH_CURVE 
PART_CHILD_USE_TWIST_CURVE 

Definition at line 556 of file DNA_particle_types.h.

◆ eParticleDrawFlag

Enumerator
PART_DRAW_VEL 
PART_DRAW_GLOBAL_OB 
PART_DRAW_SIZE 
PART_DRAW_HEALTH 
PART_ABS_PATH_TIME 
PART_DRAW_COUNT_GR 
PART_DRAW_ROTATE_OB 
PART_DRAW_PARENT 
PART_DRAW_NUM 
PART_DRAW_RAND_GR 
PART_DRAW_REN_ADAPT 
PART_DRAW_VEL_LENGTH 
PART_DRAW_MAT_COL 
PART_DRAW_WHOLE_GR 
PART_DRAW_REN_STRAND 
PART_DRAW_NO_SCALE_OB 
PART_DRAW_GUIDE_HAIRS 
PART_DRAW_HAIR_GRID 

Definition at line 405 of file DNA_particle_types.h.

◆ eParticleKink

ParticleSettings::kink

Enumerator
PART_KINK_NO 
PART_KINK_CURL 
PART_KINK_RADIAL 
PART_KINK_WAVE 
PART_KINK_BRAID 
PART_KINK_SPIRAL 

Definition at line 546 of file DNA_particle_types.h.

◆ eParticleShapeFlag

ParticleSettings::shape_flag

Enumerator
PART_SHAPE_CLOSE_TIP 

Definition at line 564 of file DNA_particle_types.h.

◆ eParticleTextureInfluence

MTex::mapto

Enumerator
PAMAP_TIME 
PAMAP_LIFE 
PAMAP_DENS 
PAMAP_SIZE 
PAMAP_INIT 
PAMAP_IVEL 
PAMAP_FIELD 
PAMAP_GRAVITY 
PAMAP_DAMP 
PAMAP_PHYSICS 
PAMAP_CLUMP 
PAMAP_KINK_FREQ 
PAMAP_KINK_AMP 
PAMAP_ROUGH 
PAMAP_LENGTH 
PAMAP_TWIST 
PAMAP_CHILD 

Definition at line 724 of file DNA_particle_types.h.