Blender  V3.3
Classes | Macros | Typedefs | Enumerations | Functions | Variables
BKE_effect.h File Reference
#include "BLI_utildefines.h"

Go to the source code of this file.

Classes

struct  EffectedPoint
 
struct  GuideEffectorData
 
struct  EffectorData
 
struct  EffectorCache
 
struct  EffectorRelation
 
struct  SimDebugElement
 
struct  SimDebugData
 

Macros

#define PE_WIND_AS_SPEED   1
 
#define PE_USE_NORMAL_DATA   4
 
#define PE_VELOCITY_TO_IMPULSE   1
 
#define _VA_SIM_DEBUG_HASH1(a)   (BKE_sim_debug_data_hash(a))
 
#define _VA_SIM_DEBUG_HASH2(a, b)    (BKE_sim_debug_data_hash_combine(BKE_sim_debug_data_hash(a), _VA_SIM_DEBUG_HASH1(b)))
 
#define _VA_SIM_DEBUG_HASH3(a, b, c)    (BKE_sim_debug_data_hash_combine(BKE_sim_debug_data_hash(a), _VA_SIM_DEBUG_HASH2(b, c)))
 
#define _VA_SIM_DEBUG_HASH4(a, b, c, d)    (BKE_sim_debug_data_hash_combine(BKE_sim_debug_data_hash(a), _VA_SIM_DEBUG_HASH3(b, c, d)))
 
#define _VA_SIM_DEBUG_HASH5(a, b, c, d, e)    (BKE_sim_debug_data_hash_combine(BKE_sim_debug_data_hash(a), _VA_SIM_DEBUG_HASH4(b, c, d, e)))
 
#define _VA_SIM_DEBUG_HASH6(a, b, c, d, e, f)    (BKE_sim_debug_data_hash_combine(BKE_sim_debug_data_hash(a), _VA_SIM_DEBUG_HASH5(b, c, d, e, f)))
 
#define _VA_SIM_DEBUG_HASH7(a, b, c, d, e, f, g)
 
#define _VA_SIM_DEBUG_HASH8(a, b, c, d, e, f, g, h)
 
#define SIM_DEBUG_HASH(...)   VA_NARGS_CALL_OVERLOAD(_VA_SIM_DEBUG_HASH, __VA_ARGS__)
 
#define BKE_sim_debug_data_add_dot(p, r, g, b, category, ...)
 
#define BKE_sim_debug_data_add_circle(p, radius, r, g, b, category, ...)
 
#define BKE_sim_debug_data_add_line(p1, p2, r, g, b, category, ...)
 
#define BKE_sim_debug_data_add_vector(p, d, r, g, b, category, ...)
 
#define BKE_sim_debug_data_add_string(p, str, r, g, b, category, ...)
 
#define BKE_sim_debug_data_remove(...)    BKE_sim_debug_data_remove_element(SIM_DEBUG_HASH(__VA_ARGS__))
 

Typedefs

typedef struct EffectedPoint EffectedPoint
 
typedef struct GuideEffectorData GuideEffectorData
 
typedef struct EffectorData EffectorData
 
typedef struct EffectorCache EffectorCache
 
typedef struct EffectorRelation EffectorRelation
 
typedef struct SimDebugElement SimDebugElement
 
typedef enum eSimDebugElement_Type eSimDebugElement_Type
 
typedef struct SimDebugData SimDebugData
 

Enumerations

enum  eSimDebugElement_Type {
  SIM_DEBUG_ELEM_DOT , SIM_DEBUG_ELEM_CIRCLE , SIM_DEBUG_ELEM_LINE , SIM_DEBUG_ELEM_VECTOR ,
  SIM_DEBUG_ELEM_STRING
}
 

Functions

struct EffectorWeightsBKE_effector_add_weights (struct Collection *collection)
 
struct PartDeflectBKE_partdeflect_new (int type)
 
struct PartDeflectBKE_partdeflect_copy (const struct PartDeflect *pd_src)
 
void BKE_partdeflect_free (struct PartDeflect *pd)
 
struct ListBaseBKE_effector_relations_create (struct Depsgraph *depsgraph, struct ViewLayer *view_layer, struct Collection *collection)
 
void BKE_effector_relations_free (struct ListBase *lb)
 
struct ListBaseBKE_effectors_create (struct Depsgraph *depsgraph, struct Object *ob_src, struct ParticleSystem *psys_src, struct EffectorWeights *weights, bool use_rotation)
 
void BKE_effectors_apply (struct ListBase *effectors, struct ListBase *colliders, struct EffectorWeights *weights, struct EffectedPoint *point, float *force, float *wind_force, float *impulse)
 
void BKE_effectors_free (struct ListBase *lb)
 
void pd_point_from_particle (struct ParticleSimulationData *sim, struct ParticleData *pa, struct ParticleKey *state, struct EffectedPoint *point)
 
void pd_point_from_loc (struct Scene *scene, float *loc, float *vel, int index, struct EffectedPoint *point)
 
void pd_point_from_soft (struct Scene *scene, float *loc, float *vel, int index, struct EffectedPoint *point)
 
float effector_falloff (struct EffectorCache *eff, struct EffectorData *efd, struct EffectedPoint *point, struct EffectorWeights *weights)
 
bool closest_point_on_surface (struct SurfaceModifierData *surmd, const float co[3], float surface_co[3], float surface_nor[3], float surface_vel[3])
 
bool get_effector_data (struct EffectorCache *eff, struct EffectorData *efd, struct EffectedPoint *point, int real_velocity)
 
unsigned int BKE_sim_debug_data_hash (int i)
 
unsigned int BKE_sim_debug_data_hash_combine (unsigned int kx, unsigned int ky)
 
void BKE_sim_debug_data_set_enabled (bool enable)
 
bool BKE_sim_debug_data_get_enabled (void)
 
void BKE_sim_debug_data_free (void)
 
void BKE_sim_debug_data_add_element (int type, const float v1[3], const float v2[3], const char *str, float r, float g, float b, const char *category, unsigned int hash)
 
void BKE_sim_debug_data_remove_element (unsigned int hash)
 
void BKE_sim_debug_data_clear (void)
 
void BKE_sim_debug_data_clear_category (const char *category)
 

Variables

SimDebugData_sim_debug_data
 

Macro Definition Documentation

◆ _VA_SIM_DEBUG_HASH1

#define _VA_SIM_DEBUG_HASH1 (   a)    (BKE_sim_debug_data_hash(a))

Definition at line 178 of file BKE_effect.h.

◆ _VA_SIM_DEBUG_HASH2

#define _VA_SIM_DEBUG_HASH2 (   a,
 
)     (BKE_sim_debug_data_hash_combine(BKE_sim_debug_data_hash(a), _VA_SIM_DEBUG_HASH1(b)))

Definition at line 179 of file BKE_effect.h.

◆ _VA_SIM_DEBUG_HASH3

#define _VA_SIM_DEBUG_HASH3 (   a,
  b,
 
)     (BKE_sim_debug_data_hash_combine(BKE_sim_debug_data_hash(a), _VA_SIM_DEBUG_HASH2(b, c)))

Definition at line 181 of file BKE_effect.h.

◆ _VA_SIM_DEBUG_HASH4

#define _VA_SIM_DEBUG_HASH4 (   a,
  b,
  c,
 
)     (BKE_sim_debug_data_hash_combine(BKE_sim_debug_data_hash(a), _VA_SIM_DEBUG_HASH3(b, c, d)))

Definition at line 183 of file BKE_effect.h.

◆ _VA_SIM_DEBUG_HASH5

#define _VA_SIM_DEBUG_HASH5 (   a,
  b,
  c,
  d,
  e 
)     (BKE_sim_debug_data_hash_combine(BKE_sim_debug_data_hash(a), _VA_SIM_DEBUG_HASH4(b, c, d, e)))

