Blender  V3.3
Functions | Variables
MOD_particleinstance.c File Reference
#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.

Functions

static void initData (ModifierData *md)
 
static void requiredDataMask (Object *UNUSED(ob), ModifierData *md, CustomData_MeshMasks *r_cddata_masks)
 
static bool isDisabled (const struct Scene *scene, ModifierData *md, bool useRenderParams)
 
static void updateDepsgraph (ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
 
static void foreachIDLink (ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
 
static bool particle_skip (ParticleInstanceModifierData *pimd, ParticleSystem *psys, int p)
 
static void store_float_in_vcol (MLoopCol *vcol, float float_value)
 
static MeshmodifyMesh (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh)
 
static void panel_draw (const bContext *UNUSED(C), Panel *panel)
 
static void path_panel_draw_header (const bContext *UNUSED(C), Panel *panel)
 
static void path_panel_draw (const bContext *UNUSED(C), Panel *panel)
 
static void layers_panel_draw (const bContext *UNUSED(C), Panel *panel)
 
static void panelRegister (ARegionType *region_type)
 

Variables

ModifierTypeInfo modifierType_ParticleInstance
 

Function Documentation

◆ foreachIDLink()

static void foreachIDLink ( ModifierData md,
Object ob,
IDWalkFunc  walk,
void userData 
)
static

Definition at line 125 of file MOD_particleinstance.c.

References IDWALK_CB_NOP, and ParticleInstanceModifierData::ob.

◆ initData()

static void initData ( ModifierData md)
static

◆ isDisabled()

static bool isDisabled ( const struct Scene scene,
ModifierData md,
bool  useRenderParams 
)
static

◆ layers_panel_draw()

static void layers_panel_draw ( const bContext UNUSEDC,
Panel panel 
)
static

◆ modifyMesh()

static Mesh* modifyMesh ( ModifierData md,
const ModifierEvalContext ctx,
Mesh mesh 
)
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.

◆ panel_draw()

static void panel_draw ( const bContext UNUSEDC,
Panel panel 
)
static

◆ panelRegister()

static void panelRegister ( ARegionType region_type)
static

◆ particle_skip()

static bool particle_skip ( ParticleInstanceModifierData pimd,
ParticleSystem psys,
int  p 
)
static

◆ path_panel_draw()

static void path_panel_draw ( const bContext UNUSEDC,
Panel panel 
)
static

◆ path_panel_draw_header()

static void path_panel_draw_header ( const bContext UNUSEDC,
Panel panel 
)
static

◆ requiredDataMask()

static void requiredDataMask ( Object UNUSEDob,
ModifierData md,
CustomData_MeshMasks r_cddata_masks 
)
static

◆ store_float_in_vcol()

static void store_float_in_vcol ( MLoopCol vcol,
float  float_value 
)
static

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().

◆ updateDepsgraph()

static void updateDepsgraph ( ModifierData md,
const ModifierUpdateDepsgraphContext ctx 
)
static

Variable Documentation

◆ modifierType_ParticleInstance

ModifierTypeInfo modifierType_ParticleInstance

Definition at line 643 of file MOD_particleinstance.c.