Blender  V3.3
Classes
lattice_deform.c File Reference
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BLI_simd.h"
#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.h"
#include "BKE_displist.h"
#include "BKE_editmesh.h"
#include "BKE_key.h"
#include "BKE_lattice.h"
#include "BKE_modifier.h"
#include "BKE_object.h"
#include "BKE_deform.h"

Go to the source code of this file.

Classes

struct  LatticeDeformData
 
struct  LatticeDeformUserdata
 

Lattice Deform API

typedef struct LatticeDeformData LatticeDeformData
 
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.

typedef struct LatticeDeformUserdata LatticeDeformUserdata
 
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 UNUSED(tls))
 
static void lattice_vert_task_editmesh (void *__restrict userdata, MempoolIterData *iter, const TaskParallelTLS *__restrict UNUSED(tls))
 
static void lattice_vert_task_editmesh_no_dvert (void *__restrict userdata, MempoolIterData *iter, const TaskParallelTLS *__restrict UNUSED(tls))
 
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, 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 struct Object *ob_lattice, const struct Object *ob_target, float(*vert_coords)[3], const int vert_coords_len, const short flag, const char *defgrp_name, const float fac, struct BMEditMesh *em_target)
 

Detailed Description

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

Definition in file lattice_deform.c.

Typedef Documentation

◆ LatticeDeformData

◆ LatticeDeformUserdata

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 411 of file lattice_deform.c.

References lattice_deform_coords_impl(), and NULL.

◆ BKE_lattice_deform_coords_with_editmesh()

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

Definition at line 443 of file lattice_deform.c.

References lattice_deform_coords_impl(), and NULL.

Referenced by deformVertsEM().

◆ 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 423 of file lattice_deform.c.

References lattice_deform_coords_impl(), and NULL.

◆ BKE_lattice_deform_data_create()

LatticeDeformData* BKE_lattice_deform_data_create ( const Object oblatt,
const Object ob 
)

◆ BKE_lattice_deform_data_destroy()

void BKE_lattice_deform_data_destroy ( LatticeDeformData lattice_deform_data)

◆ BKE_lattice_deform_data_eval_co()

void BKE_lattice_deform_data_eval_co ( LatticeDeformData lattice_deform_data,
float  co[3],
float  weight 
)

◆ lattice_deform_coords_impl()

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,
BMEditMesh em_target 
)
static

◆ lattice_deform_vert_task()

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

Definition at line 299 of file lattice_deform.c.

References data, lattice_deform_vert_with_dvert(), and NULL.

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   UNUSEDtls 
)
static

◆ lattice_vert_task_editmesh_no_dvert()

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

Definition at line 317 of file lattice_deform.c.

References BM_elem_index_get, data, lattice_deform_vert_with_dvert(), NULL, and v.

Referenced by lattice_deform_coords_impl().