|
Blender V4.3
|
#include "BLI_math_matrix.h"#include "BLI_math_vector.h"#include "BLI_utildefines.h"#include "DNA_mesh_types.h"#include "DNA_meshdata_types.h"#include "DNA_object_types.h"#include "MEM_guardedalloc.h"#include "BKE_attribute.hh"#include "BKE_customdata.hh"#include "BKE_deform.hh"#include "BKE_mesh.hh"#include "MOD_modifiertypes.hh"#include "MOD_solidify_util.hh"#include "MOD_util.hh"Go to the source code of this file.
Classes | |
| struct | NewFaceRef |
| struct | OldEdgeFaceRef |
| struct | OldVertEdgeRef |
| struct | NewEdgeRef |
| struct | EdgeGroup |
| struct | FaceKeyPair |
Macros | |
| #define | MOD_SOLIDIFY_EMPTY_TAG uint(-1) |
Functions | |
Local Utilities | |
| static float | project_v3_v3 (float r[3], const float a[3]) |
| static float | angle_signed_on_axis_normalized_v3v3_v3 (const float n[3], const float ref_n[3], const float axis[3]) |
| static float | clamp_nonzero (const float value, const float epsilon) |
Main Solidify Function | |
| static int | comp_float_int_pair (const void *a, const void *b) |
| Mesh * | MOD_solidify_nonmanifold_modifyMesh (ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh) |
Referenced by MOD_solidify_nonmanifold_modifyMesh().
|
static |
Definition at line 44 of file MOD_solidify_nonmanifold.cc.
References acosf, angle(), CLAMP, cross(), cross_v3_v3v3(), dot_v3v3(), and M_PI.
Referenced by MOD_solidify_nonmanifold_modifyMesh().
Definition at line 59 of file MOD_solidify_nonmanifold.cc.
References BLI_assert, max_ff(), and min_ff().
Referenced by MOD_solidify_nonmanifold_modifyMesh().
|
static |
Definition at line 126 of file MOD_solidify_nonmanifold.cc.
Referenced by MOD_solidify_nonmanifold_modifyMesh().
| Mesh * MOD_solidify_nonmanifold_modifyMesh | ( | ModifierData * | md, |
| const ModifierEvalContext * | ctx, | ||
| Mesh * | mesh ) |
Definition at line 134 of file MOD_solidify_nonmanifold.cc.
References add_v3_v3(), add_v3_v3v3(), angle(), FaceKeyPair::angle, angle_signed_on_axis_normalized_v3v3_v3(), angle_v3v3v3(), SolidifyModifierData::bevel_convex, BKE_defvert_ensure_index(), BKE_defvert_find_weight(), BKE_id_defgroup_name_index(), BKE_mesh_new_nomain_from_template(), BKE_modifier_set_error(), BLI_assert, CD_ORIGINDEX, CD_PROP_FLOAT, CD_SET_DEFAULT, CLAMP, clamp_f(), clamp_nonzero(), comp_float_int_pair(), copy_v3_v3(), cosf, count, cross_v3_v3v3(), CustomData_add_layer_named(), CustomData_copy_data(), CustomData_free_layer_named(), CustomData_get_layer_for_write(), CustomData_get_layer_named(), CustomData_get_layer_named_for_write(), blender::Span< T >::data(), SolidifyModifierData::defgrp_name, dot_v3v3(), e, EdgeGroup::edges, OldVertEdgeRef::edges, EdgeGroup::edges_len, OldVertEdgeRef::edges_len, ELEM, fabsf, FaceKeyPair::face, NewFaceRef::face, NewEdgeRef::faces, OldEdgeFaceRef::faces, OldEdgeFaceRef::faces_len, OldEdgeFaceRef::faces_reversed, blender::bke::SpanAttributeWriter< T >::finish(), SolidifyModifierData::flag, float, NewFaceRef::index, blender::offset_indices::OffsetIndices< T >::index_range(), insert(), int, invert_m3(), blender::Span< T >::is_empty(), EdgeGroup::is_orig_closed, EdgeGroup::is_singularity, l, len, len_squared_v3(), len_v3(), length(), LIKELY, NewEdgeRef::link_edge_groups, NewFaceRef::link_edges, blender::bke::AttributeAccessor::lookup(), M_PI, madd_v3_v3fl(), madd_v3_v3v3fl(), SolidifyModifierData::mat_ofs, SolidifyModifierData::mat_ofs_rim, max_ff(), MEM_calloc_arrayN, MEM_freeN(), MEM_malloc_arrayN, MEM_mallocN, MEM_reallocN_id, SolidifyModifierData::merge_tolerance, mesh, min_ff(), MOD_get_vgroup(), MOD_SOLIDIFY_EMPTY_TAG, MOD_SOLIDIFY_FLIP, MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_FLAT, MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_NONE, MOD_SOLIDIFY_NONMANIFOLD_BOUNDARY_MODE_ROUND, MOD_SOLIDIFY_NONMANIFOLD_FLAT_FACES, MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_CONSTRAINTS, MOD_SOLIDIFY_NONMANIFOLD_OFFSET_MODE_EVEN, MOD_SOLIDIFY_NOSHELL, MOD_SOLIDIFY_OFFSET_ANGLE_CLAMP, MOD_SOLIDIFY_RIM, MOD_SOLIDIFY_VGROUP_INV, mul_v3_fl(), mul_v3_m3v3(), mul_v3_v3fl(), negate_v3_v3(), NewEdgeRef::new_edge, EdgeGroup::new_vert, next, EdgeGroup::no, SolidifyModifierData::nonmanifold_boundary_mode, SolidifyModifierData::nonmanifold_offset_mode, nor, normalize_v3(), ModifierEvalContext::object, SolidifyModifierData::offset, SolidifyModifierData::offset_clamp, SolidifyModifierData::offset_fac, SolidifyModifierData::offset_fac_vg, NewEdgeRef::old_edge, EdgeGroup::open_face_edge, ORIGINDEX_NONE, pos, printf, project_v3_v3(), result, NewFaceRef::reversed, SolidifyModifierData::rim_defgrp_name, SolidifyModifierData::shell_defgrp_name, blender::IndexRange::size(), blender::offset_indices::OffsetIndices< T >::size(), size(), blender::Span< T >::slice(), blender::bke::SpanAttributeWriter< T >::span, EdgeGroup::split, sqrtf, blender::IndexRange::start(), sub_v3_v3(), sub_v3_v3v3(), swap_v4_v4(), EdgeGroup::topo_group, Object::totcol, UNLIKELY, OldEdgeFaceRef::used, v2, EdgeGroup::valid, MDeformWeight::weight, zero_m3(), and zero_v3().
Referenced by modify_mesh().
Similar to project_v3_v3v3_normalized that returns the dot-product.
Definition at line 35 of file MOD_solidify_nonmanifold.cc.
References dot_v3v3().
Referenced by MOD_solidify_nonmanifold_modifyMesh().