Blender V2.61 - r43446
|
#include "DNA_meshdata_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BLI_listbase.h"
#include "BLI_rand.h"
#include "BLI_utildefines.h"
#include "BKE_cdderivedmesh.h"
#include "BKE_lattice.h"
#include "BKE_modifier.h"
#include "BKE_particle.h"
#include "BKE_pointcache.h"
#include "MOD_util.h"
#include "depsgraph_private.h"
Go to the source code of this file.
Functions | |
static void | initData (ModifierData *md) |
static void | copyData (ModifierData *md, ModifierData *target) |
static int | dependsOnTime (ModifierData *UNUSED(md)) |
static void | updateDepgraph (ModifierData *md, DagForest *forest, struct Scene *UNUSED(scene), Object *UNUSED(ob), DagNode *obNode) |
static void | foreachObjectLink (ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData) |
static DerivedMesh * | applyModifier (ModifierData *md, Object *ob, DerivedMesh *derivedData, int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) |
static DerivedMesh * | applyModifierEM (ModifierData *md, Object *ob, struct EditMesh *UNUSED(editData), DerivedMesh *derivedData) |
Variables | |
ModifierTypeInfo | modifierType_ParticleInstance |
Definition in file MOD_particleinstance.c.
static DerivedMesh* applyModifier | ( | ModifierData * | md, |
Object * | ob, | ||
DerivedMesh * | derivedData, | ||
int | UNUSEDuseRenderParams, | ||
int | UNUSEDisFinalCalc | ||
) | [static] |
Definition at line 108 of file MOD_particleinstance.c.
References add_v3_v3(), ParticleData::alive, ParticleInstanceModifierData::axis, axis_angle_to_quat(), BLI_findlink(), BLI_frand(), BLI_srandom(), CDDM_calc_edges(), CDDM_calc_normals(), CDDM_from_template(), ParticleSystem::child, ParticleSettings::childtype, ParticleKey::co, MVert::co, copy_v3_v3(), cross(), cross_v3_v3v3(), DM_copy_face_data(), DM_copy_vert_data(), end_latt_deform(), eParticleInstanceFlag_Alive, eParticleInstanceFlag_Children, eParticleInstanceFlag_Dead, eParticleInstanceFlag_KeepShape, eParticleInstanceFlag_Parents, eParticleInstanceFlag_Path, eParticleInstanceFlag_Unborn, eParticleInstanceFlag_UseSize, PointCache::flag, ParticleSystem::flag, ParticleInstanceModifierData::flag, DerivedMesh::getFaceArray, DerivedMesh::getMinMax, DerivedMesh::getNumEdges, DerivedMesh::getNumFaces, DerivedMesh::getNumVerts, DerivedMesh::getVertArray, i, INIT_MINMAX, ParticleSystem::lattice, MEM_callocN(), MEM_freeN(), Mesh::mface, mul_qt_v3(), mul_v3_fl(), Mesh::mvert, normalize_v3(), NULL, ParticleSimulationData::ob, ParticleInstanceModifierData::ob, p, PARS_ALIVE, PARS_DEAD, PARS_UNBORN, ParticleSystem::part, PART_CHILD_PARTICLES, ParticleSystem::particles, Object::particlesystem, ParticleSystem::pointcache, ParticleInstanceModifierData::position, ParticleSimulationData::psmd, ParticleSimulationData::psys, ParticleInstanceModifierData::psys, psys_get_child_size(), psys_get_lattice(), psys_get_modifier(), psys_get_particle_on_path(), psys_get_particle_state(), PSYS_HAIR_DONE, PSYS_KEYED, PTCACHE_BAKED, ParticleInstanceModifierData::random_position, ParticleKey::rot, saacos(), ModifierData::scene, ParticleSimulationData::scene, ParticleSystem::seed, si, ParticleData::size, size(), state, ParticleKey::time, ParticleSystem::totchild, Mesh::totface, ParticleSystem::totpart, Mesh::totvert, Object::trackflag, MFace::v1, MFace::v2, MFace::v3, MFace::v4, and ParticleKey::vel.
Referenced by applyModifierEM().
static DerivedMesh* applyModifierEM | ( | ModifierData * | md, |
Object * | ob, | ||
struct EditMesh * | UNUSEDeditData, | ||
DerivedMesh * | derivedData | ||
) | [static] |
Definition at line 317 of file MOD_particleinstance.c.
References applyModifier().
static void copyData | ( | ModifierData * | md, |
ModifierData * | target | ||
) | [static] |
static int dependsOnTime | ( | ModifierData * | UNUSEDmd | ) | [static] |
Definition at line 80 of file MOD_particleinstance.c.
static void foreachObjectLink | ( | ModifierData * | md, |
Object * | ob, | ||
ObjectWalkFunc | walk, | ||
void * | userData | ||
) | [static] |
Definition at line 100 of file MOD_particleinstance.c.
References ParticleInstanceModifierData::ob.
static void initData | ( | ModifierData * | md | ) | [static] |
Definition at line 56 of file MOD_particleinstance.c.
References ParticleInstanceModifierData::axis, eParticleInstanceFlag_Alive, eParticleInstanceFlag_Dead, eParticleInstanceFlag_Parents, eParticleInstanceFlag_Unborn, ParticleInstanceModifierData::flag, ParticleInstanceModifierData::position, and ParticleInstanceModifierData::psys.
static void updateDepgraph | ( | ModifierData * | md, |
DagForest * | forest, | ||
struct Scene * | UNUSEDscene, | ||
Object * | UNUSEDob, | ||
DagNode * | obNode | ||
) | [static] |
Definition at line 84 of file MOD_particleinstance.c.
References dag_add_relation(), dag_get_node(), DAG_RL_DATA_DATA, DAG_RL_OB_DATA, and ParticleInstanceModifierData::ob.
{ "ParticleInstance", "ParticleInstanceModifierData", sizeof(ParticleInstanceModifierData), eModifierTypeType_Constructive, eModifierTypeFlag_AcceptsMesh | eModifierTypeFlag_SupportsMapping | eModifierTypeFlag_SupportsEditmode | eModifierTypeFlag_EnableInEditmode, copyData, NULL, NULL, NULL, NULL, applyModifier, applyModifierEM, initData, NULL, NULL, NULL, updateDepgraph, dependsOnTime, NULL, foreachObjectLink, NULL, NULL, }
Definition at line 325 of file MOD_particleinstance.c.