Blender  V3.3
Classes | Typedefs | Functions | Variables
MOD_laplaciansmooth.c File Reference
#include "BLI_utildefines.h"
#include "BLI_math.h"
#include "BLT_translation.h"
#include "DNA_defaults.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_screen_types.h"
#include "MEM_guardedalloc.h"
#include "BKE_context.h"
#include "BKE_deform.h"
#include "BKE_editmesh.h"
#include "BKE_lib_id.h"
#include "BKE_mesh.h"
#include "BKE_mesh_wrapper.h"
#include "BKE_modifier.h"
#include "BKE_screen.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "eigen_capi.h"

Go to the source code of this file.

Classes

struct  BLaplacianSystem
 

Typedefs

typedef struct BLaplacianSystem LaplacianSystem
 

Functions

static void required_data_mask (Object *ob, ModifierData *md, CustomData_MeshMasks *r_cddata_masks)
 
static bool is_disabled (const struct Scene *scene, ModifierData *md, bool useRenderParams)
 
static float compute_volume (const float center[3], float(*vertexCos)[3], const MPoly *mpoly, int polys_num, const MLoop *mloop)
 
static LaplacianSysteminit_laplacian_system (int a_numEdges, int a_numPolys, int a_numLoops, int a_numVerts)
 
static void delete_laplacian_system (LaplacianSystem *sys)
 
static void fill_laplacian_matrix (LaplacianSystem *sys)
 
static void init_data (ModifierData *md)
 
static void init_laplacian_matrix (LaplacianSystem *sys)
 
static void memset_laplacian_system (LaplacianSystem *sys, int val)
 
static void volume_preservation (LaplacianSystem *sys, float vini, float vend, short flag)
 
static void validate_solution (LaplacianSystem *sys, short flag, float lambda, float lambda_border)
 
static void laplaciansmoothModifier_do (LaplacianSmoothModifierData *smd, Object *ob, Mesh *mesh, float(*vertexCos)[3], int verts_num)
 
static bool is_disabled (const struct Scene *UNUSED(scene), ModifierData *md, bool UNUSED(useRenderParams))
 
static void required_data_mask (Object *UNUSED(ob), ModifierData *md, CustomData_MeshMasks *r_cddata_masks)
 
static void deformVerts (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh, float(*vertexCos)[3], int verts_num)
 
static void deformVertsEM (ModifierData *md, const ModifierEvalContext *ctx, struct BMEditMesh *editData, Mesh *mesh, float(*vertexCos)[3], int verts_num)
 
static void panel_draw (const bContext *UNUSED(C), Panel *panel)
 
static void panelRegister (ARegionType *region_type)
 

Variables

ModifierTypeInfo modifierType_LaplacianSmooth
 

Typedef Documentation

◆ LaplacianSystem

Definition at line 1 of file MOD_laplaciansmooth.c.

Function Documentation

◆ compute_volume()

static float compute_volume ( const float  center[3],
float(*)  vertexCos[3],
const MPoly mpoly,
int  polys_num,
const MLoop mloop 
)
static

◆ deformVerts()

static void deformVerts ( ModifierData md,
const ModifierEvalContext ctx,
Mesh mesh,
float(*)  vertexCos[3],
int  verts_num 
)
static

◆ deformVertsEM()

static void deformVertsEM ( ModifierData md,
const ModifierEvalContext ctx,
struct BMEditMesh editData,
Mesh mesh,
float(*)  vertexCos[3],
int  verts_num 
)
static

◆ delete_laplacian_system()

static void delete_laplacian_system ( LaplacianSystem sys)
static

◆ fill_laplacian_matrix()

static void fill_laplacian_matrix ( LaplacianSystem sys)
static

◆ init_data()

static void init_data ( ModifierData md)
static

◆ init_laplacian_matrix()

static void init_laplacian_matrix ( LaplacianSystem sys)
static

◆ init_laplacian_system()

static LaplacianSystem * init_laplacian_system ( int  a_numEdges,
int  a_numPolys,
int  a_numLoops,
int  a_numVerts 
)
static

◆ is_disabled() [1/2]

static bool is_disabled ( const struct Scene scene,
ModifierData md,
bool  useRenderParams 
)
static

◆ is_disabled() [2/2]

static bool is_disabled ( const struct Scene UNUSEDscene,
ModifierData md,
bool   UNUSEDuseRenderParams 
)
static

◆ laplaciansmoothModifier_do()

static void laplaciansmoothModifier_do ( LaplacianSmoothModifierData smd,
Object ob,
Mesh mesh,
float(*)  vertexCos[3],
int  verts_num 
)
static

◆ memset_laplacian_system()

static void memset_laplacian_system ( LaplacianSystem sys,
int  val 
)
static

◆ panel_draw()

static void panel_draw ( const bContext UNUSEDC,
Panel panel 
)
static

◆ panelRegister()

static void panelRegister ( ARegionType region_type)
static

◆ required_data_mask() [1/2]

static void required_data_mask ( Object ob,
ModifierData md,
CustomData_MeshMasks r_cddata_masks 
)
static

◆ required_data_mask() [2/2]

static void required_data_mask ( Object UNUSEDob,
ModifierData md,
CustomData_MeshMasks r_cddata_masks 
)
static

◆ validate_solution()

static void validate_solution ( LaplacianSystem sys,
short  flag,
float  lambda,
float  lambda_border 
)
static

◆ volume_preservation()

static void volume_preservation ( LaplacianSystem sys,
float  vini,
float  vend,
short  flag 
)
static

Variable Documentation

◆ modifierType_LaplacianSmooth

ModifierTypeInfo modifierType_LaplacianSmooth

Definition at line 610 of file MOD_laplaciansmooth.c.