|
Blender
V2.93
|
#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 |
| DerivedMesh* CDDM_copy | ( | DerivedMesh * | source | ) |
Definition at line 329 of file cdderivedmesh.c.
References CD_ASSIGN, DerivedMesh::cd_flag, CD_MEDGE, CD_MLOOP, CD_MPOLY, CD_MVERT, CD_ORIGINDEX, cdDM_create(), CustomData_add_layer(), CustomData_copy_data(), CustomData_get_layer(), DerivedMesh::deformedOnly, DerivedMesh::dirty, CDDerivedMesh::dm, DM_DIRTY_TESS_CDLAYERS, DM_DupPolys(), DM_from_template(), DM_TYPE_CDDM, DerivedMesh::dupEdgeArray, DerivedMesh::dupVertArray, DerivedMesh::edgeData, DerivedMesh::getEdgeDataArray, DerivedMesh::getPolyDataArray, DerivedMesh::getVertDataArray, DerivedMesh::loopData, CDDerivedMesh::medge, CDDerivedMesh::mloop, CDDerivedMesh::mpoly, CDDerivedMesh::mvert, DerivedMesh::numEdgeData, DerivedMesh::numLoopData, DerivedMesh::numPolyData, DerivedMesh::numVertData, DerivedMesh::polyData, and DerivedMesh::vertData.
Referenced by multiresbake_create_loresdm().
|
static |
Definition at line 130 of file cdderivedmesh.c.
References CDDerivedMesh::medge, and DerivedMesh::numEdgeData.
Referenced by cdDM_create().
|
static |
Definition at line 142 of file cdderivedmesh.c.
References CDDerivedMesh::mloop, and DerivedMesh::numLoopData.
Referenced by cdDM_create().
|
static |
Definition at line 148 of file cdderivedmesh.c.
References CDDerivedMesh::mpoly, and DerivedMesh::numPolyData.
Referenced by cdDM_create().
|
static |
Definition at line 136 of file cdderivedmesh.c.
References CDDerivedMesh::mface, and DerivedMesh::numTessFaceData.
Referenced by cdDM_create().
|
static |
Definition at line 124 of file cdderivedmesh.c.
References CDDerivedMesh::mvert, and DerivedMesh::numVertData.
Referenced by cdDM_create().
|
static |
Definition at line 220 of file cdderivedmesh.c.
References cdDM_copyEdgeArray(), cdDM_copyLoopArray(), cdDM_copyPolyArray(), cdDM_copyTessFaceArray(), cdDM_copyVertArray(), cdDM_getEdge(), cdDM_getNumEdges(), cdDM_getNumLoops(), cdDM_getNumPolys(), cdDM_getNumTessFaces(), cdDM_getNumVerts(), cdDM_getPolyMap(), cdDM_getTessFace(), cdDM_getVert(), cdDM_getVertCo(), cdDM_getVertNo(), cdDM_recalc_looptri(), cdDM_release(), DerivedMesh::copyEdgeArray, DerivedMesh::copyLoopArray, DerivedMesh::copyPolyArray, DerivedMesh::copyTessFaceArray, DerivedMesh::copyVertArray, CDDerivedMesh::dm, DM_get_edge_data(), DM_get_edge_data_layer(), DM_get_tessface_data(), DM_get_tessface_data_layer(), DM_get_vert_data(), DM_get_vert_data_layer(), DerivedMesh::getEdge, DerivedMesh::getEdgeData, DerivedMesh::getEdgeDataArray, DerivedMesh::getNumEdges, DerivedMesh::getNumLoops, DerivedMesh::getNumPolys, DerivedMesh::getNumTessFaces, DerivedMesh::getNumVerts, DerivedMesh::getPolyMap, DerivedMesh::getTessFace, DerivedMesh::getTessFaceData, DerivedMesh::getTessFaceDataArray, DerivedMesh::getVert, DerivedMesh::getVertCo, DerivedMesh::getVertData, DerivedMesh::getVertDataArray, DerivedMesh::getVertNo, MEM_callocN, DerivedMesh::recalcLoopTri, and DerivedMesh::release.
Referenced by CDDM_copy(), and cdDM_from_mesh_ex().
|
static |
Definition at line 199 of file cdderivedmesh.c.
References MEM_freeN, CDDerivedMesh::pmap, and CDDerivedMesh::pmap_mem.
Referenced by cdDM_release().
| DerivedMesh* CDDM_from_mesh | ( | Mesh * | mesh | ) |
Definition at line 324 of file cdderivedmesh.c.
References CD_MASK_MESH, CD_REFERENCE, cdDM_from_mesh_ex(), and mesh.
Referenced by construct_param_handle_subsurfed(), multires_modifier_update_mdisps(), multiresbake_create_hiresdm(), multiresbake_create_loresdm(), shrinkwrapModifier_deform(), and subsurf_calculate_limit_positions().
|
static |
Definition at line 263 of file cdderivedmesh.c.
References BLI_assert, Mesh_Runtime::cd_dirty_vert, DerivedMesh::cd_flag, Mesh::cd_flag, CD_MASK_MDISPS, CD_MASK_NORMAL, CD_MASK_ORIGINDEX, CD_MEDGE, CD_MFACE, CD_MLOOP, CD_MPOLY, CD_MVERT, CD_ORIGINDEX, cdDM_create(), CustomData_get_layer(), CustomData_has_layer(), CustomData_merge(), DerivedMesh::deformedOnly, DerivedMesh::dirty, CDDerivedMesh::dm, DM_DIRTY_NORMALS, DM_init(), DM_TYPE_CDDM, DerivedMesh::edgeData, CustomData_MeshMasks::emask, DerivedMesh::faceData, Mesh::fdata, CustomData_MeshMasks::fmask, Mesh::ldata, CustomData_MeshMasks::lmask, DerivedMesh::loopData, mask(), CDDerivedMesh::medge, mesh, CDDerivedMesh::mface, CDDerivedMesh::mloop, CDDerivedMesh::mpoly, CDDerivedMesh::mvert, NULL, CustomData_MeshMasks::pmask, DerivedMesh::polyData, Mesh::runtime, Mesh::totedge, Mesh::totloop, Mesh::totpoly, Mesh::totvert, DerivedMesh::vertData, and CustomData_MeshMasks::vmask.
Referenced by CDDM_from_mesh().
|
static |
Definition at line 112 of file cdderivedmesh.c.
References CDDerivedMesh::medge.
Referenced by cdDM_create().
|
static |
Definition at line 79 of file cdderivedmesh.c.
References DerivedMesh::numEdgeData.
Referenced by cdDM_create().
|
static |
Definition at line 96 of file cdderivedmesh.c.
References DerivedMesh::numLoopData.
Referenced by cdDM_create().
|
static |
Definition at line 101 of file cdderivedmesh.c.
References DerivedMesh::numPolyData.
Referenced by cdDM_create().
|
static |
Definition at line 84 of file cdderivedmesh.c.
References DerivedMesh::numPolyData, and DerivedMesh::numTessFaceData.
Referenced by cdDM_create().
|
static |
Definition at line 74 of file cdderivedmesh.c.
References DerivedMesh::numVertData.
Referenced by cdDM_create().
|
static |
Definition at line 167 of file cdderivedmesh.c.
References BKE_mesh_vert_poly_map_create(), Object::data, Mesh::mloop, Mesh::mpoly, OB_MESH, CDDerivedMesh::pmap, CDDerivedMesh::pmap_mem, Mesh::totloop, Mesh::totpoly, Mesh::totvert, and Object::type.
Referenced by cdDM_create().
|
static |
Definition at line 118 of file cdderivedmesh.c.
References CDDerivedMesh::mface.
Referenced by cdDM_create().
|
static |
Definition at line 106 of file cdderivedmesh.c.
References CDDerivedMesh::mvert.
Referenced by cdDM_create().
|
static |
Definition at line 154 of file cdderivedmesh.c.
References MVert::co, copy_v3_v3(), and CDDerivedMesh::mvert.
Referenced by cdDM_create().
|
static |
Definition at line 161 of file cdderivedmesh.c.
References CDDerivedMesh::mvert, MVert::no, and normal_short_to_float_v3().
Referenced by cdDM_create().
|
static |
Definition at line 181 of file cdderivedmesh.c.
References DerivedMesh::array, DerivedMesh::array_wip, atomic_cas_ptr(), BKE_mesh_recalc_looptri(), BLI_assert, CDDerivedMesh::dm, DM_ensure_looptri_data(), DerivedMesh::looptris, CDDerivedMesh::mloop, CDDerivedMesh::mpoly, CDDerivedMesh::mvert, NULL, DerivedMesh::numLoopData, and DerivedMesh::numPolyData.
Referenced by cdDM_create().
|
static |
Definition at line 209 of file cdderivedmesh.c.
References cdDM_free_internal(), DM_release(), and MEM_freeN.
Referenced by cdDM_create().