|
Blender V4.3
|
#include "MEM_guardedalloc.h"#include "BLI_utildefines.h"#include "BLI_listbase.h"#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BLI_rand.h"#include "BLT_translation.hh"#include "DNA_defaults.h"#include "DNA_mesh_types.h"#include "DNA_meshdata_types.h"#include "DNA_screen_types.h"#include "BKE_customdata.hh"#include "BKE_lib_query.hh"#include "BKE_mesh.hh"#include "BKE_modifier.hh"#include "BKE_particle.h"#include "BKE_pointcache.h"#include "UI_interface.hh"#include "UI_resources.hh"#include "RNA_access.hh"#include "RNA_prototypes.hh"#include "DEG_depsgraph_build.hh"#include "DEG_depsgraph_query.hh"#include "MOD_ui_common.hh"Go to the source code of this file.
Functions | |
| static void | init_data (ModifierData *md) |
| static void | required_data_mask (ModifierData *md, CustomData_MeshMasks *r_cddata_masks) |
| static bool | is_disabled (const Scene *scene, ModifierData *md, bool use_render_params) |
| static void | update_depsgraph (ModifierData *md, const ModifierUpdateDepsgraphContext *ctx) |
| static void | foreach_ID_link (ModifierData *md, Object *ob, IDWalkFunc walk, void *user_data) |
| static bool | particle_skip (ParticleInstanceModifierData *pimd, ParticleSystem *psys, int p) |
| static void | store_float_in_vcol (MLoopCol *vcol, float float_value) |
| static Mesh * | modify_mesh (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh) |
| static void | panel_draw (const bContext *, Panel *panel) |
| static void | path_panel_draw_header (const bContext *, Panel *panel) |
| static void | path_panel_draw (const bContext *, Panel *panel) |
| static void | layers_panel_draw (const bContext *, Panel *panel) |
| static void | panel_register (ARegionType *region_type) |
Variables | |
| ModifierTypeInfo | modifierType_ParticleInstance |
|
static |
Definition at line 120 of file MOD_particleinstance.cc.
References IDWALK_CB_NOP, and ParticleInstanceModifierData::ob.
|
static |
Definition at line 44 of file MOD_particleinstance.cc.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 62 of file MOD_particleinstance.cc.
References BKE_modifier_is_enabled(), BLI_findlink(), eModifierMode_Realtime, eModifierMode_Render, eModifierType_ParticleSystem, LISTBASE_FOREACH, Object::modifiers, ParticleInstanceModifierData::ob, OB_MESH, Object::particlesystem, ParticleInstanceModifierData::psys, ParticleSystemModifierData::psys, and Object::type.
Definition at line 604 of file MOD_particleinstance.cc.
References col, IFACE_, Panel::layout, modifier_panel_get_property_pointers(), ptr, RNA_pointer_get(), uiItemPointerR(), uiLayoutColumn(), and uiLayoutSetPropSep().
Referenced by panel_register().
|
static |
Definition at line 188 of file MOD_particleinstance.cc.
References add_v3_v3(), ParticleInstanceModifierData::axis, axis_angle_to_quat(), BKE_mesh_new_nomain_from_template(), BLI_assert, BLI_findlink(), BLI_hash_frand(), bounds(), CD_PROP_BYTE_COLOR, ParticleSystem::child, ParticleSettings::childtype, copy_m3_m4(), copy_qt_qt(), copy_v3_v3(), cross(), cross_v3_v3v3(), CustomData_copy_data(), CustomData_get_layer_named_for_write(), DEG_get_evaluated_scene(), ModifierEvalContext::depsgraph, ParticleSimulationData::depsgraph, eParticleInstanceFlag_Children, eParticleInstanceFlag_KeepShape, eParticleInstanceFlag_Parents, eParticleInstanceFlag_Path, eParticleInstanceFlag_UseSize, eParticleInstanceSpace_Local, eParticleInstanceSpace_World, eul_to_quat(), ParticleInstanceModifierData::flag, ParticleSystem::flag, PointCache::flag, ParticleSettings::from, ParticleInstanceModifierData::index_layer_name, invert_m4_m4(), M_PI, mat3_to_quat(), MEM_calloc_arrayN, MEM_freeN(), MEM_SAFE_FREE, mesh, ParticleSystemModifierData::mesh_final, mul_m4_v3(), mul_qt_qtqt(), mul_qt_v3(), mul_v3_fl(), normalize_v3(), ParticleInstanceModifierData::ob, ParticleSimulationData::ob, ModifierEvalContext::object, ChildParticle::pa, ChildParticle::parent, ParticleSystem::part, PART_CHILD_FACES, particle_skip(), ParticleSystem::particles, Object::particlesystem, ParticleSystem::pointcache, ParticleInstanceModifierData::position, ParticleSimulationData::psmd, ParticleInstanceModifierData::psys, ParticleSimulationData::psys, psys_frand(), psys_get_child_size(), psys_get_modifier(), psys_get_particle_on_path(), psys_get_particle_state(), PSYS_HAIR_DONE, PSYS_KEYED, psys_mat_hair_to_global(), psys_sim_data_free(), psys_sim_data_init(), PTCACHE_BAKED, ParticleInstanceModifierData::random_position, ParticleInstanceModifierData::random_rotation, result, rot, ParticleInstanceModifierData::rotation, rotation_between_vecs_to_quat(), safe_acosf(), ParticleSimulationData::scene, scene, ParticleSystem::seed, blender::IndexRange::size(), ParticleInstanceModifierData::space, blender::IndexRange::start(), state, store_float_in_vcol(), ParticleSystem::totchild, ParticleSystem::totpart, Object::trackflag, unit_m4(), unit_qt(), and ParticleInstanceModifierData::value_layer_name.
Definition at line 521 of file MOD_particleinstance.cc.
References IFACE_, Panel::layout, modifier_panel_end(), modifier_panel_get_property_pointers(), ptr, RNA_pointer_get(), RNA_pointer_is_null(), UI_ITEM_NONE, UI_ITEM_R_EXPAND, UI_ITEM_R_FORCE_BLANK_DECORATE, UI_ITEM_R_TOGGLE, uiItemPointerR(), uiItemR(), uiItemS(), uiLayoutRow(), uiLayoutRowWithHeading(), and uiLayoutSetPropSep().
Referenced by panel_register().
|
static |
Definition at line 623 of file MOD_particleinstance.cc.
References eModifierType_ParticleInstance, layers_panel_draw(), modifier_panel_register(), modifier_subpanel_register(), panel_draw(), path_panel_draw(), and path_panel_draw_header().
|
static |
Definition at line 127 of file MOD_particleinstance.cc.
References ParticleData::alive, ParticleSystem::child, ParticleSettings::childtype, eParticleInstanceFlag_Alive, eParticleInstanceFlag_Dead, eParticleInstanceFlag_Unborn, ParticleData::flag, ParticleInstanceModifierData::flag, int, ChildParticle::pa, ChildParticle::parent, PARS_ALIVE, PARS_DEAD, PARS_NO_DISP, PARS_UNBORN, PARS_UNEXIST, ParticleSystem::part, PART_CHILD_FACES, ParticleInstanceModifierData::particle_amount, ParticleInstanceModifierData::particle_offset, ParticleSystem::particles, psys_frand(), ParticleSystem::totchild, and ParticleSystem::totpart.
Referenced by modify_mesh().
Definition at line 582 of file MOD_particleinstance.cc.
References col, IFACE_, Panel::layout, modifier_panel_get_property_pointers(), ptr, RNA_boolean_get(), UI_ITEM_NONE, UI_ITEM_R_SLIDER, uiItemR(), uiLayoutColumn(), uiLayoutSetActive(), and uiLayoutSetPropSep().
Referenced by panel_register().
Definition at line 573 of file MOD_particleinstance.cc.
References IFACE_, Panel::layout, modifier_panel_get_property_pointers(), ptr, UI_ITEM_NONE, and uiItemR().
Referenced by panel_register().
|
static |
Definition at line 53 of file MOD_particleinstance.cc.
References CD_MASK_PROP_BYTE_COLOR, ParticleInstanceModifierData::index_layer_name, CustomData_MeshMasks::lmask, and ParticleInstanceModifierData::value_layer_name.
Definition at line 181 of file MOD_particleinstance.cc.
References MLoopCol::a, MLoopCol::b, MLoopCol::g, MLoopCol::r, and unit_float_to_uchar_clamp.
Referenced by modify_mesh().
|
static |
Definition at line 109 of file MOD_particleinstance.cc.
References DEG_add_object_relation(), DEG_OB_COMP_GEOMETRY, DEG_OB_COMP_TRANSFORM, ModifierUpdateDepsgraphContext::node, and ParticleInstanceModifierData::ob.
| ModifierTypeInfo modifierType_ParticleInstance |
Definition at line 633 of file MOD_particleinstance.cc.