Blender V5.0
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

enum class CollisionComponentFlag : uint8_t
strong

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>
ID * object_id_safe ( T * object)
static