|
Blender V5.0
|
#include "intern/depsgraph_physics.hh"#include "BLI_listbase.h"#include "BKE_collision.h"#include "BKE_dynamicpaint.h"#include "BKE_effect.h"#include "BKE_modifier.hh"#include "BKE_object.hh"#include "DNA_collection_types.h"#include "DNA_object_force_types.h"#include "DNA_object_types.h"#include "DEG_depsgraph_build.hh"#include "DEG_depsgraph_physics.hh"#include "DEG_depsgraph_query.hh"#include "depsgraph.hh"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 } |
Physics utilities for effectors and collision.
Definition in file depsgraph_physics.cc.
|
strong |
Flags to store point-cache relations which have been calculated. This avoid adding relations multiple times.
| 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.
| void DEG_add_collision_relations | ( | DepsNodeHandle * | handle, |
| Object * | object, | ||
| Collection * | collection, | ||
| uint | modifier_type, | ||
| DEG_CollobjFilterFunction | filter_function, | ||
| const char * | name ) |
Definition at line 109 of file depsgraph_physics.cc.
References BKE_modifiers_findby_type(), BKE_object_modifier_update_subframe_only_callback(), DEG_add_object_pointcache_relation(), DEG_get_graph_from_handle(), DEG_OB_COMP_EVAL_POSE, DEG_OB_COMP_GEOMETRY, DEG_OB_COMP_TRANSFORM, depsgraph, eModifierType_DynamicPaint, EvalPose, Geometry, LISTBASE_FOREACH, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_default(), name, None, OB_ARMATURE, OBJECT_MODIFIER_UPDATE_SUBFRAME_RECURSION_DEFAULT, Transform, and Object::type.
Referenced by DEG_add_forcefield_relations(), update_depsgraph(), update_depsgraph(), update_depsgraph(), and update_depsgraph().
| void DEG_add_forcefield_relations | ( | DepsNodeHandle * | handle, |
| Object * | object, | ||
| EffectorWeights * | effector_weights, | ||
| bool | add_absorption, | ||
| int | skip_forcefield, | ||
| const char * | name ) |
Definition at line 199 of file depsgraph_physics.cc.
References 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, name, PFIELD_FLUIDFLOW, PFIELD_GUIDE, PFIELD_SHAPE_POINTS, PFIELD_SHAPE_SURFACE, and PFIELD_VISIBILITY.
Referenced by update_depsgraph(), update_depsgraph(), update_depsgraph(), and update_depsgraph().
| ListBase * DEG_get_collision_relations | ( | const Depsgraph * | graph, |
| Collection * | collection, | ||
| uint | modifier_type ) |
Definition at line 73 of file depsgraph_physics.cc.
References DEG_get_original(), hash, modifier_to_relation_type(), object_id_safe(), and blender::deg::Depsgraph::physics_relations.
Referenced by BKE_collider_cache_create(), and BKE_collision_objects_create().
| ListBase * DEG_get_effector_relations | ( | const Depsgraph * | graph, |
| Collection * | collection ) |
Definition at line 60 of file depsgraph_physics.cc.
References DEG_get_original(), DEG_PHYSICS_EFFECTOR, hash, object_id_safe(), and blender::deg::Depsgraph::physics_relations.
Referenced by BKE_effectors_create().
| ENUM_OPERATORS | ( | CollisionComponentFlag | , |
| CollisionComponentFlag::EvalPose | ) |
References EvalPose.
|
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.
References T.
Referenced by blender::deg::build_collision_relations(), blender::deg::build_effector_relations(), DEG_get_collision_relations(), and DEG_get_effector_relations().