Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "BLI_utildefines.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_rand.h"
#include "BLI_string.h"
#include "BLT_translation.h"
#include "DNA_defaults.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_screen_types.h"
#include "BKE_context.h"
#include "BKE_effect.h"
#include "BKE_lattice.h"
#include "BKE_lib_query.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
#include "BKE_particle.h"
#include "BKE_pointcache.h"
#include "BKE_screen.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
Go to the source code of this file.
Variables | |
ModifierTypeInfo | modifierType_ParticleInstance |
|
static |
Definition at line 125 of file MOD_particleinstance.c.
References IDWALK_CB_NOP, and ParticleInstanceModifierData::ob.
|
static |
Definition at line 46 of file MOD_particleinstance.c.
References BLI_assert, DNA_struct_default_get, MEMCMP_STRUCT_AFTER_IS_ZERO, and MEMCPY_STRUCT_AFTER.
|
static |
Definition at line 66 of file MOD_particleinstance.c.
References BKE_modifier_is_enabled(), BLI_findlink(), eModifierMode_Realtime, eModifierMode_Render, eModifierType_ParticleSystem, ListBase::first, Object::modifiers, ModifierData::next, NULL, ParticleInstanceModifierData::ob, OB_MESH, Object::particlesystem, ParticleSystemModifierData::psys, ParticleInstanceModifierData::psys, scene, ModifierData::type, and Object::type.
Definition at line 615 of file MOD_particleinstance.c.
References col, IFACE_, Panel::layout, modifier_panel_get_property_pointers(), ptr, RNA_pointer_get(), uiItemPointerR(), uiLayoutColumn(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 195 of file MOD_particleinstance.c.
References add_v3_v3(), angle(), ParticleInstanceModifierData::axis, axis_angle_to_quat(), BKE_mesh_minmax(), BKE_mesh_new_nomain_from_template(), BLI_assert, BLI_findlink(), BLI_hash_frand(), CD_PROP_BYTE_COLOR, ParticleSystem::child, ParticleSettings::childtype, copy_m3_m4(), copy_qt_qt(), copy_v3_v3(), blender::math::cross(), cross_v3_v3v3(), CustomData_copy_data(), CustomData_get_layer_named(), DEG_get_evaluated_scene(), ModifierEvalContext::depsgraph, ParticleSimulationData::depsgraph, MLoop::e, Mesh::edata, 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, INIT_MINMAX, invert_m4_m4(), Mesh::ldata, MPoly::loopstart, M_PI, mat3_to_quat(), max, MEM_calloc_arrayN, MEM_freeN, MEM_SAFE_FREE, mesh, ParticleSystemModifierData::mesh_final, min, Mesh::mloop, Mesh::mpoly, mul_m4_v3(), mul_qt_qtqt(), mul_qt_v3(), mul_v3_fl(), Mesh::mvert, normalize_v3(), NULL, ParticleSimulationData::ob, ParticleInstanceModifierData::ob, ModifierEvalContext::object, Object::obmat, ChildParticle::pa, ChildParticle::parent, ParticleSystem::part, PART_CHILD_FACES, particle_skip(), ParticleSystem::particles, Object::particlesystem, Mesh::pdata, ParticleSystem::pointcache, ParticleInstanceModifierData::position, ParticleSimulationData::psmd, ParticleSimulationData::psys, ParticleInstanceModifierData::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(), saacos(), ParticleSimulationData::scene, scene, ParticleSystem::seed, size(), ParticleData::size, ParticleInstanceModifierData::space, state, store_float_in_vcol(), ParticleSystem::totchild, Mesh::totedge, Mesh::totloop, MPoly::totloop, ParticleSystem::totpart, Mesh::totpoly, Mesh::totvert, Object::trackflag, unit_m4(), unit_qt(), MLoop::v, MEdge::v1, MEdge::v2, ParticleInstanceModifierData::value_layer_name, and Mesh::vdata.
Definition at line 533 of file MOD_particleinstance.c.
References IFACE_, Panel::layout, modifier_panel_end(), modifier_panel_get_property_pointers(), NULL, ptr, RNA_pointer_get(), RNA_pointer_is_null(), UI_ITEM_R_EXPAND, UI_ITEM_R_FORCE_BLANK_DECORATE, UI_ITEM_R_TOGGLE, uiItemPointerR(), uiItemR(), uiItemS(), uiLayoutRow(), uiLayoutRowWithHeading(), and uiLayoutSetPropSep().
Referenced by panelRegister().
|
static |
Definition at line 634 of file MOD_particleinstance.c.
References eModifierType_ParticleInstance, layers_panel_draw(), modifier_panel_register(), modifier_subpanel_register(), NULL, panel_draw(), path_panel_draw(), and path_panel_draw_header().
|
static |
Definition at line 132 of file MOD_particleinstance.c.
References ParticleData::alive, ParticleSystem::child, ParticleSettings::childtype, eParticleInstanceFlag_Alive, eParticleInstanceFlag_Dead, eParticleInstanceFlag_Unborn, ParticleInstanceModifierData::flag, ParticleData::flag, 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 modifyMesh().
Definition at line 593 of file MOD_particleinstance.c.
References col, IFACE_, Panel::layout, modifier_panel_get_property_pointers(), NULL, ptr, RNA_boolean_get(), UI_ITEM_R_SLIDER, uiItemR(), uiLayoutColumn(), uiLayoutSetActive(), and uiLayoutSetPropSep().
Referenced by panelRegister().
Definition at line 584 of file MOD_particleinstance.c.
References IFACE_, Panel::layout, modifier_panel_get_property_pointers(), NULL, ptr, and uiItemR().
Referenced by panelRegister().
|
static |
Definition at line 55 of file MOD_particleinstance.c.
References CD_MASK_PROP_BYTE_COLOR, ParticleInstanceModifierData::index_layer_name, CustomData_MeshMasks::lmask, and ParticleInstanceModifierData::value_layer_name.
Definition at line 188 of file MOD_particleinstance.c.
References MLoopCol::a, MLoopCol::b, MLoopCol::g, MLoopCol::r, and unit_float_to_uchar_clamp().
Referenced by modifyMesh().
|
static |
Definition at line 114 of file MOD_particleinstance.c.
References DEG_add_object_relation(), DEG_OB_COMP_GEOMETRY, DEG_OB_COMP_TRANSFORM, ModifierUpdateDepsgraphContext::node, NULL, and ParticleInstanceModifierData::ob.
ModifierTypeInfo modifierType_ParticleInstance |
Definition at line 643 of file MOD_particleinstance.c.