Blender V5.0
subdiv_ccg_mask.cc File Reference
#include <cmath>
#include "BKE_subdiv_ccg.hh"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "BKE_customdata.hh"
#include "BKE_subdiv.hh"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Classes

struct  PolyCornerIndex
struct  GridPaintMaskData

Functions

static int mask_get_grid_and_coord (SubdivCCGMaskEvaluator *mask_evaluator, const int ptex_face_index, const float u, const float v, const GridPaintMask **r_mask_grid, float *grid_u, float *grid_v)
BLI_INLINE float read_mask_grid (const GridPaintMask *mask_grid, const float grid_u, const float grid_v)
static float eval_mask (SubdivCCGMaskEvaluator *mask_evaluator, const int ptex_face_index, const float u, const float v)
static void free_mask_data (SubdivCCGMaskEvaluator *mask_evaluator)
static int count_num_ptex_faces (const Mesh *mesh)
static void mask_data_init_mapping (SubdivCCGMaskEvaluator *mask_evaluator, const Mesh *mesh)
static void mask_init_data (SubdivCCGMaskEvaluator *mask_evaluator, const Mesh *mesh)
static void mask_init_functions (SubdivCCGMaskEvaluator *mask_evaluator)
bool BKE_subdiv_ccg_mask_init_from_paint (SubdivCCGMaskEvaluator *mask_evaluator, const Mesh *mesh)

Function Documentation

◆ BKE_subdiv_ccg_mask_init_from_paint()

bool BKE_subdiv_ccg_mask_init_from_paint ( SubdivCCGMaskEvaluator * mask_evaluator,
const Mesh * mesh )

Return true if mesh has mask and evaluator can be used.

Definition at line 153 of file subdiv_ccg_mask.cc.

References CD_GRID_PAINT_MASK, CustomData_get_layer(), mask_init_data(), mask_init_functions(), and SubdivCCGMaskEvaluator::user_data.

Referenced by BKE_subdiv_to_ccg_mesh().

◆ count_num_ptex_faces()

int count_num_ptex_faces ( const Mesh * mesh)
static

Definition at line 101 of file subdiv_ccg_mask.cc.

References faces.

Referenced by mask_data_init_mapping().

◆ eval_mask()

float eval_mask ( SubdivCCGMaskEvaluator * mask_evaluator,
const int ptex_face_index,
const float u,
const float v )
static

Definition at line 80 of file subdiv_ccg_mask.cc.

References mask_get_grid_and_coord(), read_mask_grid(), and v.

Referenced by mask_init_functions().

◆ free_mask_data()

void free_mask_data ( SubdivCCGMaskEvaluator * mask_evaluator)
static

Definition at line 91 of file subdiv_ccg_mask.cc.

References data, MEM_freeN(), and SubdivCCGMaskEvaluator::user_data.

Referenced by mask_init_functions().

◆ mask_data_init_mapping()

void mask_data_init_mapping ( SubdivCCGMaskEvaluator * mask_evaluator,
const Mesh * mesh )
static

◆ mask_get_grid_and_coord()

int mask_get_grid_and_coord ( SubdivCCGMaskEvaluator * mask_evaluator,
const int ptex_face_index,
const float u,
const float v,
const GridPaintMask ** r_mask_grid,
float * grid_u,
float * grid_v )
static

◆ mask_init_data()

void mask_init_data ( SubdivCCGMaskEvaluator * mask_evaluator,
const Mesh * mesh )
static

◆ mask_init_functions()

void mask_init_functions ( SubdivCCGMaskEvaluator * mask_evaluator)
static

◆ read_mask_grid()

BLI_INLINE float read_mask_grid ( const GridPaintMask * mask_grid,
const float grid_u,
const float grid_v )