Definition at line 185 of file BKE_effect.h.

◆ _VA_SIM_DEBUG_HASH6

#define _VA_SIM_DEBUG_HASH6 (   a,
  b,
  c,
  d,
  e,
 
)     (BKE_sim_debug_data_hash_combine(BKE_sim_debug_data_hash(a), _VA_SIM_DEBUG_HASH5(b, c, d, e, f)))

Definition at line 187 of file BKE_effect.h.

◆ _VA_SIM_DEBUG_HASH7

#define _VA_SIM_DEBUG_HASH7 (   a,
  b,
  c,
  d,
  e,
  f,
 
)
Value:
_VA_SIM_DEBUG_HASH6(b, c, d, e, f, g)))
unsigned int BKE_sim_debug_data_hash_combine(unsigned int kx, unsigned int ky)
Definition: effect.c:1213
#define _VA_SIM_DEBUG_HASH6(a, b, c, d, e, f)
Definition: BKE_effect.h:187
unsigned int BKE_sim_debug_data_hash(int i)
Definition: effect.c:1208
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
static unsigned c
Definition: RandGen.cpp:83
static unsigned a[3]
Definition: RandGen.cpp:78
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
static const pxr::TfToken g("g", pxr::TfToken::Immortal)

Definition at line 189 of file BKE_effect.h.

◆ _VA_SIM_DEBUG_HASH8

#define _VA_SIM_DEBUG_HASH8 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
 
)
Value:
_VA_SIM_DEBUG_HASH7(b, c, d, e, f, g, h)))
#define _VA_SIM_DEBUG_HASH7(a, b, c, d, e, f, g)
Definition: BKE_effect.h:189

Definition at line 192 of file BKE_effect.h.

◆ BKE_sim_debug_data_add_circle

#define BKE_sim_debug_data_add_circle (   p,
  radius,
  r,
  g,
  b,
  category,
  ... 
)
Value:
{ \
const float v2[3] = {radius, 0.0f, 0.0f}; \
BKE_sim_debug_data_add_element( \
SIM_DEBUG_ELEM_CIRCLE, p, v2, NULL, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \
}
@ SIM_DEBUG_ELEM_CIRCLE
Definition: BKE_effect.h:211
#define SIM_DEBUG_HASH(...)
Definition: BKE_effect.h:196
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
ATTR_WARN_UNUSED_RESULT const BMVert * v2

Definition at line 245 of file BKE_effect.h.

◆ BKE_sim_debug_data_add_dot

#define BKE_sim_debug_data_add_dot (   p,
  r,
  g,
  b,
  category,
  ... 
)
Value:
{ \
const float v2[3] = {0.0f, 0.0f, 0.0f}; \
BKE_sim_debug_data_add_element( \
SIM_DEBUG_ELEM_DOT, p, v2, NULL, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \
}
@ SIM_DEBUG_ELEM_DOT
Definition: BKE_effect.h:210

Definition at line 238 of file BKE_effect.h.

◆ BKE_sim_debug_data_add_line

#define BKE_sim_debug_data_add_line (   p1,
  p2,
  r,
  g,
  b,
  category,
  ... 
)
Value:
{ \
BKE_sim_debug_data_add_element( \
SIM_DEBUG_ELEM_LINE, p1, p2, NULL, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \
}
@ SIM_DEBUG_ELEM_LINE
Definition: BKE_effect.h:212

Definition at line 252 of file BKE_effect.h.

◆ BKE_sim_debug_data_add_string

#define BKE_sim_debug_data_add_string (   p,
  str,
  r,
  g,
  b,
  category,
  ... 
)
Value:
{ \
BKE_sim_debug_data_add_element( \
SIM_DEBUG_ELEM_STRING, p, NULL, str, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \
}
@ SIM_DEBUG_ELEM_STRING
Definition: BKE_effect.h:214
#define str(s)

Definition at line 264 of file BKE_effect.h.

◆ BKE_sim_debug_data_add_vector

#define BKE_sim_debug_data_add_vector (   p,
  d,
  r,
  g,
  b,
  category,
  ... 
)
Value:
{ \
BKE_sim_debug_data_add_element( \
SIM_DEBUG_ELEM_VECTOR, p, d, NULL, r, g, b, category, SIM_DEBUG_HASH(__VA_ARGS__)); \
}
@ SIM_DEBUG_ELEM_VECTOR
Definition: BKE_effect.h:213

