Blender V2.61 - r43446
|
#include "DNA_meshdata_types.h"
#include "DNA_camera_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BLI_math.h"
#include "BLI_string.h"
#include "BLI_uvproject.h"
#include "BLI_utildefines.h"
#include "BKE_camera.h"
#include "BKE_DerivedMesh.h"
#include "MOD_modifiertypes.h"
#include "MOD_util.h"
#include "MEM_guardedalloc.h"
#include "depsgraph_private.h"
Go to the source code of this file.
Classes | |
struct | Projector |
Typedefs | |
typedef struct Projector | Projector |
Functions | |
static void | initData (ModifierData *md) |
static void | copyData (ModifierData *md, ModifierData *target) |
static CustomDataMask | requiredDataMask (Object *UNUSED(ob), ModifierData *UNUSED(md)) |
static void | foreachObjectLink (ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData) |
static void | foreachIDLink (ModifierData *md, Object *ob, IDWalkFunc walk, void *userData) |
static void | updateDepgraph (ModifierData *md, DagForest *forest, struct Scene *UNUSED(scene), Object *UNUSED(ob), DagNode *obNode) |
static DerivedMesh * | uvprojectModifier_do (UVProjectModifierData *umd, 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_UVProject |
Definition in file MOD_uvproject.c.
static DerivedMesh* applyModifier | ( | ModifierData * | md, |
Object * | ob, | ||
DerivedMesh * | derivedData, | ||
int | UNUSEDuseRenderParams, | ||
int | UNUSEDisFinalCalc | ||
) | [static] |
Definition at line 375 of file MOD_uvproject.c.
References uvprojectModifier_do().
Referenced by applyModifierEM().
static DerivedMesh* applyModifierEM | ( | ModifierData * | md, |
Object * | ob, | ||
struct EditMesh * | UNUSEDeditData, | ||
DerivedMesh * | derivedData | ||
) | [static] |
Definition at line 388 of file MOD_uvproject.c.
References applyModifier().
static void copyData | ( | ModifierData * | md, |
ModifierData * | target | ||
) | [static] |
Definition at line 72 of file MOD_uvproject.c.
References UVProjectModifierData::aspectx, UVProjectModifierData::aspecty, BLI_strncpy(), UVProjectModifierData::flags, i, UVProjectModifierData::image, MOD_UVPROJECT_MAXPROJECTORS, UVProjectModifierData::num_projectors, UVProjectModifierData::projectors, UVProjectModifierData::scalex, UVProjectModifierData::scaley, and UVProjectModifierData::uvlayer_name.
static void foreachIDLink | ( | ModifierData * | md, |
Object * | ob, | ||
IDWalkFunc | walk, | ||
void * | userData | ||
) | [static] |
Definition at line 110 of file MOD_uvproject.c.
References foreachObjectLink(), and UVProjectModifierData::image.
static void foreachObjectLink | ( | ModifierData * | md, |
Object * | ob, | ||
ObjectWalkFunc | walk, | ||
void * | userData | ||
) | [static] |
Definition at line 100 of file MOD_uvproject.c.
References i, MOD_UVPROJECT_MAXPROJECTORS, and UVProjectModifierData::projectors.
Referenced by foreachIDLink().
static void initData | ( | ModifierData * | md | ) | [static] |
Definition at line 58 of file MOD_uvproject.c.
References UVProjectModifierData::aspectx, UVProjectModifierData::aspecty, UVProjectModifierData::flags, i, UVProjectModifierData::image, MOD_UVPROJECT_MAXPROJECTORS, NULL, UVProjectModifierData::num_projectors, UVProjectModifierData::projectors, UVProjectModifierData::scalex, and UVProjectModifierData::scaley.
static CustomDataMask requiredDataMask | ( | Object * | UNUSEDob, |
ModifierData * | UNUSEDmd | ||
) | [static] |
Definition at line 90 of file MOD_uvproject.c.
References CD_MASK_MTFACE.
static void updateDepgraph | ( | ModifierData * | md, |
DagForest * | forest, | ||
struct Scene * | UNUSEDscene, | ||
Object * | UNUSEDob, | ||
DagNode * | obNode | ||
) | [static] |
Definition at line 121 of file MOD_uvproject.c.
References dag_add_relation(), dag_get_node(), DAG_RL_DATA_DATA, DAG_RL_OB_DATA, i, UVProjectModifierData::num_projectors, and UVProjectModifierData::projectors.
static DerivedMesh* uvprojectModifier_do | ( | UVProjectModifierData * | umd, |
Object * | ob, | ||
DerivedMesh * | dm | ||
) | [static] |
Definition at line 146 of file MOD_uvproject.c.
References UVProjectModifierData::aspectx, UVProjectModifierData::aspecty, CAM_PANORAMA, CAM_PERSP, camera_sensor_fit(), CAMERA_SENSOR_FIT_HOR, camera_sensor_size(), CD_MTFACE, Camera::clipend, Camera::clipsta, co, copy_m4_m4(), copy_v2_v2(), copy_v3_v3(), CustomData_duplicate_referenced_layer_named(), CustomData_has_layer(), CustomData_validate_layer_name(), Object::data, dot_v3v3(), DerivedMesh::faceData, Camera::flag, UVProjectModifierData::flags, DerivedMesh::getFaceArray, DerivedMesh::getNumFaces, DerivedMesh::getNumVerts, DerivedMesh::getVertCos, i, UVProjectModifierData::image, invert_m4_m4(), Camera::lens, MAX_CUSTOMDATA_LAYER_NAME, MEM_callocN(), MEM_freeN(), MOD_UVPROJECT_MAXPROJECTORS, MOD_UVPROJECT_OVERRIDEIMAGE, mul_m4_v3(), mul_mat3_m4_fl(), mul_mat3_m4_v3(), mul_project_m4_v3(), mult_m4_m4m4(), Projector::normal, normal_quad_v3(), normal_tri_v3(), NULL, UVProjectModifierData::num_projectors, Projector::ob, OB_CAMERA, Object::obmat, Camera::ortho_scale, orthographic_m4(), perspective_m4(), project_camera_info(), project_camera_info_scale(), project_from_camera(), UVProjectModifierData::projectors, Projector::projmat, UVProjectModifierData::scalex, UVProjectModifierData::scaley, Camera::sensor_fit, Camera::sensor_x, Camera::sensor_y, Camera::shiftx, Camera::shifty, MTFace::tpage, Camera::type, Object::type, Projector::uci, unit_m4(), MTFace::uv, UVProjectModifierData::uvlayer_name, and MFace::v4.
Referenced by applyModifier().
{ "UVProject", "UVProjectModifierData", sizeof(UVProjectModifierData), eModifierTypeType_NonGeometrical, eModifierTypeFlag_AcceptsMesh | eModifierTypeFlag_SupportsMapping | eModifierTypeFlag_SupportsEditmode | eModifierTypeFlag_EnableInEditmode, copyData, NULL, NULL, NULL, NULL, applyModifier, applyModifierEM, initData, requiredDataMask, NULL, NULL, updateDepgraph, NULL, NULL, foreachObjectLink, foreachIDLink, NULL, }
Definition at line 396 of file MOD_uvproject.c.