Blender V2.61 - r43446
|
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BKE_cdderivedmesh.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
#include "BKE_deform.h"
#include "MEM_guardedalloc.h"
#include "depsgraph_private.h"
#include "MOD_util.h"
Go to the source code of this file.
Functions | |
static void | initData (ModifierData *md) |
static void | copyData (ModifierData *md, ModifierData *target) |
static void | foreachObjectLink (ModifierData *md, Object *ob, void(*walk)(void *userData, Object *ob, Object **obpoin), void *userData) |
static void | updateDepgraph (ModifierData *md, DagForest *forest, struct Scene *UNUSED(scene), Object *UNUSED(ob), DagNode *obNode) |
static DerivedMesh * | doMirrorOnAxis (MirrorModifierData *mmd, Object *ob, DerivedMesh *dm, int axis) |
static DerivedMesh * | mirrorModifier__doMirror (MirrorModifierData *mmd, Object *ob, DerivedMesh *dm) |
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_Mirror |
Definition in file MOD_mirror.c.
static DerivedMesh* applyModifier | ( | ModifierData * | md, |
Object * | ob, | ||
DerivedMesh * | derivedData, | ||
int | UNUSEDuseRenderParams, | ||
int | UNUSEDisFinalCalc | ||
) | [static] |
Definition at line 311 of file MOD_mirror.c.
References CDDM_calc_normals(), and mirrorModifier__doMirror().
Referenced by applyModifierEM().
static DerivedMesh* applyModifierEM | ( | ModifierData * | md, |
Object * | ob, | ||
struct EditMesh * | UNUSEDeditData, | ||
DerivedMesh * | derivedData | ||
) | [static] |
Definition at line 327 of file MOD_mirror.c.
References applyModifier().
static void copyData | ( | ModifierData * | md, |
ModifierData * | target | ||
) | [static] |
Definition at line 62 of file MOD_mirror.c.
References MirrorModifierData::flag, MirrorModifierData::mirror_ob, and MirrorModifierData::tolerance.
static DerivedMesh* doMirrorOnAxis | ( | MirrorModifierData * | mmd, |
Object * | ob, | ||
DerivedMesh * | dm, | ||
int | axis | ||
) | [static] |
Definition at line 97 of file MOD_mirror.c.
References ABS, CD_MDEFORMVERT, CD_MTFACE, CDDM_from_template(), CDDM_get_edge(), CDDM_get_face(), CDDM_get_vert(), CDDM_lower_num_edges(), CDDM_lower_num_faces(), CDDM_lower_num_verts(), MVert::co, co, copy_v3_v3(), defgroup_flip_map(), defvert_flip(), DM_copy_edge_data(), DM_copy_face_data(), DM_copy_vert_data(), DM_get_vert_data(), DM_swap_face_data(), Mesh::dvert, DerivedMesh::faceData, FALSE, MVert::flag, MirrorModifierData::flag, DerivedMesh::getEdge, DerivedMesh::getFace, DerivedMesh::getFaceData, DerivedMesh::getNumEdges, DerivedMesh::getNumFaces, DerivedMesh::getNumVerts, DerivedMesh::getVert, i, invert_m4_m4(), ME_VERT_MERGED, MEM_freeN(), MEM_mallocN(), MirrorModifierData::mirror_ob, MOD_MIR_MIRROR_U, MOD_MIR_MIRROR_V, MOD_MIR_NO_MERGE, MOD_MIR_VGROUP, mul_m4_v3(), mult_m4_m4m4(), NULL, Object::obmat, SWAP, test_index_face(), MirrorModifierData::tolerance, MTFace::uv, MFace::v1, MEdge::v1, MFace::v2, MEdge::v2, MFace::v3, and MFace::v4.
Referenced by mirrorModifier__doMirror().
static void foreachObjectLink | ( | ModifierData * | md, |
Object * | ob, | ||
void(*)(void *userData, Object *ob, Object **obpoin) | walk, | ||
void * | userData | ||
) | [static] |
Definition at line 72 of file MOD_mirror.c.
References MirrorModifierData::mirror_ob.
static void initData | ( | ModifierData * | md | ) | [static] |
Definition at line 53 of file MOD_mirror.c.
References MirrorModifierData::flag, MirrorModifierData::mirror_ob, MOD_MIR_AXIS_X, MOD_MIR_VGROUP, NULL, and MirrorModifierData::tolerance.
static DerivedMesh* mirrorModifier__doMirror | ( | MirrorModifierData * | mmd, |
Object * | ob, | ||
DerivedMesh * | dm | ||
) | [static] |
Definition at line 288 of file MOD_mirror.c.
References doMirrorOnAxis(), MirrorModifierData::flag, MOD_MIR_AXIS_X, MOD_MIR_AXIS_Y, MOD_MIR_AXIS_Z, and DerivedMesh::release.
Referenced by applyModifier().
static void updateDepgraph | ( | ModifierData * | md, |
DagForest * | forest, | ||
struct Scene * | UNUSEDscene, | ||
Object * | UNUSEDob, | ||
DagNode * | obNode | ||
) | [static] |
Definition at line 82 of file MOD_mirror.c.
References dag_add_relation(), dag_get_node(), DAG_RL_DATA_DATA, DAG_RL_OB_DATA, and MirrorModifierData::mirror_ob.
{ "Mirror", "MirrorModifierData", sizeof(MirrorModifierData), eModifierTypeType_Constructive, eModifierTypeFlag_AcceptsMesh | eModifierTypeFlag_SupportsMapping | eModifierTypeFlag_SupportsEditmode | eModifierTypeFlag_EnableInEditmode | eModifierTypeFlag_AcceptsCVs, copyData, NULL, NULL, NULL, NULL, applyModifier, applyModifierEM, initData, NULL, NULL, NULL, updateDepgraph, NULL, NULL, foreachObjectLink, NULL, NULL, }
Definition at line 335 of file MOD_mirror.c.