|
Blender V5.0
|
#include <algorithm>#include <optional>#include "blender/attribute_convert.h"#include "blender/session.h"#include "blender/sync.h"#include "blender/util.h"#include "scene/camera.h"#include "scene/mesh.h"#include "scene/object.h"#include "scene/scene.h"#include "subd/split.h"#include "util/algorithm.h"#include "util/disjoint_set.h"#include "util/hash.h"#include "util/log.h"#include "util/math.h"#include "BKE_anonymous_attribute_id.hh"#include "BKE_attribute.hh"#include "BKE_attribute_math.hh"#include "BKE_customdata.hh"#include "BKE_mesh.hh"Go to the source code of this file.
Classes | |
| class | VertexAverageComparator |
Functions | |
| static CCL_NAMESPACE_BEGIN void | attr_create_motion_from_velocity (Mesh *mesh, const blender::Span< blender::float3 > b_attr, const float motion_scale) |
| static void | attr_create_generic (Scene *scene, Mesh *mesh, const ::Mesh &b_mesh, const bool subdivision, const bool need_motion, const float motion_scale) |
| static set< ustring > | get_blender_uv_names (const ::Mesh &b_mesh) |
| static void | attr_create_uv_map (Scene *scene, Mesh *mesh, const ::Mesh &b_mesh, const set< ustring > &blender_uv_names) |
| static void | attr_create_subd_uv_map (Scene *scene, Mesh *mesh, const ::Mesh &b_mesh, const set< ustring > &blender_uv_names) |
| static void | attr_create_pointiness (Mesh *mesh, const blender::Span< blender::float3 > positions, const blender::Span< blender::float3 > b_vert_normals, const blender::Span< blender::int2 > edges, bool subdivision) |
| static void | attr_create_random_per_island (Scene *scene, Mesh *mesh, const ::Mesh &b_mesh, bool subdivision) |
| static void | create_mesh (Scene *scene, Mesh *mesh, const ::Mesh &b_mesh, const array< Node * > &used_shaders, const bool need_motion, const float motion_scale, const bool subdivision=false) |
| static void | create_subd_mesh (Scene *scene, Mesh *mesh, BObjectInfo &b_ob_info, const ::Mesh &b_mesh, const array< Node * > &used_shaders, const bool need_motion, const float motion_scale, const float dicing_rate, const int max_subdivisions) |
|
static |
Definition at line 68 of file blender/mesh.cpp.
References AttributeSet::add(), assert, attr_create_motion_from_velocity(), ATTR_ELEMENT_CORNER, ATTR_ELEMENT_CORNER_BYTE, ATTR_ELEMENT_FACE, ATTR_ELEMENT_NONE, ATTR_ELEMENT_VERTEX, ATTR_STD_VERTEX_COLOR, Geometry::attributes, BKE_id_attributes_default_color_name(), blender::bke::ColorByte, blender::bke::attribute_math::convert_to_static_type(), blender::bke::Corner, data, blender::bke::AttributeIter::data_type, Attribute::data_uchar4(), blender::bke::AttributeIter::domain, blender::bke::GAttributeReader::domain, blender::bke::Edge, element, blender::bke::Face, AttributeSet::find(), blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::AttributeIter::get(), i, blender::Span< T >::index_range(), blender::GVArrayCommon::is_empty(), make_uchar4(), blender::bke::AttributeIter::name, name, Geometry::need_attribute(), blender::bke::Point, Attribute::std, Mesh::subd_attributes, blender::GVArrayCommon::type(), blender::GVArray::typed(), TypeRGBA(), and blender::bke::GAttributeReader::varray.
Referenced by create_mesh().
|
static |
Definition at line 35 of file blender/mesh.cpp.
References AttributeSet::add(), ATTR_STD_MOTION_VERTEX_POSITION, Geometry::attributes, Attribute::data_float3(), AttributeSet::find(), i, make_float3(), P, step, Mesh::subd_attributes, and Mesh::SUBDIVISION_NONE.
Referenced by attr_create_generic().
|
static |
Definition at line 355 of file blender/mesh.cpp.
References AttributeSet::add(), angle(), ATTR_STD_POINTINESS, Geometry::attributes, EdgeMap::clear(), data, Attribute::data_float(), dot(), EdgeMap::exists(), vector< value_type, allocator_type >::free_memory(), i, blender::Span< T >::index_range(), EdgeMap::insert(), blender::Span< T >::is_empty(), len_squared(), M_1_PI_F, make_float3(), normalize, safe_acosf(), safe_normalize(), blender::Span< T >::size(), sort(), Mesh::subd_attributes, float3::x, float3::y, float3::z, and zero_float3().
Referenced by create_mesh().
|
static |
Definition at line 510 of file blender/mesh.cpp.
References AttributeSet::add(), ATTR_STD_RANDOM_PER_ISLAND, Geometry::attributes, data, Attribute::data_float(), faces, DisjointSet::find(), hash_uint_to_float(), i, blender::Span< T >::index_range(), blender::Span< T >::is_empty(), DisjointSet::join(), Geometry::need_attribute(), and Mesh::subd_attributes.
Referenced by create_mesh().
|
static |
Definition at line 280 of file blender/mesh.cpp.
References AttributeSet::add(), ATTR_ELEMENT_CORNER, ATTR_STD_NONE, ATTR_STD_UV, ATTR_SUBDIVIDE_SMOOTH_FVAR, CD_PROP_FLOAT2, blender::bke::Corner, CustomData_get_render_layer_name(), Attribute::data_float2(), faces, Attribute::flags, i, blender::bke::AttributeAccessor::lookup(), make_float2, Geometry::need_attribute(), and Mesh::subd_attributes.
Referenced by create_mesh().
|
static |
Definition at line 237 of file blender/mesh.cpp.
References AttributeSet::add(), ATTR_ELEMENT_CORNER, ATTR_STD_NONE, ATTR_STD_UV, Geometry::attributes, CD_PROP_FLOAT2, blender::bke::Corner, CustomData_get_render_layer_name(), Attribute::data_float2(), i, blender::Span< T >::index_range(), blender::bke::AttributeAccessor::lookup(), make_float2, and Geometry::need_attribute().
Referenced by create_mesh().
|
static |
Definition at line 558 of file blender/mesh.cpp.
References AttributeSet::add(), attr_create_generic(), attr_create_pointiness(), attr_create_random_per_island(), attr_create_subd_uv_map(), attr_create_uv_map(), ATTR_STD_GENERATED, ATTR_STD_GENERATED_TRANSFORM, ATTR_STD_POINTINESS, ATTR_STD_UV_TANGENT, ATTR_STD_VERTEX_NORMAL, Geometry::attributes, BKE_mesh_texspace_get(), CD_ORCO, clamp(), blender::bke::Corner, CustomData_get_layer(), blender::Span< T >::data(), Attribute::data_float3(), Attribute::data_transform(), blender::bke::Face, faces, float, get_blender_uv_names(), i, blender::Span< T >::index_range(), blender::Span< T >::is_empty(), blender::bke::AttributeAccessor::lookup(), madd_v3_v3v3v3(), make_float3(), mesh_texture_space(), N, Geometry::need_attribute(), Mesh::resize_mesh(), Mesh::resize_subd_faces(), array< T, alignment >::size(), blender::IndexRange::size(), blender::Span< T >::size(), size(), blender::IndexRange::start(), Mesh::subd_attributes, Mesh::SUBDIVISION_CATMULL_CLARK, transform_scale(), transform_translate(), and verts.
Referenced by create_subd_mesh().
|
static |
Definition at line 785 of file blender/mesh.cpp.
References Mesh::add_edge_crease(), Mesh::add_vertex_crease(), create_mesh(), blender::bke::Edge, get_transform(), i, blender::Span< T >::index_range(), blender::Span< T >::is_empty(), max, blender::bke::Point, BObjectInfo::real_object, Mesh::reserve_subd_creases(), Mesh::SUBDIVISION_ADAPTIVE_SPACE_OBJECT, and Mesh::SUBDIVISION_ADAPTIVE_SPACE_PIXEL.
|
static |
Definition at line 221 of file blender/mesh.cpp.
References blender::bke::attribute_name_is_anonymous(), blender::bke::Corner, blender::bke::AttributeIter::data_type, blender::bke::AttributeIter::domain, blender::bke::Float2, and blender::bke::AttributeIter::name.
Referenced by create_mesh().