Blender V4.3
DEG_depsgraph_physics.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2018 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
11#pragma once
12
13#include "DEG_depsgraph.hh"
14
15struct Collection;
16struct DepsNodeHandle;
17struct Depsgraph;
18struct EffectorWeights;
19struct ListBase;
20struct ModifierData;
21struct Object;
22
30
31/* Get collision/effector relations from collection or entire scene. These
32 * created during depsgraph relations building and should only be accessed
33 * during evaluation. */
34ListBase *DEG_get_effector_relations(const Depsgraph *depsgraph, Collection *collection);
36 Collection *collection,
37 unsigned int modifier_type);
38
39/* Build collision/effector relations for depsgraph. */
40using DEG_CollobjFilterFunction = bool (*)(Object *obj, ModifierData *md);
41
42void DEG_add_collision_relations(DepsNodeHandle *handle,
43 Object *object,
44 Collection *collection,
45 unsigned int modifier_type,
46 DEG_CollobjFilterFunction filter_function,
47 const char *name);
48void DEG_add_forcefield_relations(DepsNodeHandle *handle,
49 Object *object,
50 EffectorWeights *eff,
51 bool add_absorption,
52 int skip_forcefield,
53 const char *name);
bool(*)(Object *obj, ModifierData *md) DEG_CollobjFilterFunction
ListBase * DEG_get_collision_relations(const Depsgraph *depsgraph, 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 *eff, bool add_absorption, int skip_forcefield, const char *name)
@ DEG_PHYSICS_DYNAMIC_BRUSH
@ DEG_PHYSICS_SMOKE_COLLISION
@ DEG_PHYSICS_COLLISION
@ DEG_PHYSICS_RELATIONS_NUM
@ DEG_PHYSICS_EFFECTOR
ListBase * DEG_get_effector_relations(const Depsgraph *depsgraph, Collection *collection)
const Depsgraph * depsgraph