Blender V2.61 - r43446
|
Go to the source code of this file.
Classes | |
struct | SpaceTransform |
struct | ShrinkwrapCalcData |
Defines | |
#define | space_transform_setup(data, local, target) space_transform_from_matrixs(data, (local)->obmat, (target)->obmat) |
#define | NULL_ShrinkwrapCalcData {NULL, } |
#define | NULL_BVHTreeFromMesh {NULL, } |
#define | NULL_BVHTreeRayHit {NULL, } |
#define | NULL_BVHTreeNearest {0, } |
Typedefs | |
typedef struct SpaceTransform | SpaceTransform |
typedef struct ShrinkwrapCalcData | ShrinkwrapCalcData |
Functions | |
struct DerivedMesh * | object_get_derived_final (struct Object *ob) |
void | space_transform_from_matrixs (struct SpaceTransform *data, float local[4][4], float target[4][4]) |
void | space_transform_apply (const struct SpaceTransform *data, float *co) |
void | space_transform_invert (const struct SpaceTransform *data, float *co) |
void | shrinkwrapModifier_deform (struct ShrinkwrapModifierData *smd, struct Object *ob, struct DerivedMesh *dm, float(*vertexCos)[3], int numVerts) |
int | normal_projection_project_vertex (char options, const float *vert, const float *dir, const SpaceTransform *transf, BVHTree *tree, BVHTreeRayHit *hit, BVHTree_RayCastCallback callback, void *userdata) |
Definition in file BKE_shrinkwrap.h.
#define NULL_BVHTreeFromMesh {NULL, } |
Definition at line 143 of file BKE_shrinkwrap.h.
Referenced by followtrack_evaluate(), get_vert2geom_distance(), shrinkwrap_calc_nearest_surface_point(), shrinkwrap_calc_nearest_vertex(), and shrinkwrap_calc_normal_projection().
#define NULL_BVHTreeNearest {0, } |
Definition at line 145 of file BKE_shrinkwrap.h.
Referenced by get_vert2geom_distance(), shrinkwrap_calc_nearest_surface_point(), and shrinkwrap_calc_nearest_vertex().
#define NULL_BVHTreeRayHit {NULL, } |
Definition at line 144 of file BKE_shrinkwrap.h.
#define NULL_ShrinkwrapCalcData {NULL, } |
Definition at line 142 of file BKE_shrinkwrap.h.
Referenced by shrinkwrapModifier_deform().
#define space_transform_setup | ( | data, | |
local, | |||
target | |||
) | space_transform_from_matrixs(data, (local)->obmat, (target)->obmat) |
Definition at line 79 of file BKE_shrinkwrap.h.
Referenced by applyModifier(), shrinkwrap_calc_normal_projection(), and shrinkwrapModifier_deform().
typedef struct ShrinkwrapCalcData ShrinkwrapCalcData |
typedef struct SpaceTransform SpaceTransform |
int normal_projection_project_vertex | ( | char | options, |
const float * | vert, | ||
const float * | dir, | ||
const SpaceTransform * | transf, | ||
BVHTree * | tree, | ||
BVHTreeRayHit * | hit, | ||
BVHTree_RayCastCallback | callback, | ||
void * | userdata | ||
) |
Definition at line 217 of file shrinkwrap.c.
References BLI_bvhtree_ray_cast(), BVHTreeRayHit::co, co, copy_v3_v3(), BVHTreeRayHit::dist, dot(), dot_v3v3(), FALSE, BVHTreeRayHit::index, len_v3v3(), mat4_to_scale(), MOD_SHRINKWRAP_CULL_TARGET_BACKFACE, MOD_SHRINKWRAP_CULL_TARGET_FRONTFACE, BVHTreeRayHit::no, space_transform_apply(), space_transform_apply_normal(), space_transform_invert(), space_transform_invert_normal(), and TRUE.
Referenced by shrinkwrap_calc_normal_projection(), and shrinkwrap_get_tarmat().
struct DerivedMesh* object_get_derived_final | ( | struct Object * | ob | ) | [read] |
Definition at line 89 of file shrinkwrap.c.
References BKE_mesh_end_editmesh(), BKE_mesh_get_editmesh(), Object::data, Object::derivedFinal, and EditMesh::derivedFinal.
Referenced by shrinkwrap_calc_normal_projection(), shrinkwrap_get_tarmat(), and shrinkwrapModifier_deform().
void shrinkwrapModifier_deform | ( | struct ShrinkwrapModifierData * | smd, |
struct Object * | ob, | ||
struct DerivedMesh * | dm, | ||
float(*) | vertexCos[3], | ||
int | numVerts | ||
) |
Definition at line 492 of file shrinkwrap.c.
References assert, ShrinkwrapModifierData::auxTarget, BENCH, CD_MDEFORMVERT, CD_MVERT, defgroup_name_index(), ShrinkwrapCalcData::dvert, SubsurfModifierData::emCache, FALSE, DerivedMesh::getNumVerts, DerivedMesh::getVertDataArray, ShrinkwrapModifierData::keepDist, ShrinkwrapCalcData::keepDist, lattice_get_deform_verts(), SubsurfModifierData::levels, ShrinkwrapCalcData::local2target, SubsurfModifierData::mCache, ME_CC_SUBSURF, MOD_SHRINKWRAP_NEAREST_SURFACE, MOD_SHRINKWRAP_NEAREST_VERTEX, MOD_SHRINKWRAP_PROJECT, Object::mode, NULL, NULL_ShrinkwrapCalcData, ShrinkwrapCalcData::numVerts, ShrinkwrapCalcData::ob, OB_LATTICE, OB_MODE_EDIT, object_get_derived_final(), DerivedMesh::release, ShrinkwrapModifierData::shrinkType, shrinkwrap_calc_nearest_surface_point(), shrinkwrap_calc_nearest_vertex(), shrinkwrap_calc_normal_projection(), ShrinkwrapCalcData::smd, space_transform_setup, SubsurfModifierData::subdivType, subsurf_make_derived_from_derived(), ShrinkwrapModifierData::subsurfLevels, ShrinkwrapCalcData::target, ShrinkwrapModifierData::target, Object::type, ShrinkwrapCalcData::vert, ShrinkwrapCalcData::vertexCos, ShrinkwrapCalcData::vgroup, and ShrinkwrapModifierData::vgroup_name.
Referenced by deformVerts(), and deformVertsEM().
void space_transform_apply | ( | const struct SpaceTransform * | data, |
float * | co | ||
) |
void space_transform_from_matrixs | ( | struct SpaceTransform * | data, |
float | local[4][4], | ||
float | target[4][4] | ||
) |
Definition at line 104 of file shrinkwrap.c.
References invert_m4_m4(), SpaceTransform::local2target, mul_serie_m4(), NULL, and SpaceTransform::target2local.
Referenced by shrinkwrap_get_tarmat(), and SimpleDeformModifier_do().
void space_transform_invert | ( | const struct SpaceTransform * | data, |
float * | co | ||
) |