Blender V5.0
transform_convert_mesh.cc File Reference
#include "DNA_mesh_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_alloca.h"
#include "BLI_linklist_stack.h"
#include "BLI_math_geom.h"
#include "BLI_math_matrix.h"
#include "BLI_math_rotation.h"
#include "BLI_math_vector.h"
#include "BLI_memarena.h"
#include "BKE_context.hh"
#include "BKE_crazyspace.hh"
#include "BKE_editmesh.hh"
#include "BKE_mesh.hh"
#include "BKE_modifier.hh"
#include "BKE_scene.hh"
#include "ED_mesh.hh"
#include "ED_object.hh"
#include "DEG_depsgraph_query.hh"
#include "transform.hh"
#include "transform_orientations.hh"
#include "transform_snap.hh"
#include "transform_convert.hh"

Go to the source code of this file.

Classes

struct  blender::ed::transform::TransCustomData_PartialUpdate
struct  blender::ed::transform::PartialTypeState
struct  blender::ed::transform::TransCustomDataMesh
struct  blender::ed::transform::TransCustomDataMergeGroup
struct  blender::ed::transform::TransCustomDataLayer

Namespaces

namespace  blender
namespace  blender::ed
namespace  blender::ed::transform

Functions

CustomData Layer Correction Apply
static const floatblender::ed::transform::mesh_vert_orig_co_get (TransCustomDataLayer *tcld, BMVert *v)
static void blender::ed::transform::mesh_customdatacorrect_apply_vert (TransCustomDataLayer *tcld, TransDataBasic *td, TransCustomDataMergeGroup *merge_data, bool do_loop_mdisps)
static void blender::ed::transform::mesh_customdatacorrect_apply (TransDataContainer *tc, bool is_final)
CustomData Layer Correction Restore
static void blender::ed::transform::mesh_customdatacorrect_restore (TransInfo *t)
Island Creation
void blender::ed::transform::transform_convert_mesh_islands_calc (BMEditMesh *em, bool calc_single_islands, bool calc_island_center, bool calc_island_axismtx, TransIslandData *r_island_data)
void blender::ed::transform::transform_convert_mesh_islanddata_free (TransIslandData *island_data)
Connectivity Distance for Proportional Editing
static bool blender::ed::transform::bmesh_test_dist_add (BMVert *v0, BMVert *v1, BMVert *v2, float *dists, int *index, const float mtx[3][3])
static bool blender::ed::transform::bmesh_test_loose_edge (BMEdge *edge)
void blender::ed::transform::transform_convert_mesh_connectivity_distance (BMesh *bm, const float mtx[3][3], float *dists, int *index)
Crazy Space
void blender::ed::transform::transform_convert_mesh_crazyspace_detect (TransInfo *t, TransDataContainer *tc, BMEditMesh *em, TransMeshDataCrazySpace *r_crazyspace_data)
void blender::ed::transform::transform_convert_mesh_crazyspace_transdata_set (const float mtx[3][3], const float smtx[3][3], const float defmat[3][3], const float quat[4], TransData *r_td)
void blender::ed::transform::transform_convert_mesh_crazyspace_free (TransMeshDataCrazySpace *r_crazyspace_data)
Edit Mesh Verts Transform Creation
static void blender::ed::transform::mesh_transdata_center_copy (const TransIslandData *island_data, const int island_index, const float iloc[3], float r_center[3])
static void blender::ed::transform::VertsToTransData (TransInfo *t, TransData *td, TransDataExtension *tx, BMEditMesh *em, BMVert *eve, const TransIslandData *island_data, const int island_index)
static void blender::ed::transform::createTransEditVerts (bContext *, TransInfo *t)
Recalc Mesh Data (Partial Update)
static BMPartialUpdateblender::ed::transform::mesh_partial_ensure (TransInfo *t, TransDataContainer *tc, enum ePartialType partial_type)
static void blender::ed::transform::mesh_partial_types_calc (TransInfo *t, PartialTypeState *r_partial_state)
static void blender::ed::transform::mesh_partial_update (TransInfo *t, TransDataContainer *tc, const PartialTypeState *partial_state)
Recalc Mesh Data
static void blender::ed::transform::mesh_transdata_mirror_apply (TransDataContainer *tc)
static void blender::ed::transform::recalcData_mesh (TransInfo *t)
Special After Transform Mesh
static void blender::ed::transform::special_aftertrans_update__mesh (bContext *, TransInfo *t)
API for Vert Slide
Array< TransDataVertSlideVertblender::ed::transform::transform_mesh_vert_slide_data_create (const TransDataContainer *tc, Vector< float3 > &r_loc_dst_buffer)
API for Edge Slide
static bool blender::ed::transform::mesh_vert_is_inner (BMVert *v)
static bool blender::ed::transform::bm_loop_calc_opposite_co (const BMLoop *l_tmp, const float plane_no[3], float r_co[3])
static float3 blender::ed::transform::isect_face_dst (const BMLoop *l)
Array< TransDataEdgeSlideVertblender::ed::transform::transform_mesh_edge_slide_data_create (const TransDataContainer *tc, int *r_group_len)

