Blender
V3.3
|
#include "intern/depsgraph_physics.h"
#include "MEM_guardedalloc.h"
#include "BLI_compiler_compat.h"
#include "BLI_listbase.h"
#include "BKE_collision.h"
#include "BKE_effect.h"
#include "BKE_modifier.h"
#include "DNA_collection_types.h"
#include "DNA_object_force_types.h"
#include "DNA_object_types.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_physics.h"
#include "DEG_depsgraph_query.h"
#include "depsgraph.h"
Go to the source code of this file.
Namespaces | |
blender | |
blender::deg | |
Functions | |
static ePhysicsRelationType | modifier_to_relation_type (unsigned int modifier_type) |
template<class T > | |
static ID * | object_id_safe (T *object) |
ListBase * | DEG_get_effector_relations (const Depsgraph *graph, Collection *collection) |
ListBase * | DEG_get_collision_relations (const Depsgraph *graph, Collection *collection, unsigned int modifier_type) |
void | DEG_add_collision_relations (DepsNodeHandle *handle, Object *object, Collection *collection, unsigned int modifier_type, DEG_CollobjFilterFunction filter_function, const char *name) |
void | DEG_add_forcefield_relations (DepsNodeHandle *handle, Object *object, EffectorWeights *effector_weights, bool add_absorption, int skip_forcefield, const char *name) |
ListBase * | blender::deg::build_effector_relations (Depsgraph *graph, Collection *collection) |
ListBase * | blender::deg::build_collision_relations (Depsgraph *graph, Collection *collection, unsigned int modifier_type) |
void | blender::deg::clear_physics_relations (Depsgraph *graph) |
Physics utilities for effectors and collision.
Definition in file depsgraph_physics.cc.
void DEG_add_collision_relations | ( | DepsNodeHandle * | handle, |
Object * | object, | ||
Collection * | collection, | ||
unsigned int | modifier_type, | ||
DEG_CollobjFilterFunction | filter_function, | ||
const char * | name | ||
) |
Definition at line 91 of file depsgraph_physics.cc.
References BKE_modifiers_findby_type(), blender::deg::build_collision_relations(), DEG_add_object_pointcache_relation(), DEG_get_graph_from_handle(), DEG_OB_COMP_GEOMETRY, DEG_OB_COMP_TRANSFORM, depsgraph, and LISTBASE_FOREACH.
Referenced by DEG_add_forcefield_relations(), and updateDepsgraph().
void DEG_add_forcefield_relations | ( | DepsNodeHandle * | handle, |
Object * | object, | ||
EffectorWeights * | effector_weights, | ||
bool | add_absorption, | ||
int | skip_forcefield, | ||
const char * | name | ||
) |
Definition at line 114 of file depsgraph_physics.cc.
References blender::deg::build_effector_relations(), DEG_add_collision_relations(), DEG_add_object_pointcache_relation(), DEG_get_graph_from_handle(), DEG_OB_COMP_GEOMETRY, DEG_OB_COMP_TRANSFORM, depsgraph, ELEM, eModifierType_Collision, EffectorWeights::group, LISTBASE_FOREACH, PFIELD_FLUIDFLOW, PFIELD_GUIDE, PFIELD_SHAPE_POINTS, PFIELD_SHAPE_SURFACE, and PFIELD_VISIBILITY.
Referenced by updateDepsgraph().
ListBase* DEG_get_collision_relations | ( | const Depsgraph * | graph, |
Collection * | collection, | ||
unsigned int | modifier_type | ||
) |
Definition at line 73 of file depsgraph_physics.cc.
References DEG_get_original_id(), graph, hash, modifier_to_relation_type(), object_id_safe(), blender::deg::Depsgraph::physics_relations, and type.
ListBase* DEG_get_effector_relations | ( | const Depsgraph * | graph, |
Collection * | collection | ||
) |
Definition at line 60 of file depsgraph_physics.cc.
References DEG_get_original_id(), DEG_PHYSICS_EFFECTOR, graph, hash, object_id_safe(), and blender::deg::Depsgraph::physics_relations.
|
static |
Definition at line 35 of file depsgraph_physics.cc.
References BLI_assert_msg, DEG_PHYSICS_COLLISION, DEG_PHYSICS_DYNAMIC_BRUSH, DEG_PHYSICS_RELATIONS_NUM, DEG_PHYSICS_SMOKE_COLLISION, eModifierType_Collision, eModifierType_DynamicPaint, and eModifierType_Fluid.
Referenced by blender::deg::build_collision_relations(), and DEG_get_collision_relations().
Definition at line 52 of file depsgraph_physics.cc.
Referenced by blender::deg::build_collision_relations(), blender::deg::build_effector_relations(), DEG_get_collision_relations(), and DEG_get_effector_relations().