30#include "RNA_prototypes.hh"
114 bool had_mesh_final = (psmd->
mesh_final !=
nullptr);
125 psmd->
flag &= ~eParticleSystemFlag_file_loaded;
145 psmd->
mesh_final->vert_positions_for_write().copy_from(positions);
154 Mesh *mesh_original =
nullptr;
169 mesh_original =
mesh;
198 psmd->
flag &= ~eParticleSystemFlag_psys_updated;
224 uiItemL(layout,
RPT_(
"Settings are inside the Particles tab"), ICON_NONE);
231 "OBJECT_OT_duplicates_make_real");
237 "OBJECT_OT_modifier_convert");
257 psmd->
flag &= ~eParticleSystemFlag_psys_updated;
263 N_(
"ParticleSystem"),
264 "ParticleSystemModifierData",
266 &RNA_ParticleSystemModifier,
BMEditMesh * BKE_editmesh_from_object(Object *ob)
Return the BMEditMesh for a given object.
void BKE_id_free(Main *bmain, void *idv)
Mesh * BKE_mesh_copy_for_eval(const Mesh &source)
Mesh * BKE_mesh_from_bmesh_for_eval_nomain(BMesh *bm, const CustomData_MeshMasks *cd_mask_extra, const Mesh *me_settings)
void BKE_mesh_tessface_ensure(Mesh *mesh)
void BKE_modifier_copydata_generic(const ModifierData *md, ModifierData *md_dst, int flag)
@ eModifierTypeFlag_UsesPointCache
@ eModifierTypeFlag_SupportsMapping
@ eModifierTypeFlag_AcceptsMesh
ModifierData * BKE_modifiers_findby_name(const Object *ob, const char *name)
bool psys_check_enabled(struct Object *ob, struct ParticleSystem *psys, bool use_render_params)
void psys_emitter_customdata_mask(struct ParticleSystem *psys, struct CustomData_MeshMasks *r_cddata_masks)
void particle_system_update(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct ParticleSystem *psys, bool use_render_params)
#define MEMCMP_STRUCT_AFTER_IS_ZERO(struct_var, member)
#define MEMCPY_STRUCT_AFTER(struct_dst, struct_src, member)
#define BLO_read_struct(reader, struct_name, ptr_p)
#define CTX_IFACE_(context, msgid)
#define BLT_I18NCONTEXT_OPERATOR_DEFAULT
bool DEG_is_active(const Depsgraph *depsgraph)
Scene * DEG_get_evaluated_scene(const Depsgraph *graph)
Object * DEG_get_original_object(Object *object)
#define DNA_struct_default_get(struct_name)
@ eParticleSystemFlag_psys_updated
@ eParticleSystemFlag_file_loaded
struct ParticleSystemModifierData ParticleSystemModifierData
@ eModifierType_ParticleSystem
static void init_data(ModifierData *md)
static void deform_verts(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, blender::MutableSpan< blender::float3 > positions)
static void panel_register(ARegionType *region_type)
ModifierTypeInfo modifierType_ParticleSystem
static void free_data(ModifierData *md)
static void blend_read(BlendDataReader *reader, ModifierData *md)
static void panel_draw(const bContext *, Panel *panel)
static void required_data_mask(ModifierData *md, CustomData_MeshMasks *r_cddata_masks)
static void copy_data(const ModifierData *md, ModifierData *target, const int flag)
void modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
PanelType * modifier_panel_register(ARegionType *region_type, ModifierType type, PanelDrawFn draw)
PointerRNA * modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr)
void uiItemL(uiLayout *layout, const char *name, int icon)
void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname)
MeshRuntimeHandle * runtime
struct ParticleSystem * psys
struct Mesh * mesh_original