Blender V4.3
lattice_deform.cc File Reference
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include "MEM_guardedalloc.h"
#include "BLI_math_matrix.h"
#include "BLI_math_vector.h"
#include "BLI_simd.hh"
#include "BLI_task.h"
#include "BLI_utildefines.h"
#include "DNA_curve_types.h"
#include "DNA_lattice_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "BKE_curve.hh"
#include "BKE_displist.h"
#include "BKE_editmesh.hh"
#include "BKE_key.hh"
#include "BKE_lattice.hh"
#include "BKE_modifier.hh"
#include "BKE_object.hh"
#include "BKE_object_types.hh"
#include "BKE_deform.hh"

Go to the source code of this file.

Classes

struct  LatticeDeformData
 
struct  LatticeDeformUserdata
 

Functions

Lattice Deform API
LatticeDeformDataBKE_lattice_deform_data_create (const Object *oblatt, const Object *ob)
 
void BKE_lattice_deform_data_eval_co (LatticeDeformData *lattice_deform_data, float co[3], float weight)
 
void BKE_lattice_deform_data_destroy (LatticeDeformData *lattice_deform_data)
 
Lattice Deform #BKE_lattice_deform_coords API

BKE_lattice_deform_coords and related functions.

static void lattice_deform_vert_with_dvert (const LatticeDeformUserdata *data, const int index, const MDeformVert *dvert)
 
static void lattice_deform_vert_task (void *__restrict userdata, const int index, const TaskParallelTLS *__restrict)
 
static void lattice_vert_task_editmesh (void *__restrict userdata, MempoolIterData *iter, const TaskParallelTLS *__restrict)
 
static void lattice_vert_task_editmesh_no_dvert (void *__restrict userdata, MempoolIterData *iter, const TaskParallelTLS *__restrict)
 
static void lattice_deform_coords_impl (const Object *ob_lattice, const Object *ob_target, float(*vert_coords)[3], const int vert_coords_len, const short flag, const char *defgrp_name, const float fac, const Mesh *me_target, const BMEditMesh *em_target)
 
void BKE_lattice_deform_coords (const Object *ob_lattice, const Object *ob_target, float(*vert_coords)[3], const int vert_coords_len, const short flag, const char *defgrp_name, float fac)
 
void BKE_lattice_deform_coords_with_mesh (const Object *ob_lattice, const Object *ob_target, float(*vert_coords)[3], const int vert_coords_len, const short flag, const char *defgrp_name, const float fac, const Mesh *me_target)
 
void BKE_lattice_deform_coords_with_editmesh (const Object *ob_lattice, const Object *ob_target, float(*vert_coords)[3], const int vert_coords_len, const short flag, const char *defgrp_name, const float fac, const BMEditMesh *em_target)
 

Detailed Description

Deform coordinates by a lattice object (used by modifier).

Definition in file lattice_deform.cc.

Function Documentation

◆ BKE_lattice_deform_coords()

void BKE_lattice_deform_coords ( const Object * ob_lattice,
const Object * ob_target,
float(*) vert_coords[3],
const int vert_coords_len,
const short flag,
const char * defgrp_name,
float fac )

Definition at line 417 of file lattice_deform.cc.

References flag, and lattice_deform_coords_impl().

Referenced by BKE_lattice_resize(), and BKE_mball_data_update().

◆ BKE_lattice_deform_coords_with_editmesh()

void BKE_lattice_deform_coords_with_editmesh ( const Object * ob_lattice,
const Object * ob_target,
float(*) vert_coords[3],
const int vert_coords_len,
const short flag,
const char * defgrp_name,
const float fac,
const BMEditMesh * em_target )

Definition at line 456 of file lattice_deform.cc.

References flag, and lattice_deform_coords_impl().

Referenced by deform_verts_EM().

◆ BKE_lattice_deform_coords_with_mesh()

void BKE_lattice_deform_coords_with_mesh ( const Object * ob_lattice,
const Object * ob_target,
float(*) vert_coords[3],
const int vert_coords_len,
const short flag,
const char * defgrp_name,
const float fac,
const Mesh * me_target )

Definition at line 436 of file lattice_deform.cc.

References flag, and lattice_deform_coords_impl().

Referenced by deform_verts().

◆ BKE_lattice_deform_data_create()

◆ BKE_lattice_deform_data_destroy()

void BKE_lattice_deform_data_destroy ( LatticeDeformData * lattice_deform_data)

◆ BKE_lattice_deform_data_eval_co()

◆ lattice_deform_coords_impl()

◆ lattice_deform_vert_task()

static void lattice_deform_vert_task ( void *__restrict userdata,
const int index,
const TaskParallelTLS * __restrict )
static

Definition at line 307 of file lattice_deform.cc.

References lattice_deform_vert_with_dvert().

Referenced by lattice_deform_coords_impl().

◆ lattice_deform_vert_with_dvert()

static void lattice_deform_vert_with_dvert ( const LatticeDeformUserdata * data,
const int index,
const MDeformVert * dvert )
static

◆ lattice_vert_task_editmesh()

static void lattice_vert_task_editmesh ( void *__restrict userdata,
MempoolIterData * iter,
const TaskParallelTLS * __restrict )
static

◆ lattice_vert_task_editmesh_no_dvert()

static void lattice_vert_task_editmesh_no_dvert ( void *__restrict userdata,
MempoolIterData * iter,
const TaskParallelTLS * __restrict )
static

Definition at line 326 of file lattice_deform.cc.

References BM_elem_index_get, lattice_deform_vert_with_dvert(), and v.

Referenced by lattice_deform_coords_impl().