Definition at line 258 of file BKE_effect.h.

◆ BKE_sim_debug_data_remove

#define BKE_sim_debug_data_remove (   ...)     BKE_sim_debug_data_remove_element(SIM_DEBUG_HASH(__VA_ARGS__))

Definition at line 270 of file BKE_effect.h.

◆ PE_USE_NORMAL_DATA

#define PE_USE_NORMAL_DATA   4

Definition at line 166 of file BKE_effect.h.

◆ PE_VELOCITY_TO_IMPULSE

#define PE_VELOCITY_TO_IMPULSE   1

Definition at line 169 of file BKE_effect.h.

◆ PE_WIND_AS_SPEED

#define PE_WIND_AS_SPEED   1

Definition at line 165 of file BKE_effect.h.

◆ SIM_DEBUG_HASH

#define SIM_DEBUG_HASH (   ...)    VA_NARGS_CALL_OVERLOAD(_VA_SIM_DEBUG_HASH, __VA_ARGS__)

Definition at line 196 of file BKE_effect.h.

Typedef Documentation

◆ EffectedPoint

typedef struct EffectedPoint EffectedPoint

◆ EffectorCache

typedef struct EffectorCache EffectorCache

◆ EffectorData

typedef struct EffectorData EffectorData

◆ EffectorRelation

◆ eSimDebugElement_Type

◆ GuideEffectorData

◆ SimDebugData

typedef struct SimDebugData SimDebugData

◆ SimDebugElement

Enumeration Type Documentation

◆ eSimDebugElement_Type

Enumerator
SIM_DEBUG_ELEM_DOT 
SIM_DEBUG_ELEM_CIRCLE 
SIM_DEBUG_ELEM_LINE 
SIM_DEBUG_ELEM_VECTOR 
SIM_DEBUG_ELEM_STRING 

Definition at line 209 of file BKE_effect.h.

Function Documentation

◆ BKE_effector_add_weights()

struct EffectorWeights* BKE_effector_add_weights ( struct Collection collection)

◆ BKE_effector_relations_create()

struct ListBase* BKE_effector_relations_create ( struct Depsgraph depsgraph,
struct ViewLayer view_layer,
struct Collection collection 
)

Create list of effector relations in the collection or entire scene. This is used by the depsgraph to build relations, as well as faster lookup of effectors during evaluation.

Definition at line 209 of file effect.c.

References add_effector_relation(), BASE_ENABLED_RENDER, BASE_ENABLED_VIEWPORT, BKE_collection_or_layer_objects(), DAG_EVAL_RENDER, DEG_get_mode(), depsgraph, Base::flag, PartDeflect::forcefield, LISTBASE_FOREACH, MEM_callocN, Base::next, NULL, Base::object, Object::particlesystem, Object::pd, ParticleSettings::pd, ParticleSettings::pd2, and psys_check_enabled().

Referenced by blender::deg::build_effector_relations().

◆ BKE_effector_relations_free()

void BKE_effector_relations_free ( struct ListBase lb)

Definition at line 247 of file effect.c.

References BLI_freelistN(), and MEM_freeN.

Referenced by blender::deg::clear_physics_relations().

◆ BKE_effectors_apply()

void BKE_effectors_apply ( struct ListBase effectors,
struct ListBase colliders,
struct EffectorWeights weights,
struct EffectedPoint point,
float force,
float wind_force,
float impulse 
)

◆ BKE_effectors_create()

