Blender V5.0
blender::bke::subdiv::Settings Struct Reference

#include <BKE_subdiv.hh>

Public Attributes

bool is_simple
bool is_adaptive
int level
bool use_creases
VtxBoundaryInterpolation vtx_boundary_interpolation
FVarLinearInterpolation fvar_linear_interpolation

Detailed Description

Definition at line 43 of file BKE_subdiv.hh.

Member Data Documentation

◆ fvar_linear_interpolation

◆ is_adaptive

bool blender::bke::subdiv::Settings::is_adaptive

This refers to an adaptive isolation when creating patches for the subdivided surface.

When is set to false (aka uniform subdivision) fixed depth of isolation is used, which allows to iteratively add more subdivisions (uniform subdivision level 2 = uniform subdivision level 1 + uniform subdivision level 1). Uniform subdivisions will progressively go to a limit surface.

Adaptive isolation generates patches at a limit surface (aka as if infinite number of uniform subdivisions have been applied). This setting allows to have matches normal and tangent space the same independent of number of subdivisions set in modifier settings.

Definition at line 65 of file BKE_subdiv.hh.

Referenced by BKE_multires_subdiv_settings_init(), BKE_subsurf_modifier_settings_init(), blender::bke::subdiv::calculate_limit_positions(), blender::bke::subdiv::new_from_converter(), blender::bke::subdiv::settings_equal(), and shrinkwrap_calc_subdivided_positions().

◆ is_simple

bool blender::bke::subdiv::Settings::is_simple

Simple subdivision corresponds to "Simple" option in the interface. When it's enabled, the subdivided mesh is not "smoothed": new vertices are added uniformly on the existing surface.

On an OpenSubdiv implementation level this translates to a subdivision scheme: when is_simple is true OSD_SCHEME_BILINEAR is used, otherwise OSD_SCHEME_CATMARK.

Definition at line 51 of file BKE_subdiv.hh.

Referenced by BKE_multires_subdiv_settings_init(), BKE_subsurf_modifier_settings_init(), blender::bke::subdiv::calculate_limit_positions(), blender::draw::DRW_subdivide_loose_geom(), blender::bke::subdiv::get_edge_sharpness(), blender::bke::subdiv::get_scheme_type(), blender::bke::subdiv::is_infinite_sharp_vertex(), multires_reshape_smooth_object_grids_with_details(), blender::bke::subdiv::settings_equal(), shrinkwrap_calc_subdivided_positions(), and blender::bke::subdiv::subdiv_mesh_vertex_of_loose_edge().

◆ level

int blender::bke::subdiv::Settings::level

◆ use_creases

◆ vtx_boundary_interpolation


The documentation for this struct was generated from the following file: