Blender V4.3
BKE_subsurf.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4#pragma once
5
10/* struct DerivedMesh is used directly */
12
13/* Thread sync primitives used directly. */
14#include "BLI_ordered_edge.hh"
15#include "BLI_threads.h"
16#include "BLI_utildefines.h"
17#include "BLI_vector_set.hh"
18
19struct CCGEdge;
20struct CCGElem;
21struct CCGFace;
22struct CCGSubSurf;
23struct CCGVert;
24struct DerivedMesh;
25struct Mesh;
27struct Object;
28struct Scene;
29
30namespace blender::bke::pbvh {
31class Tree;
32}
34
35/**************************** External *****************************/
36
47
50 const Scene *scene,
51 float (*vertCos)[3],
53
54void subsurf_calculate_limit_positions(Mesh *mesh, float (*r_positions)[3]);
55
59int BKE_ccg_gridsize(int level);
60
65int BKE_ccg_factor(int low_level, int high_level);
66
68 /* indicates the grids have been sculpted on, so MDisps
69 * have to be updated */
71 /* indicates elements have been hidden or unhidden */
73};
74
75/**************************** Internal *****************************/
76
int BKE_ccg_gridsize(int level)
Definition CCGSubSurf.cc:25
MultiresModifiedFlags
@ MULTIRES_HIDDEN_MODIFIED
@ MULTIRES_COORDS_MODIFIED
void subsurf_calculate_limit_positions(Mesh *mesh, float(*r_positions)[3])
SubsurfFlags
@ SUBSURF_FOR_EDIT_MODE
@ SUBSURF_IN_EDIT_MODE
@ SUBSURF_USE_GPU_BACKEND
@ SUBSURF_ALLOC_PAINT_MASK
@ SUBSURF_USE_RENDER_PARAMS
@ SUBSURF_IS_FINAL_CALC
@ SUBSURF_IGNORE_SIMPLIFY
DerivedMesh * subsurf_make_derived_from_derived(DerivedMesh *dm, SubsurfModifierData *smd, const Scene *scene, float(*vertCos)[3], SubsurfFlags flags)
int BKE_ccg_factor(int low_level, int high_level)
Definition CCGSubSurf.cc:30
pthread_rwlock_t ThreadRWMutex
pthread_mutex_t ThreadMutex
Definition BLI_threads.h:83
#define ENUM_OPERATORS(_type, _max)
draw_view in_light_buf[] float
struct CCGDerivedMesh::@68 * faceMap
float(* orco)[3]
blender::VectorSet< blender::OrderedEdge > * ehash
MultiresModifierData * mmd
unsigned int numGrid
CCGEdge * edge
MultiresModifiedFlags modified_flags
ThreadMutex loops_cache_lock
unsigned int ** gridHidden
CCGVert * vert
struct CCGDerivedMesh::@67 * edgeMap
DerivedMesh dm
CCGFace * face
struct CCGDerivedMesh::@66 * vertMap
CCGSubSurf * ss
CCGFace ** gridFaces
CCGElem ** gridData
ThreadRWMutex origindex_cache_rwlock
struct CCGDerivedMesh::@69 multires