Container TransCustomData Creation

#define PARTIAL_TYPE_MAX   2
enum  blender::ed::transform::ePartialType { blender::ed::transform::PARTIAL_NONE = -1 , blender::ed::transform::PARTIAL_TYPE_GROUP = 0 , blender::ed::transform::PARTIAL_TYPE_ALL = 1 }
static void blender::ed::transform::mesh_customdata_free_fn (TransInfo *t, TransDataContainer *tc, TransCustomData *custom_data)
static void blender::ed::transform::mesh_customdatacorrect_free (TransCustomDataLayer *tcld)
static TransCustomDataMeshblender::ed::transform::mesh_customdata_ensure (TransDataContainer *tc)
static void blender::ed::transform::mesh_customdata_free (TransCustomDataMesh *tcmd)

CustomData TransCustomDataLayer Creation

#define USE_FACE_SUBSTITUTE
#define FACE_SUBSTITUTE_INDEX   INT_MIN
static BMFaceblender::ed::transform::mesh_customdatacorrect_find_best_face_substitute (BMFace *f)
static void blender::ed::transform::mesh_customdatacorrect_face_substitute_set (TransCustomDataLayer *tcld, BMFace *f, BMFace *f_copy)
static BMFaceblender::ed::transform::mesh_customdatacorrect_face_substitute_get (BMFace *f_copy)
static void blender::ed::transform::mesh_customdatacorrect_init_vert (TransCustomDataLayer *tcld, TransDataBasic *td, const int index)
static void blender::ed::transform::mesh_customdatacorrect_init_container_generic (TransDataContainer *, TransCustomDataLayer *tcld)
static void blender::ed::transform::mesh_customdatacorrect_init_container_merge_group (TransDataContainer *tc, TransCustomDataLayer *tcld)
static TransCustomDataLayerblender::ed::transform::mesh_customdatacorrect_create_impl (TransDataContainer *tc, const bool use_merge_group)
static void blender::ed::transform::mesh_customdatacorrect_create (TransDataContainer *tc, const bool use_merge_group)
void blender::ed::transform::transform_convert_mesh_customdatacorrect_init (TransInfo *t)

TransDataMirror Creation

#define TRANSFORM_MAXDIST_MIRROR   0.00002f
static bool blender::ed::transform::is_in_quadrant_v3 (const float co[3], const int quadrant[3], const float epsilon)
void blender::ed::transform::transform_convert_mesh_mirrordata_calc (BMEditMesh *em, bool use_select, bool use_topology, const bool mirror_axis[3], TransMirrorData *r_mirror_data)
void blender::ed::transform::transform_convert_mesh_mirrordata_free (TransMirrorData *mirror_data)

Macro Definition Documentation

◆ FACE_SUBSTITUTE_INDEX

◆ PARTIAL_TYPE_MAX

#define PARTIAL_TYPE_MAX   2

Definition at line 83 of file transform_convert_mesh.cc.

◆ TRANSFORM_MAXDIST_MIRROR

#define TRANSFORM_MAXDIST_MIRROR   0.00002f

◆ USE_FACE_SUBSTITUTE

#define USE_FACE_SUBSTITUTE

Definition at line 176 of file transform_convert_mesh.cc.