struct ListBase* BKE_effectors_create ( struct Depsgraph depsgraph,
struct Object ob_src,
struct ParticleSystem psys_src,
struct EffectorWeights weights,
bool  use_rotation 
)

◆ BKE_effectors_free()

void BKE_effectors_free ( struct ListBase lb)

◆ BKE_partdeflect_copy()

struct PartDeflect* BKE_partdeflect_copy ( const struct PartDeflect pd_src)

Definition at line 110 of file effect.c.

References BLI_rng_copy(), MEM_dupallocN, NULL, and PartDeflect::rng.

Referenced by particle_settings_copy_data().

◆ BKE_partdeflect_free()

void BKE_partdeflect_free ( struct PartDeflect pd)

Definition at line 122 of file effect.c.

References BLI_rng_free(), MEM_freeN, and PartDeflect::rng.

Referenced by object_free_data(), and particle_settings_free_data().

◆ BKE_partdeflect_new()

struct PartDeflect* BKE_partdeflect_new ( int  type)

◆ BKE_sim_debug_data_add_element()

void BKE_sim_debug_data_add_element ( int  type,
const float  v1[3],
const float  v2[3],
const char *  str,
float  r,
float  g,
float  b,
const char *  category,
unsigned int  hash 
)

◆ BKE_sim_debug_data_clear()

void BKE_sim_debug_data_clear ( void  )

Definition at line 1368 of file effect.c.

References _sim_debug_data, BLI_ghash_clear(), debug_element_free(), SimDebugData::gh, and NULL.

◆ BKE_sim_debug_data_clear_category()

void BKE_sim_debug_data_clear_category ( const char *  category)

◆ BKE_sim_debug_data_free()

void BKE_sim_debug_data_free ( void  )

◆ BKE_sim_debug_data_get_enabled()

bool BKE_sim_debug_data_get_enabled ( void  )

Definition at line 1280 of file effect.c.

References _sim_debug_data, and NULL.

◆ BKE_sim_debug_data_hash()

unsigned int BKE_sim_debug_data_hash ( int  i)

Definition at line 1208 of file effect.c.

References BLI_ghashutil_uinthash().

◆ BKE_sim_debug_data_hash_combine()

unsigned int BKE_sim_debug_data_hash_combine ( unsigned int  kx,
unsigned int  ky 
)

Definition at line 1213 of file effect.c.

References Freestyle::a, usdtokens::b(), Freestyle::c, and rot.

◆ BKE_sim_debug_data_remove_element()

void BKE_sim_debug_data_remove_element ( unsigned int  hash)

◆ BKE_sim_debug_data_set_enabled()

void BKE_sim_debug_data_set_enabled ( bool  enable)

◆ closest_point_on_surface()

bool closest_point_on_surface ( struct SurfaceModifierData surmd,
const float  co[3],
float  surface_co[3],
float  surface_nor[3],
float  surface_vel[3] 
)

◆ effector_falloff()

float effector_falloff ( struct EffectorCache eff,
struct EffectorData efd,
struct EffectedPoint point,
struct EffectorWeights weights 
)

Referenced by precalc_guides(), and rule_goal_avoid().

◆ get_effector_data()

bool get_effector_data ( struct EffectorCache eff,
struct EffectorData efd,
struct EffectedPoint point,
int  real_velocity 
)

◆ pd_point_from_loc()

void pd_point_from_loc ( struct Scene scene,
float loc,
float vel,
int  index,
struct EffectedPoint point 
)

◆ pd_point_from_particle()

void pd_point_from_particle ( struct ParticleSimulationData sim,
struct ParticleData pa,
struct ParticleKey state,
struct EffectedPoint point 
)

◆ pd_point_from_soft()

void pd_point_from_soft ( struct Scene scene,
float loc,
float vel,
int  index,
struct EffectedPoint point 
)

Variable Documentation

◆ _sim_debug_data

SimDebugData* _sim_debug_data
extern