![]() |
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.