Blender
V3.3
|
#include <split.h>
Public Member Functions | |
Edge * | alloc_edge () |
DiagSplit (const SubdParams ¶ms) | |
void | split_patches (Patch *patches, size_t patches_byte_stride) |
void | split_quad (const Mesh::SubdFace &face, Patch *patch) |
void | split_ngon (const Mesh::SubdFace &face, Patch *patches, size_t patches_byte_stride) |
void | post_split () |
Definition at line 26 of file subd/split.h.
|
explicit |
Definition at line 25 of file subd/split.cpp.
Edge * DiagSplit::alloc_edge | ( | ) |
Definition at line 321 of file subd/split.cpp.
Referenced by split_ngon().
void DiagSplit::post_split | ( | ) |
Definition at line 591 of file subd/split.cpp.
References QuadDice::dice(), Subpatch::edge_u0, Subpatch::edge_u1, Subpatch::edge_v0, Subpatch::edge_v1, hash_uint2(), max, SubdParams::mesh, operator()(), EdgeDice::reserve(), Mesh::size, STITCH_NGON_SPLIT_EDGE_CENTER_VERT_TAG, and Subpatch::edge_t::T.
Referenced by split_patches().
void DiagSplit::split_ngon | ( | const Mesh::SubdFace & | face, |
Patch * | patches, | ||
size_t | patches_byte_stride | ||
) |
Definition at line 467 of file subd/split.cpp.
References alloc_edge(), Subpatch::c00, Subpatch::c01, Subpatch::c10, Subpatch::c11, create_split_edge_from_corner(), Subpatch::edge_t::edge, Subpatch::edge_u0, Subpatch::edge_u1, Subpatch::edge_v0, Subpatch::edge_v1, Edge::end_vert_index, Subpatch::edge_t::indices_decrease_along_edge, Edge::is_stitch_edge, SubdParams::mesh, mod(), Mesh::SubdFace::num_corners, Subpatch::patch, Mesh::SubdFace::ptex_offset, Mesh::SubdFace::start_corner, Edge::start_vert_index, Edge::stitch_edge_key, Edge::stitch_edge_T, Edge::stitch_end_vert_index, STITCH_NGON_CENTER_VERT_INDEX_OFFSET, STITCH_NGON_SPLIT_EDGE_CENTER_VERT_TAG, Edge::stitch_offset, Edge::stitch_start_vert_index, Edge::stitch_top_offset, Subpatch::edge_t::sub_edges_created_in_reverse_order, Subpatch::edge_t::T, Edge::T, T, Edge::top, and v.
Referenced by split_patches().
Definition at line 327 of file subd/split.cpp.
References Mesh::get_num_subd_faces(), Mesh::get_subd_face(), Mesh::SubdFace::is_quad(), SubdParams::mesh, Mesh::SubdFace::num_corners, post_split(), split_ngon(), and split_quad().
void DiagSplit::split_quad | ( | const Mesh::SubdFace & | face, |
Patch * | patch | ||
) |
Definition at line 386 of file subd/split.cpp.
References create_edge_from_corner(), DSPLIT_NON_UNIFORM, Subpatch::edge_t::edge, Subpatch::edge_u0, Subpatch::edge_u1, Subpatch::edge_v0, Subpatch::edge_v1, Subpatch::edge_t::indices_decrease_along_edge, SubdParams::mesh, Subpatch::edge_t::sub_edges_created_in_reverse_order, Subpatch::edge_t::T, and v.
Referenced by split_patches().