Blender V5.0
mesh_mirror.cc File Reference
#include "BLI_array.hh"
#include "BLI_math_geom.h"
#include "BLI_math_matrix.h"
#include "BLI_math_vector.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "BKE_attribute.hh"
#include "BKE_deform.hh"
#include "BKE_lib_id.hh"
#include "BKE_mesh.hh"
#include "BKE_mesh_mirror.hh"
#include "BKE_modifier.hh"
#include "bmesh.hh"
#include "bmesh_tools.hh"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Functions

MeshBKE_mesh_mirror_bisect_on_mirror_plane_for_modifier (MirrorModifierData *mmd, const Mesh *mesh, int axis, const float plane_co[3], float plane_no[3])
void BKE_mesh_mirror_apply_mirror_on_axis (Main *bmain, Mesh *mesh, const int axis, const float dist)
MeshBKE_mesh_mirror_apply_mirror_on_axis_for_modifier (MirrorModifierData *mmd, Object *ob, const Mesh *mesh, const int axis, const bool use_correct_order_on_merge, int **r_vert_merge_map, int *r_vert_merge_map_len)

Function Documentation

◆ BKE_mesh_mirror_apply_mirror_on_axis()

◆ BKE_mesh_mirror_apply_mirror_on_axis_for_modifier()

Mesh * BKE_mesh_mirror_apply_mirror_on_axis_for_modifier ( MirrorModifierData * mmd,
Object * ob,
const Mesh * mesh,
int axis,
bool use_correct_order_on_merge,
int ** r_vert_merge_map,
int * r_vert_merge_map_len )
Warning
This should not be used to modify original meshes since it doesn't handle shape-keys, use BKE_mesh_mirror_apply_mirror_on_axis instead.

Definition at line 115 of file blenkernel/intern/mesh_mirror.cc.

References BKE_defvert_flip(), BKE_defvert_flip_merged(), BKE_id_free(), BKE_mesh_mirror_bisect_on_mirror_plane_for_modifier(), BKE_mesh_new_nomain_from_template(), BKE_object_defgroup_flip_map(), BKE_object_supports_vertex_groups(), CD_PROP_FLOAT2, CD_SHAPEKEY, ceilf, blender::bits::MutableBitSpan::copy_from(), blender::bits::MutableBoundedBitSpan::copy_from(), blender::MutableSpan< T >::copy_from(), copy_v3_v3(), blender::bke::Corner, blender::bke::mesh::corner_space_custom_normal_to_data(), blender::bke::mesh::CornerNormalSpaceArray::corner_space_indices, cos, CustomData_copy_data(), CustomData_get_layer_n_for_write(), CustomData_number_of_layers(), blender::bke::GAttributeWriter::domain, blender::IndexRange::drop_front(), e, blender::bke::Edge, blender::bke::Face, blender::bke::GAttributeWriter::finish(), blender::MutableSpan< T >::first(), MirrorModifierData::flag, float, fmodf, i, blender::MutableSpan< T >::index_range(), blender::offset_indices::OffsetIndices< T >::index_range(), invert_m4_m4(), blender::CPPType::is(), is_zero_v2(), blender::IndexRange::last(), blender::MutableSpan< T >::last(), len_squared_v3(), len_squared_v3v3(), LIKELY, blender::bke::AttributeAccessor::lookup(), blender::bke::MutableAttributeAccessor::lookup_for_write(), max_fff(), MEM_freeN(), MEM_malloc_arrayN(), mid_v3_v3v3(), MirrorModifierData::mirror_ob, MOD_MIR_BISECT_AXIS_X, MOD_MIR_BISECT_AXIS_Y, MOD_MIR_BISECT_AXIS_Z, MOD_MIR_MIRROR_U, MOD_MIR_MIRROR_UDIM, MOD_MIR_MIRROR_V, MOD_MIR_NO_MERGE, MOD_MIR_VGROUP, mul_m4_m4m4(), mul_m4_series, mul_m4_v3(), mul_v3_fl(), mul_v3_v3(), negate_v3_v3(), blender::bke::mesh::normals_calc_corners(), OB_MESH, result, blender::MutableVArraySpan< T >::save(), blender::bits::BitSpan::size(), blender::IndexRange::size(), blender::MutableSpan< T >::size(), blender::offset_indices::OffsetIndices< T >::size(), blender::MutableSpan< T >::slice(), blender::bke::mesh::CornerNormalSpaceArray::spaces, blender::IndexRange::start(), blender::bits::MutableBitSpan::take_back(), blender::bits::MutableBoundedBitSpan::take_front(), blender::MutableSpan< T >::take_front(), MirrorModifierData::tolerance, transpose_m4(), blender::GVArrayCommon::type(), Object::type, blender::GVMutableArray::typed(), unit_m4(), UNLIKELY, UNPACK3, MirrorModifierData::uv_offset, MirrorModifierData::uv_offset_copy, v, and blender::bke::GAttributeWriter::varray.

Referenced by mirror_apply_on_axis(), and blender::ed::object::remesh_symmetry_mirror().

◆ BKE_mesh_mirror_bisect_on_mirror_plane_for_modifier()