Blender  V3.3
Classes | Functions
cdderivedmesh.c File Reference
#include "atomic_ops.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BKE_DerivedMesh.h"
#include "BKE_cdderivedmesh.h"
#include "BKE_curve.h"
#include "BKE_editmesh.h"
#include "BKE_mesh.h"
#include "BKE_mesh_mapping.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_pbvh.h"
#include "DNA_curve_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "MEM_guardedalloc.h"
#include <limits.h>
#include <math.h>
#include <string.h>

Go to the source code of this file.

Classes

struct  CDDerivedMesh
 

Functions

static int cdDM_getNumVerts (DerivedMesh *dm)
 
static int cdDM_getNumEdges (DerivedMesh *dm)
 
static int cdDM_getNumLoops (DerivedMesh *dm)
 
static int cdDM_getNumPolys (DerivedMesh *dm)
 
static void cdDM_copyVertArray (DerivedMesh *dm, MVert *r_vert)
 
static void cdDM_copyEdgeArray (DerivedMesh *dm, MEdge *r_edge)
 
static void cdDM_copyLoopArray (DerivedMesh *dm, MLoop *r_loop)
 
static void cdDM_copyPolyArray (DerivedMesh *dm, MPoly *r_poly)
 
static void cdDM_getVertCo (DerivedMesh *dm, int index, float r_co[3])
 
static void cdDM_getVertNo (DerivedMesh *dm, int index, float r_no[3])
 
static void cdDM_recalc_looptri (DerivedMesh *dm)
 
static void cdDM_free_internal (CDDerivedMesh *cddm)
 
static void cdDM_release (DerivedMesh *dm)
 
static CDDerivedMeshcdDM_create (const char *desc)
 
static DerivedMeshcdDM_from_mesh_ex (Mesh *mesh, eCDAllocType alloctype, const CustomData_MeshMasks *mask)
 
DerivedMeshCDDM_from_mesh (Mesh *mesh)
 
DerivedMeshCDDM_copy (DerivedMesh *source)
 

Detailed Description

Implementation of CDDerivedMesh. BKE_cdderivedmesh.h contains the function prototypes for this file.

Definition in file cdderivedmesh.c.

Function Documentation

◆ CDDM_copy()

DerivedMesh* CDDM_copy ( DerivedMesh source)

◆ cdDM_copyEdgeArray()

static void cdDM_copyEdgeArray ( DerivedMesh dm,
MEdge r_edge 
)
static

Definition at line 84 of file cdderivedmesh.c.

References CDDerivedMesh::medge, and DerivedMesh::numEdgeData.

Referenced by cdDM_create().

◆ cdDM_copyLoopArray()

static void cdDM_copyLoopArray ( DerivedMesh dm,
MLoop r_loop 
)
static

Definition at line 90 of file cdderivedmesh.c.

References CDDerivedMesh::mloop, and DerivedMesh::numLoopData.

Referenced by cdDM_create().

◆ cdDM_copyPolyArray()

static void cdDM_copyPolyArray ( DerivedMesh dm,
MPoly r_poly 
)
static

Definition at line 96 of file cdderivedmesh.c.

References CDDerivedMesh::mpoly, and DerivedMesh::numPolyData.

Referenced by cdDM_create().

◆ cdDM_copyVertArray()

static void cdDM_copyVertArray ( DerivedMesh dm,
MVert r_vert 
)
static

Definition at line 78 of file cdderivedmesh.c.

References CDDerivedMesh::mvert, and DerivedMesh::numVertData.

Referenced by cdDM_create().

◆ cdDM_create()

static CDDerivedMesh* cdDM_create ( const char *  desc)
static

◆ cdDM_free_internal()

static void cdDM_free_internal ( CDDerivedMesh cddm)
static

Definition at line 133 of file cdderivedmesh.c.

References MEM_freeN, CDDerivedMesh::pmap, and CDDerivedMesh::pmap_mem.

Referenced by cdDM_release().

◆ CDDM_from_mesh()

DerivedMesh* CDDM_from_mesh ( Mesh mesh)

◆ cdDM_from_mesh_ex()

static DerivedMesh* cdDM_from_mesh_ex ( Mesh mesh,
eCDAllocType  alloctype,
const CustomData_MeshMasks mask 
)
static

◆ cdDM_getNumEdges()

static int cdDM_getNumEdges ( DerivedMesh dm)
static

Definition at line 63 of file cdderivedmesh.c.

References DerivedMesh::numEdgeData.

Referenced by cdDM_create().

◆ cdDM_getNumLoops()

static int cdDM_getNumLoops ( DerivedMesh dm)
static

Definition at line 68 of file cdderivedmesh.c.

References DerivedMesh::numLoopData.

Referenced by cdDM_create().

◆ cdDM_getNumPolys()

static int cdDM_getNumPolys ( DerivedMesh dm)
static

Definition at line 73 of file cdderivedmesh.c.

References DerivedMesh::numPolyData.

Referenced by cdDM_create().

◆ cdDM_getNumVerts()

static int cdDM_getNumVerts ( DerivedMesh dm)
static

Definition at line 58 of file cdderivedmesh.c.

References DerivedMesh::numVertData.

Referenced by cdDM_create().

◆ cdDM_getVertCo()

static void cdDM_getVertCo ( DerivedMesh dm,
int  index,
float  r_co[3] 
)
static

Definition at line 102 of file cdderivedmesh.c.

References MVert::co, copy_v3_v3(), and CDDerivedMesh::mvert.

Referenced by cdDM_create().

◆ cdDM_getVertNo()

static void cdDM_getVertNo ( DerivedMesh dm,
int  index,
float  r_no[3] 
)
static

Definition at line 109 of file cdderivedmesh.c.

References copy_v3_v3(), and CDDerivedMesh::vert_normals.

Referenced by cdDM_create().

◆ cdDM_recalc_looptri()

static void cdDM_recalc_looptri ( DerivedMesh dm)
static

◆ cdDM_release()

static void cdDM_release ( DerivedMesh dm)
static

Definition at line 143 of file cdderivedmesh.c.

References cdDM_free_internal(), DM_release(), and MEM_freeN.

Referenced by cdDM_create().