Blender V4.5
depsgraph_physics.cc File Reference

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::deg
 

Enumerations

enum class  CollisionComponentFlag : uint8_t { None = 0 , Transform = 1 << 0 , Geometry = 1 << 1 , EvalPose = 1 << 2 }
 

Functions

static ePhysicsRelationType modifier_to_relation_type (uint modifier_type)
 
template<class T >
static IDobject_id_safe (T *object)
 
ListBaseDEG_get_effector_relations (const Depsgraph *graph, Collection *collection)
 
ListBaseDEG_get_collision_relations (const Depsgraph *graph, Collection *collection, uint modifier_type)
 
 ENUM_OPERATORS (CollisionComponentFlag, CollisionComponentFlag::EvalPose)
 
void DEG_add_collision_relations (DepsNodeHandle *handle, Object *object, Collection *collection, uint 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)
 
ListBaseblender::deg::build_effector_relations (Depsgraph *graph, Collection *collection)
 
ListBaseblender::deg::build_collision_relations (Depsgraph *graph, Collection *collection, uint modifier_type)
 
void blender::deg::clear_physics_relations (Depsgraph *graph)
 

Detailed Description

Physics utilities for effectors and collision.

Definition in file depsgraph_physics.cc.

Enumeration Type Documentation

◆ CollisionComponentFlag

Flags to store point-cache relations which have been calculated. This avoid adding relations multiple times.

Note
This could be replaced by bit-shifting eDepsObjectComponentType values, although this would limit them to integer size.
Enumerator
None 
Transform 

DEG_OB_COMP_TRANSFORM is set.

Geometry 

DEG_OB_COMP_GEOMETRY is set.

EvalPose 

DEG_OB_COMP_EVAL_POSE is set.

Definition at line 98 of file depsgraph_physics.cc.

Function Documentation

◆ DEG_add_collision_relations()

◆ DEG_add_forcefield_relations()

◆ DEG_get_collision_relations()

ListBase * DEG_get_collision_relations ( const Depsgraph * graph,
Collection * collection,
uint modifier_type )

◆ DEG_get_effector_relations()

ListBase * DEG_get_effector_relations ( const Depsgraph * graph,
Collection * collection )

◆ ENUM_OPERATORS()

◆ modifier_to_relation_type()

◆ object_id_safe()

template<class T >
static ID * object_id_safe ( T * object)
static