|
Blender V4.3
|
#include <cctype>#include <cfloat>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include "MEM_guardedalloc.h"#include "DNA_meta_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "BLI_math_geom.h"#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BLI_math_vector.hh"#include "BLI_memarena.h"#include "BLI_string_utils.hh"#include "BLI_utildefines.h"#include "BKE_global.hh"#include "BKE_mball_tessellate.hh"#include "BKE_mesh.hh"#include "BKE_object.hh"#include "BKE_scene.hh"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_query.hh"#include "BLI_strict_flags.h"Go to the source code of this file.
Classes | |
| struct | CORNER |
| struct | CUBE |
| struct | CUBES |
| struct | CENTERLIST |
| struct | EDGELIST |
| struct | INTLIST |
| struct | INTLISTS |
| struct | Box |
| struct | MetaballBVHNode |
| struct | PROCESS |
Macros | |
| #define | USE_ACCUM_NORMAL |
| #define | MBALL_ARRAY_LEN_INIT 4096 |
| #define | L 0 /* Left direction: -x, -i. */ |
| #define | R 1 /* Right direction: +x, +i. */ |
| #define | B 2 /* Bottom direction: -y, -j. */ |
| #define | T 3 /* Top direction: +y, +j. */ |
| #define | N 4 /* Near direction: -z, -k. */ |
| #define | F 5 /* Far direction: +z, +k. */ |
| #define | LBN 0 /* Left bottom near corner. */ |
| #define | LBF 1 /* Left bottom far corner. */ |
| #define | LTN 2 /* Left top near corner. */ |
| #define | LTF 3 /* Left top far corner. */ |
| #define | RBN 4 /* Right bottom near corner. */ |
| #define | RBF 5 /* Right bottom far corner. */ |
| #define | RTN 6 /* Right top near corner. */ |
| #define | RTF 7 /* Right top far corner. */ |
| #define | HASHBIT (5) |
| #define | HASHSIZE size_t(1 << (3 * HASHBIT)) |
| #define | HASH(i, j, k) ((((((i) & 31) << 5) | ((j) & 31)) << 5) | ((k) & 31)) |
| #define | MB_BIT(i, bit) (((i) >> (bit)) & 1) |
| #define | LB 0 /* left bottom edge */ |
| #define | LT 1 /* left top edge */ |
| #define | LN 2 /* left near edge */ |
| #define | LF 3 /* left far edge */ |
| #define | RB 4 /* right bottom edge */ |
| #define | RT 5 /* right top edge */ |
| #define | RN 6 /* right near edge */ |
| #define | RF 7 /* right far edge */ |
| #define | BN 8 /* bottom near edge */ |
| #define | BF 9 /* bottom far edge */ |
| #define | TN 10 /* top near edge */ |
| #define | TF 11 /* top far edge */ |
Functions | |
| static int | vertid (PROCESS *process, const CORNER *c1, const CORNER *c2) |
| static void | add_cube (PROCESS *process, int i, int j, int k) |
| static void | make_face (PROCESS *process, int i1, int i2, int i3, int i4) |
| static void | converge (PROCESS *process, const CORNER *c1, const CORNER *c2, float r_p[3]) |
| static void | make_box_union (const BoundBox *a, const Box *b, Box *r_out) |
| static void | make_box_from_metaelem (Box *r, const MetaElem *ml) |
| static uint | partition_mainb (MetaElem **mainb, uint start, uint end, uint s, float div) |
| static void | build_bvh_spatial (PROCESS *process, MetaballBVHNode *node, uint start, uint end, const Box *allbox) |
| static float | densfunc (const MetaElem *ball, float x, float y, float z) |
| static float | metaball (PROCESS *process, float x, float y, float z) |
| static void | freepolygonize (PROCESS *process) |
| static void | docube (PROCESS *process, CUBE *cube) |
| static CORNER * | setcorner (PROCESS *process, int i, int j, int k) |
| static int | nextcwedge (int edge, int face) |
| static int | otherface (int edge, int face) |
| static void | makecubetable () |
| void | BKE_mball_cubeTable_free () |
| static int | setcenter (PROCESS *process, CENTERLIST *table[], const int i, const int j, const int k) |
| static void | setedge (PROCESS *process, int i1, int j1, int k1, int i2, int j2, int k2, int vid) |
| static int | getedge (EDGELIST *table[], int i1, int j1, int k1, int i2, int j2, int k2) |
| static void | addtovertices (PROCESS *process, const float v[3], const float no[3]) |
| static void | next_lattice (int r[3], const float pos[3], const float size) |
| static void | prev_lattice (int r[3], const float pos[3], const float size) |
| static void | closest_latice (int r[3], const float pos[3], const float size) |
| static void | find_first_points (PROCESS *process, const uint em) |
| static void | polygonize (PROCESS *process) |
| static bool | object_has_zero_axis_matrix (const Object *bob) |
| static void | init_meta (Depsgraph *depsgraph, PROCESS *process, Scene *scene, Object *ob) |
| Mesh * | BKE_mball_polygonize (Depsgraph *depsgraph, Scene *scene, Object *ob) |
Variables | |
| static INTLISTS * | cubetable [256] |
| static char | faces [256] |
| static int | corner1 [12] |
| static int | corner2 [12] |
| static int | leftface [12] |
| static int | rightface [12] |
Definition at line 272 of file mball_tessellate.cc.
Referenced by add_m3_m3m3(), add_m4_m4m4(), BLI_ewa_filter(), BLI_ewa_imp2radangle(), BLI_ghashutil_paircmp(), bsdf_microfacet_setup_fresnel_conductor(), bsdf_sheen_eval(), bsdf_sheen_sample(), btDoSimplex2(), btDoSimplex3(), btDoSimplex4(), btMprVec3PointTriDist2(), btSolveL1(), btSolveL1_1(), btSolveL1_2(), btSolveL1T(), btVec3PointTriDist2(), Freestyle::ViewEdgeXBuilder::BuildSmoothFEdge(), Freestyle::GridHelpers::closestPointToSegment(), Freestyle::ViewMapBuilder::computeCusps(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), libmv::ComputeTrackingEquation(), Freestyle::crossesProscenium(), CurvePoint_fedge_get(), CurvePoint_second_svertex_get(), dBoxBox2(), Freestyle::GeomUtils::distPointSegment(), btDeformableNeoHookeanForce::DotProduct(), FEdge_second_svertex_get(), blender::ed::object::followpath_path_animate_exec(), fresnel_dielectric_cos(), libmv::FrobeniusDistance(), blender::ed::greasepencil::get_reordered_indices(), Freestyle::ViewMap::getClosestFEdge(), Freestyle::ViewMap::getClosestViewEdge(), libmv::euclidean_resection::IJToIndex(), imagewraposa_aniso(), Freestyle::GeomUtils::include2dSeg2dArea(), Freestyle::GeomUtils::includePointTriangle(), interp_m3_m3m3(), interp_m4_m4m4(), blender::math::interpolate(), blender::math::interpolate(), Freestyle::GeomUtils::intersect2dSeg2dArea(), madd_m3_m3m3fl(), madd_m4_m4m4fl(), makecubetable(), md5_process_block(), mul_m3_m3_post(), mul_m3_m3m3(), mul_m3_m3m4(), mul_m3_m4m3(), mul_m3_m4m4(), mul_m4_m3m4(), mul_m4_m4_post(), mul_m4_m4m3(), mul_m4_m4m4(), mul_m4_m4m4_aligned_scale(), mul_m4_m4m4_split_channels(), mul_m4db_m4db_m4fl(), btMatrixX< T >::multiply2_p8r(), btMatrixX< T >::multiplyAdd2_p8r(), newPerlin(), nextcwedge(), nlaevalchan_keycmp(), operator!=(), Freestyle::Functions0D::Curvature2DAngleF0D::operator()(), Freestyle::Functions0D::VertexOrientation2DF0D::operator()(), Freestyle::Functions0D::VertexOrientation3DF0D::operator()(), Freestyle::less_SVertex2D::operator()(), operator<(), operator==(), operator==(), blender::robust_pred::orient2dadapt(), phase_fournier_forand_coeffs(), phase_sample_direction(), Freestyle::ImagePyramid::pixel(), blender::ed::greasepencil::primitive_calulate_curve_positions(), process(), radangle2imp(), sample_cos_hemisphere(), sample_uniform_cone(), sample_uniform_hemisphere(), SIM_hair_volume_solve_divergence(), singularValueDecomposition(), slide_spline_curvature_modal(), slide_spline_solve_P1(), slide_spline_solve_P2(), libmv::SolveCubicPolynomial(), btLemkeSolver::solveMLCP(), SolveP3(), Freestyle::SShape::SplitEdge(), Freestyle::SShape::SplitEdgeIn2(), sub_m3_m3m3(), sub_m4_m4m4(), svm_node_closure_volume(), svm_node_normal_map(), Freestyle::StrokeTesselator::Tesselate(), transform_equal_threshold(), triangle_light_pdf(), triangle_light_sample(), btSoftBody::updateDeformation(), and volume_fournier_forand_setup().
| #define BF 9 /* bottom far edge */ |
Definition at line 522 of file mball_tessellate.cc.
Referenced by makecubetable(), and nextcwedge().
| #define BN 8 /* bottom near edge */ |
Definition at line 521 of file mball_tessellate.cc.
Referenced by makecubetable(), and nextcwedge().
Definition at line 275 of file mball_tessellate.cc.
Referenced by bsdf_hair_chiang_eval(), bsdf_hair_chiang_sample(), slim::cotmatrix(), slim::doublearea(), libmv::EstimateFundamentalFromCorrespondences(), libmv::EuclideanReconstructTwoFrames(), slim::get_min_pos_root_2D(), slim::grad(), slim::local_basis(), makecubetable(), microfacet_fresnel(), libmv::ProjectionsFromFundamental(), libmv::ProjectiveReconstructTwoFrames(), libmv::SelectKeyframesBasedOnGRICAndVariance(), slim::slim_precompute(), and slim::squared_edge_lengths().
| #define HASH | ( | i, | |
| j, | |||
| k ) ((((((i) & 31) << 5) | ((j) & 31)) << 5) | ((k) & 31)) |
Definition at line 294 of file mball_tessellate.cc.
Referenced by getedge(), setcenter(), setcorner(), and setedge().
| #define HASHBIT (5) |
the LBN corner of cube (i, j, k), corresponds with location (i-0.5)*size, (j-0.5)*size, (k-0.5)*size)
Definition at line 290 of file mball_tessellate.cc.
Hash table size (32768).
Definition at line 292 of file mball_tessellate.cc.
Referenced by polygonize().
BASED AT CODE (but mostly rewritten) : C code from the article "An Implicit Surface Polygonizer" by Jules Bloomenthal jbloo.nosp@m.m@be.nosp@m.auty..nosp@m.gmu..nosp@m.edu in "Graphics Gems IV", Academic Press, 1994
Authored by Jules Bloomenthal, Xerox PARC. Copyright (c) Xerox Corporation, 1991. All rights reserved. Permission is granted to reproduce, use and distribute this code for any and all purposes, provided that this notice appears in all copies.
Definition at line 270 of file mball_tessellate.cc.
Referenced by slim::add_soft_constraints(), BLI_exists(), BLI_file_read_data_as_mem_from_handle(), blinn_specular(), btLDLTAddTL(), btLDLTRemove(), btSolveL1(), btSolveL1_1(), btSolveL1_2(), btSolveL1T(), btSolveLDLT(), slim::build_linear_system(), clone_window(), slim::cotmatrix(), blender::gpu::detect_workarounds(), dfdx_spring(), DllRegisterServer(), DllUnregisterServer(), slim::edge_lengths(), libmv::euclidean_resection::EuclideanResectionAnsarDaniilidis(), libmv::euclidean_resection::EuclideanResectionEPnP(), fb(), fbderiv(), fbstar(), fbstar_jacobi(), film_clamp_light(), film_write_background(), film_write_surface_emission(), film_write_volume_emission(), Freestyle::BlenderStrokeRenderer::GenerateStrokeMesh(), Freestyle::GaussianFilter::getSmoothedPixel(), GHOST_WindowWin32::getTitle(), guiding_record_background(), libmv::Homography2DFromCorrespondencesLinear(), libmv::Homography2DFromCorrespondencesLinearEuc(), libmv::Homography3DFromCorrespondencesLinear(), Freestyle::GeomUtils::includePointTriangle(), GHOST_SystemWin32::init(), integrate_background(), integrate_surface_emission(), integrator_eval_background_shader(), interpolate_fresnel_color(), LaunchedFromSteam(), main(), makecubetable(), nextcwedge(), blender::geometry::p_chart_convex_hull(), read_file_data(), replace_if_different(), GHOST_SystemWin32::s_wndProc(), GHOST_WindowX11::setWindowCustomCursorShape(), shadow_ray_offset(), GHOST_SystemWin32::showMessageBox(), signDetermination1Internal(), blender::compositor::SMAALumaEdgeDetectionPS(), slim::solve_weighted_arap(), spring_length(), slim::squared_edge_lengths(), system_windows_version_at_least(), GHOST_WindowWin32::ThemeRefresh(), tonemap_calc_chunk_luminance(), tonemap_rd_photoreceptor(), blender::compositor::PhotoreceptorTonemapOperation::update_memory_buffer_partial(), and wWinMain().
| #define LB 0 /* left bottom edge */ |
Definition at line 513 of file mball_tessellate.cc.
Referenced by lineart_edge_first_bounding_area(), makecubetable(), and nextcwedge().
Definition at line 277 of file mball_tessellate.cc.
Definition at line 276 of file mball_tessellate.cc.
| #define LF 3 /* left far edge */ |
Definition at line 516 of file mball_tessellate.cc.
Referenced by makecubetable(), and nextcwedge().
| #define LN 2 /* left near edge */ |
Definition at line 515 of file mball_tessellate.cc.
Referenced by makecubetable(), and nextcwedge().
| #define LT 1 /* left top edge */ |
Definition at line 514 of file mball_tessellate.cc.
Referenced by BKE_idtype_idcode_to_index(), BKE_idtype_idfilter_to_index(), makecubetable(), and nextcwedge().
Definition at line 279 of file mball_tessellate.cc.
Definition at line 278 of file mball_tessellate.cc.
| #define MB_BIT | ( | i, | |
| bit ) (((i) >> (bit)) & 1) |
Definition at line 296 of file mball_tessellate.cc.
Referenced by add_cube(), docube(), and makecubetable().
| #define MBALL_ARRAY_LEN_INIT 4096 |
Definition at line 45 of file mball_tessellate.cc.
Referenced by BKE_mball_polygonize(), and make_face().
Definition at line 274 of file mball_tessellate.cc.
Referenced by libmv::euclidean_resection::AbsoluteOrientation(), PreallocatedMemoryHelper< N >::addChunk(), btUnionFind::allocate(), area_light_tree_parameters(), background_sun_pdf(), background_sun_sample(), BKE_mask_spline_project_co(), blinn_specular(), bsdf_ashikhmin_shirley_eval(), bsdf_ashikhmin_shirley_sample(), bsdf_ashikhmin_velvet_eval(), bsdf_ashikhmin_velvet_sample(), bsdf_diffuse_eval(), bsdf_diffuse_sample(), bsdf_hair_huang_eval_residual(), bsdf_microfacet_eval(), bsdf_microfacet_sample(), bsdf_sheen_eval(), bsdf_sheen_sample(), bsdf_translucent_eval(), bsdf_translucent_sample(), bt_segment_collision(), buildTreeBottomUp(), bump_shadowing_term(), Freestyle::VecMat::Matrix< T, M, N >::cols(), libmv::ArrayND< T, N >::Contains(), blender::StringRefBase::copy(), Mesh::copy_center_to_motion_step(), create_mesh(), Freestyle::VecMat::Vec< T, N >::dim(), Freestyle::RandGen::drand48(), draw_frustum_bound_sphere_calc(), libmv::DrawLine(), ensure_valid_specular_reflection(), BicubicPatch::eval(), LinearQuadPatch::eval(), blender::draw::View::frustum_culling_sphere_calc(), MemoryAllocator< N >::getBytes(), GPU_matrix_bind(), Freestyle::gts_vertex_principal_directions(), guiding_bsdf_init(), guiding_record_bssrdf_bounce(), guiding_record_surface_bounce(), Freestyle::VecMat::SquareMatrix< T, N >::identity(), Freestyle::GeomUtils::includePointTriangle(), integrate_light(), integrator_init_from_bake(), libmv::InternalReprojectionError(), btMiniSDF::interpolate(), Freestyle::GeomUtils::intersect2dSegPoly(), lattice_foreachScreenVert(), light_sample(), light_sample(), light_sample_from_intersection(), light_sample_from_position(), light_sample_mis_weight_forward_background(), light_sample_mis_weight_forward_lamp(), light_sample_mis_weight_forward_surface(), light_sample_update(), light_tree_importance(), light_tree_node_importance(), light_tree_pdf(), light_tree_pdf(), make_orthonormals(), make_orthonormals_safe_tangent(), make_orthonormals_tangent(), make_transform_frame(), makecubetable(), Freestyle::VecMat::Matrix< T, M, N >::Matrix(), maybe_ensure_valid_specular_reflection(), array< T, alignment >::mem_allocate(), array< T, alignment >::mem_copy(), array< T, alignment >::mem_free(), MemoryAllocator< N >::MemoryAllocator(), MOD_lineart_chain_feature_lines(), motion_triangle_smooth_normal(), Freestyle::VecMat::Vec< T, N >::normalize(), Freestyle::VecMat::Vec< T, N >::normalizeSafe(), object_inverse_normal_transform(), object_normal_transform(), libmv::ArrayND< T, N >::Offset(), libmv::ArrayND< T, N >::Offset(), libmv::ArrayND< T, N >::Offset(), libmv::ArrayND< T, N >::Offset(), Freestyle::VecMat::Vec< T, N >::operator!=(), blender::tests::EqualityIntModN< N >::operator()(), blender::tests::HashIntModN< N >::operator()(), Freestyle::VecMat::Matrix< T, M, N >::operator()(), Freestyle::VecMat::Matrix< T, M, N >::operator()(), Freestyle::VecMat::operator*(), Freestyle::VecMat::operator*(), Freestyle::VecMat::Vec< T, N >::operator*(), Freestyle::VecMat::Matrix< T, M, N >::operator*=(), Freestyle::VecMat::Vec< T, N >::operator*=(), Freestyle::VecMat::Matrix< T, M, N >::operator+=(), Freestyle::VecMat::Vec< T, N >::operator+=(), Freestyle::VecMat::Matrix< T, M, N >::operator-=(), Freestyle::VecMat::Vec< T, N >::operator-=(), Freestyle::VecMat::Matrix< T, M, N >::operator/=(), Freestyle::VecMat::Vec< T, N >::operator/=(), Freestyle::VecMat::Vec< T, N >::operator<(), Freestyle::VecMat::operator<<(), Freestyle::VecMat::operator<<(), Freestyle::VecMat::Matrix< T, M, N >::operator=(), Freestyle::VecMat::Vec< T, N >::operator=(), Freestyle::VecMat::Vec< T, N >::operator==(), libmv::Tuple< T, N >::operator==(), Freestyle::VecMat::Vec< T, N >::operator>(), pdf_cos_hemisphere(), pdf_uniform_cone(), libmv::PearsonProductMomentCorrelation(), point_light_mnee_sample_update(), point_light_sample(), point_light_sample_from_intersection(), Freestyle::FEdgeXDetector::preProcessFace(), blender::math::project_point(), ray_plane_intersect(), btDeformableContactProjection::reinitialize(), Freestyle::Stroke::Resample(), libmv::resection::Resection(), libmv::Tuple< T, N >::Reset(), libmv::Tuple< T, N >::Reset(), btUnionFind::reset(), libmv::ArrayND< T, N >::Resize(), libmv::ArrayND< T, N >::Resize(), libmv::ArrayND< T, N >::Resize(), libmv::ArrayND< T, N >::Resize(), sample_cos_hemisphere(), sample_uniform_cone(), sample_uniform_hemisphere(), QuadDice::scale_factor(), libmv::SelectKeyframesBasedOnGRICAndVariance(), EdgeDice::set_vert(), btSoftBody::setCollisionQuadrature(), shadow_ray_smooth_surface_offset(), libmv::ArrayND< T, N >::Size(), iTaSC::WSDLSSolver::solve(), sphere_light_pdf(), BVHObjectBinning::split(), spot_light_mnee_sample_update(), spot_light_pdf(), spot_light_sample(), spot_light_sample_from_intersection(), studiolight_lights_eval(), subsurf_calculate_limit_positions(), surface_shader_ao(), surface_shader_average_normal(), svm_node_closure_bsdf(), svm_node_normal_map(), svm_node_tex_image_box(), tabulated_sobol_generate_4D(), Mesh::tessellate(), libmv::TEST(), libmv::TEST(), TEST(), TEST(), OSLRenderServices::texture(), blender::index_mask::IndexMask::to_spans_and_ranges(), Freestyle::VecMat::Matrix< T, M, N >::transpose(), triangle_light_pdf(), triangle_light_tree_parameters(), triangle_light_valid_ray_segment(), triangle_smooth_normal(), triangle_smooth_normal_unnormalized(), triangle_vertices_and_normals(), Freestyle::VecMat::Vec< T, N >::Vec(), Freestyle::VecMat::Vec< T, N >::Vec(), Freestyle::VecMat::Vec< T, N >::Vec(), Freestyle::VecMat::Vec< T, N >::Vec(), Freestyle::VecMat::Matrix< T, M, N >::~Matrix(), and Freestyle::VecMat::Vec< T, N >::~Vec().
Definition at line 271 of file mball_tessellate.cc.
Referenced by libmv::euclidean_resection::AbsoluteOrientation(), add_m3_m3m3(), add_m4_m4m4(), adjoint_m2_m2(), adjoint_m3_m3(), adjoint_m4_m4(), angle_to_mat2(), axis_angle_normalized_to_mat3(), axis_angle_to_mat3(), axis_angle_to_mat3_single(), axis_angle_to_mat4(), axis_angle_to_mat4_single(), blinn_specular(), bsdf_glossy_toon_eval(), bsdf_glossy_toon_sample(), bsdf_hair_huang_eval_trrt(), bsdf_hair_huang_sample(), libmv::ComputeTrackingEquation(), ComputeTwist(), ComputeTwist(), btCollisionWorld::convexSweepTest(), libmv::Depth(), libmv::Depth(), KDL::RotationVel::DoRotX(), KDL::RotationVel::DoRotY(), KDL::RotationVel::DoRotZ(), dquat_to_mat4(), EIG_invert_m4_m4(), ensure_valid_specular_reflection(), OSLRenderServices::environment(), libmv::EssentialFromRt(), libmv::EuclideanReconstructTwoFrames(), libmv::EuclideanResect(), libmv::euclidean_resection::EuclideanResection(), libmv::euclidean_resection::EuclideanResection(), libmv::euclidean_resection::EuclideanResectionAnsarDaniilidis(), libmv::euclidean_resection::EuclideanResectionEPnP(), libmv::euclidean_resection::EuclideanResectionPPnP(), EulerAngleFromMatrix(), EulerAngleFromMatrix(), eulO_to_gimbal_axis(), eulO_to_mat3(), eulO_to_quat(), extractRotation(), GivensRotation::fill(), GivensRotation::fill(), btDeformableCorotatedForce::firstPiola(), KDL::Frame::Frame(), KDL::Frame::Frame(), KDL::Frame2::Frame2(), KDL::Frame2::Frame2(), fresnel_iridescence(), blender::workbench::get_world_shading_rotation_matrix(), btSoftBody::getRigidTransform(), libmv::EuclideanReconstruction::InsertCamera(), interp_m3_m3m3(), interp_m4_m4m4(), KDL::RotationAcc::Inverse(), KDL::RotationAcc::Inverse(), KDL::RotationAcc::Inverse(), KDL::RotationVel::Inverse(), KDL::RotationVel::Inverse(), KDL::RotationVel::Inverse(), blender::math::invert(), iridescence_airy_summation(), libmv::KRt_From_P(), loc_axisangle_size_to_mat4(), loc_eul_size_to_mat4(), loc_eulO_size_to_mat4(), loc_quat_size_to_mat4(), loc_rot_size_to_mat4(), libmv::LookAt(), madd_m3_m3m3fl(), madd_m4_m4m4fl(), makecubetable(), mat3_normalized_to_eulo2(), mat4_to_dquat(), MatrixToAxisAngle(), libmv::ModalSolver(), libmv::MotionFromEssentialAndCorrespondence(), mul_m3_fl(), mul_m3_m3_post(), mul_m3_m3_pre(), mul_m3_m3m3(), mul_m3_m3m4(), mul_m3_m4m3(), mul_m3_m4m4(), mul_m4_fl(), mul_m4_m3m4(), mul_m4_m4_post(), mul_m4_m4_pre(), mul_m4_m4m3(), mul_m4_m4m4(), mul_m4_m4m4_aligned_scale(), mul_m4_m4m4_split_channels(), mul_m4db_m4db_m4fl(), mul_mat3_m4_fl(), mul_v3m3_dq(), negate_m3(), negate_m4(), negate_mat3_m4(), nextcwedge(), NODE_DEFINE(), normalize_m2(), normalize_m2_ex(), normalize_m2_m2(), normalize_m2_m2_ex(), normalize_m3(), normalize_m3_ex(), normalize_m3_m3(), normalize_m3_m3_ex(), normalize_m4(), normalize_m4_ex(), KDL::RotationAcc::operator*(), KDL::RotationAcc::operator*(), KDL::RotationVel::operator*(), KDL::RotationVel::operator*(), operator*(), operator*(), KDL::operator<<(), KDL::operator<<(), KDL::RotationAcc::operator=(), KDL::RotationAcc::operator=(), KDL::RotationVel::operator=(), KDL::RotationVel::operator=(), orient_mat_z_normalized(), blender::math::orthogonalize(), orthogonalize_m3(), orthogonalize_m3_stable(), orthogonalize_m4(), orthogonalize_m4_stable(), blender::geometry::p_edge_matrix(), blender::geometry::p_edge_matrix(), libmv::P_From_KRt(), slim::polar_svd(), polarDecomposition(), polarDecomposition(), KDL::posrandom(), posrandom(), projection_inverse(), projection_matrix4_inverse(), KDL::random(), random(), libmv::RelativeCameraMotion(), RemoveEulerAngleFromMatrix(), RemoveTwist(), libmv::RootMeanSquareError(), Freestyle::NodeTransform::Rotate(), libmv::RotationAroundX(), libmv::RotationAroundY(), libmv::RotationAroundZ(), scale_m3_fl(), scale_m4_fl(), scale_m4_v2(), libmv::SelectKeyframesBasedOnGRICAndVariance(), shuffle_m4(), size_to_mat3(), size_to_mat4(), libmv::panography::kernel::TwoPointSolver::Solve(), libmv::SolveCubicPolynomial(), SphericalRangeParameters(), studiolight_lights_eval(), sub_m3_m3m3(), sub_m4_m4m4(), svm_node_closure_bsdf(), TEST(), blender::math::to_dual_quaternion(), OSLRenderServices::trace(), transform_decompose(), blender::math::transform_point(), transpose_m3(), transpose_m3_m3(), transpose_m3_m4(), transpose_m4(), transpose_m4_m4(), KDL::RotationVel::UnitX(), KDL::RotationVel::UnitY(), and KDL::RotationVel::UnitZ().
| #define RB 4 /* right bottom edge */ |
Definition at line 517 of file mball_tessellate.cc.
Referenced by lineart_edge_first_bounding_area(), makecubetable(), and nextcwedge().
Definition at line 281 of file mball_tessellate.cc.
Definition at line 280 of file mball_tessellate.cc.
| #define RF 7 /* right far edge */ |
Definition at line 520 of file mball_tessellate.cc.
Referenced by makecubetable(), and nextcwedge().
| #define RN 6 /* right near edge */ |
Definition at line 519 of file mball_tessellate.cc.
Referenced by makecubetable(), and nextcwedge().
| #define RT 5 /* right top edge */ |
Definition at line 518 of file mball_tessellate.cc.
Referenced by makecubetable(), and nextcwedge().
Definition at line 283 of file mball_tessellate.cc.
Definition at line 282 of file mball_tessellate.cc.
Definition at line 273 of file mball_tessellate.cc.
Referenced by add_edge_constraint(), blender::math::adjoint(), GuardedAllocator< T >::allocate(), blender::Any< ExtraInfo, InlineBufferCapacity, Alignment >::allocate_on_empty(), blender::math::angle_of(), blender::math::angle_of_signed(), blender::math::AngleCartesianBase< T >::AngleCartesianBase(), blender::draw::StorageVectorBuffer< T, len >::append_as(), blender::linear_allocator::ChunkedList< T, SegmentCapacity >::append_as(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_unchecked_as(), apply_blend_function(), libmv::ApplyBrownDistortionModel(), libmv::ApplyDivisionDistortionModel(), libmv::ApplyPolynomialDistortionModel(), blender::math::average(), blender::math::AxisAngleBase< T, AngleT >::AxisAngleBase(), blender::fn::multi_function::CustomMF_Constant< T >::call(), blender::MutableSpan< T >::cast(), blender::Span< T >::cast(), ccl_try_align(), blender::nodes::value_elem::ElemVariant::clear_all(), blender::LinearAllocator< Allocator >::construct(), blender::Pool< T, ChunkLen >::construct(), blender::LinearAllocator< Allocator >::construct_array(), blender::LinearAllocator< Allocator >::construct_elements_and_pointer_array(), blender::bke::attribute_math::convert_to_static_type(), btAlignedObjectArray< T >::copy(), blender::cpp_type_util::copy_construct_compressed_cb(), blender::cpp_type_util::copy_construct_indices_cb(), device_vector< T >::copy_from_device(), libmv::ArrayND< T, N >::CopyFrom(), blender::CPPType::CPPType(), blender::fn::multi_function::build::exec_presets::AllSpanOrSingle::create_devirtualizers(), blender::fn::multi_function::build::exec_presets::SomeSpanOrSingle< Indices >::create_devirtualizers(), Procedural::create_node(), Scene::create_node(), ShaderGraph::create_node(), cross(), blender::eevee::Precompute::data(), blender::cpp_type_util::default_construct_indices_cb(), blender::math::AngleCartesianBase< T >::degree(), blender::math::AngleFraction< T >::degree(), blender::math::AngleRadianBase< T >::degree(), blender::DisjointSet< T >::DisjointSet(), blender::threading::EnumerableThreadSpecific< T >::EnumerableThreadSpecific(), blender::threading::EnumerableThreadSpecific< T >::EnumerableThreadSpecific(), blender::fn::multi_function::build::detail::execute_element_fn_as_multi_function(), blender::fn::lazy_function::detail::execute_lazy_function_eagerly_impl(), blender::fn::multi_function::build::detail::execute_materialized(), btAlignedObjectArray< T >::expand(), blender::math::QuaternionBase< T >::expmap(), blender::bke::SocketValueVariant::extract(), blender::draw::pbvh::fallback_value_for_fill(), blender::cpp_type_util::fill_construct_cb(), blender::cpp_type_util::fill_construct_indices_cb(), fill_crossdata_for_through_vert(), blender::meshintersect::fill_input_from_string(), blender::VArray< T >::ForFunc(), blender::math::AngleCartesianBase< T >::from_degree(), blender::math::AngleRadianBase< T >::from_degree(), blender::index_mask::IndexMask::from_groups(), blender::math::detail::from_rotation(), blender::math::detail::from_rotation(), blender::math::detail::from_rotation(), blender::math::detail::from_rotation(), blender::math::from_triangle(), blender::math::from_up_axis(), blender::math::from_vector(), blender::nodes::node_geo_scale_elements_cc::gather_mean(), blender::fixed_width_int::generic_add(), blender::fixed_width_int::generic_sub(), blender::fixed_width_int::generic_unsigned_mul(), blender::tests::ExtraSizeInfo::get(), blender::nodes::inverse_eval::InverseEvalParams::get_input(), blender::nodes::value_elem::ElemEvalParams::get_input_elem(), blender::nodes::inverse_eval::InverseEvalParams::get_output(), blender::nodes::value_elem::InverseElemEvalParams::get_output_elem(), blender::GVArrayImpl_For_VArray< T >::get_to_uninitialized(), blender::GVMutableArrayImpl_For_VMutableArray< T >::get_to_uninitialized(), gim_swap_elements_memcpy(), hair_attenuation(), Freestyle::VecMat::HVec3< T >::HVec3(), Freestyle::SilhouetteGeomEngine::ImageToWorldParameter(), blender::Vector< T, InlineBufferCapacity, Allocator >::insert(), blender::math::interpolate_dot_slerp(), blender::fixed_width_int::IntF< T, S >::IntF(), blender::math::invert(), libmv::InvertNukeDistortionModel(), blender::math::is_any_zero(), blender::math::is_negative(), blender::math::is_negative(), blender::math::is_normalized(), blender::math::is_unit(), blender::math::is_unit_scale(), blender::math::is_unit_scale(), blender::math::is_zero(), blender::math::is_zero(), blender::imbuf::load_pixels(), makecubetable(), blender::MatBase< T, NumCol, NumRow, Alignment >::MatBase(), blender::VArrayImpl< T >::materialize_compressed_to_uninitialized(), blender::VArrayImpl_For_Span< T >::materialize_compressed_to_uninitialized(), blender::VArrayImpl< T >::materialize_to_uninitialized(), blender::VArrayImpl_For_Single< T >::materialize_to_uninitialized(), blender::VArrayImpl_For_Span< T >::materialize_to_uninitialized(), Freestyle::VecMat::Matrix< T, M, N >::Matrix(), libmv::ArrayND< T, N >::MemorySizeInBytes(), blender::math::midpoint(), blender::cpp_type_util::move_construct_indices_cb(), blender::math::normalize(), blender::math::normalize_and_get_length(), blender::math::detail::normalized_to_eul2(), blender::math::detail::normalized_to_eul2(), blender::math::detail::normalized_to_quat_with_checks(), btVectorX< T >::nrm2(), blender::math::AngleFraction< T >::operator AngleCartesianBase< T >(), blender::fixed_width_int::UIntF< T, S >::operator uint64_t(), blender::math::EulerBase< T >::operator VecBase< T, 3 >(), blender::OffsetSpan< T, BaseT >::Iterator::operator*(), Freestyle::VecMat::Matrix< T, M, N >::operator+=(), Freestyle::VecMat::Vec< T, N >::operator+=(), Freestyle::VecMat::Matrix< T, M, N >::operator-=(), Freestyle::VecMat::Vec< T, N >::operator-=(), blender::VecBase< T, Size >::operator/=(), blender::VecBase< T, Size >::operator/=(), Freestyle::VecMat::Matrix< T, M, N >::operator=(), Freestyle::VecMat::Vec< T, N >::operator=(), blender::OffsetSpan< T, BaseT >::operator[](), blender::index_mask::optimized_foreach_index(), blender::index_mask::optimized_foreach_index_with_pos(), blender::math::projection::orthographic(), blender::math::projection::orthographic_infinite(), overlapfaces_test(), GIM_AABB::overlapping_trans_cache(), overlapping_trans_cache(), blender::geometry::p_face_stretch(), blender::math::projection::perspective(), blender::math::projection::perspective_infinite(), phase_sample_direction(), blender::gpu::populate_emulated_tri_fan_buf(), blender::gpu::populate_optimized_tri_strip_buf(), blender::imbuf::transform::process_scanlines(), blender::math::project_point(), libmv::ProjectionChangeAspectRatio(), libmv::ProjectionShiftPrincipalPoint(), blender::math::pseudo_invert(), blender::Stack< T, InlineBufferCapacity, Allocator >::push_as(), btAlignedObjectArray< T >::push_back(), blender::gpu::VKPushConstants::push_constant_set(), blender::math::AngleCartesianBase< T >::radian(), blender::math::AngleFraction< T >::radian(), KDL::Rall1d< T, V, S >::Rall1d(), blender::math::rcp(), btSdfDataStream::read(), blender::cpp_type_util::relocate_construct_cb(), blender::cpp_type_util::relocate_construct_indices_cb(), RemoveEulerAngleFromMatrix(), libmv::Tuple< T, N >::Reset(), blender::Bounds< T >::resize(), blender::geometry::EvalDataBuffer::resize(), btAlignedObjectArray< T >::resize(), gim_array< T >::resizeData(), blender::math::safe_acos(), blender::math::safe_divide(), blender::math::safe_rcp(), blender::math::safe_sqrt(), sample_cos_hemisphere(), sample_uniform_cone(), sample_uniform_hemisphere(), libmv::SampleLinear(), libmv::SampleLinear(), blender::Bounds< T >::scale_from_center(), blender::math::sign(), blender::MutableSpan< T >::size_in_bytes(), blender::Span< T >::size_in_bytes(), blender::nodes::node_shader_tex_sky_cc::sky_precompute_old(), sky_texture_precompute_preetham(), DiagSplit::split_ngon(), Freestyle::SShape::SplitEdge(), svm_node_closure_bsdf(), btAlignedObjectArray< T >::swap(), blender::tests::TEST(), blender::math::to_axis_angle(), blender::math::to_dual_quaternion(), blender::math::to_euler(), blender::math::to_gimbal_axis(), blender::math::to_quaternion(), blender::nodes::node_geo_blur_attribute_cc::to_static_type_for_blur(), blender::gpu::to_vk_object_type(), blender::math::transform_point(), blender::math::transform_point(), triple(), blender::math::QuaternionBase< T >::twist(), blender::math::QuaternionBase< T >::twist_angle(), blender::fixed_width_int::UIntF< T, S >::UIntF(), IK_QElbowSegment::UpdateAngleApply(), util_aligned_new(), CCL_NAMESPACE_BEGIN::util_image_downscale_sample(), blender::cpp_type_util::value_initialize_cb(), blender::cpp_type_util::value_initialize_indices_cb(), Freestyle::VecMat::Vec< T, N >::Vec(), Freestyle::VecMat::Vec< T, N >::Vec(), Freestyle::VecMat::Vec< T, N >::Vec(), Freestyle::VecMat::Vec2< T >::Vec2(), Freestyle::VecMat::Vec3< T >::Vec3(), blender::VecBase< T, Size >::VecBase(), blender::MatBase< T, NumCol, NumRow, Alignment >::view(), blender::math::AngleRadianBase< T >::wrapped(), and xml_read_mesh().
| #define TF 11 /* top far edge */ |
Definition at line 524 of file mball_tessellate.cc.
Referenced by makecubetable(), and nextcwedge().
| #define TN 10 /* top near edge */ |
Definition at line 523 of file mball_tessellate.cc.
Referenced by makecubetable(), and nextcwedge().
| #define USE_ACCUM_NORMAL |
Definition at line 43 of file mball_tessellate.cc.
Adds cube at given lattice position to cube stack of process.
Definition at line 1036 of file mball_tessellate.cc.
References BLI_memarena_alloc(), CUBE::corners, CUBES::cube, CUBE::i, CUBE::j, CUBE::k, MB_BIT, CUBES::next, process(), setcenter(), and setcorner().
Referenced by docube(), and find_first_points().
Adds a vertex, expands memory if needed.
Definition at line 941 of file mball_tessellate.cc.
Referenced by vertid().
| void BKE_mball_cubeTable_free | ( | ) |
Definition at line 828 of file mball_tessellate.cc.
References cubetable, INTLISTS::list, MEM_freeN(), INTLIST::next, and INTLISTS::next.
Referenced by BlendfileLoadingBaseTest::TearDown(), and WM_exit_ex().
Definition at line 1361 of file mball_tessellate.cc.
References BKE_mesh_new_nomain(), BLI_memarena_new(), BLI_MEMARENA_STD_BUFSIZE, build_bvh_spatial(), count, DAG_EVAL_RENDER, Object::data, DEG_get_mode(), depsgraph, MetaBall::flag, freepolygonize(), G, G_TRANSFORM_EDIT, G_TRANSFORM_OBJ, init_meta(), MB_UPDATE_FAST, MB_UPDATE_HALFRES, MB_UPDATE_NEVER, MBALL_ARRAY_LEN_INIT, MEM_freeN(), mesh, blender::bke::mesh_calc_edges(), blender::bke::mesh_vert_normals_assign(), normalize_v3(), polygonize(), process(), MetaBall::rendersize, Object::scale, MetaBall::thresh, and MetaBall::wiresize.
Referenced by BKE_mball_data_update().
|
static |
Recursively builds a BVH, dividing elements along the middle of the longest axis of allbox.
Definition at line 198 of file mball_tessellate.cc.
References BLI_memarena_alloc(), build_bvh_spatial(), INIT_MINMAX, make_box_from_metaelem(), make_box_union(), Box::max, Box::min, partition_mainb(), and process().
Referenced by BKE_mball_polygonize(), and build_bvh_spatial().
Definition at line 1073 of file mball_tessellate.cc.
References floorf, int, and pos.
Referenced by find_first_points().
|
static |
Given two corners, computes approximation of surface intersection point between them. In case of small threshold, do bisection.
Definition at line 997 of file mball_tessellate.cc.
References CORNER::co, copy_v3_v3(), interp_v3_v3v3(), metaball(), process(), and CORNER::value.
Referenced by vertid().
Computes density from given metaball at given position. Metaball equation is: (1 - r^2 / R^2)^3 * s
r = distance from center R = metaball radius s - metaball stiffness
Definition at line 309 of file mball_tessellate.cc.
References ATTR_FALLTHROUGH, MetaElem::expx, MetaElem::expy, MetaElem::expz, MetaElem::imat, MetaElem::len, len_squared_v3(), MB_BALL, MB_CUBE, MB_ELIPSOID, MB_PLANE, MB_TUBE, MB_TUBEX, MB_TUBEY, MB_TUBEZ, mul_m4_v3(), MetaElem::rad2, MetaElem::s, MetaElem::type, x, y, and z().
Referenced by metaball().
triangulate the cube directly, without decomposition
Definition at line 592 of file mball_tessellate.cc.
References add_cube(), corner1, corner2, CUBE::corners, count, cubetable, CUBE::i, CUBE::j, CUBE::k, INTLISTS::list, make_face(), MB_BIT, INTLISTS::next, process(), CORNER::value, and vertid().
Referenced by polygonize().
Find at most 26 cubes to start polygonization from.
Definition at line 1083 of file mball_tessellate.cc.
References add(), add_cube(), b, MetaElem::bb, closest_latice(), copy_v3_v3_int(), mid_v3_v3v3(), blender::math::min(), next_lattice(), prev_lattice(), process(), setcorner(), CORNER::value, and BoundBox::vec.
Referenced by polygonize().
|
static |
Definition at line 487 of file mball_tessellate.cc.
References BLI_memarena_free(), MEM_freeN(), and process().
Referenced by BKE_mball_polygonize().
Definition at line 914 of file mball_tessellate.cc.
References HASH, EDGELIST::i1, EDGELIST::i2, EDGELIST::j1, EDGELIST::j2, EDGELIST::k1, EDGELIST::k2, EDGELIST::next, and EDGELIST::vid.
Referenced by vertid().
|
static |
Iterates over ALL objects in the scene and all of its sets, including making all duplis (not only meta-elements). Copies meta-elements to #process.mainb array. Computes bounding boxes for building BVH.
Definition at line 1179 of file mball_tessellate.cc.
References ATTR_FALLTHROUGH, MetaElem::bb, BKE_object_visibility(), BKE_scene_base_iter_next(), BLI_memarena_alloc(), BLI_string_split_name_number(), copy_m4_m4(), copy_v3_fl3(), copy_v3_v3(), Object::data, DEG_get_mode(), depsgraph, MetaBall::editelems, MetaBall::elems, MetaElem::flag, Base::flag_legacy, Object::id, MetaElem::imat, INIT_MINMAX, invert_m4_m4(), LISTBASE_FOREACH, make_box_union(), MetaElem::mat, MAX_ID_NAME, MB_BALL, MB_CUBE, MB_ELIPSOID, MB_HIDE, MB_NEGATIVE, MB_PLANE, MB_TUBE, MEM_reallocN, blender::math::min_max(), mul_m4_series, mul_m4_v3(), ID::name, OB_DUPLIFACES, OB_DUPLIVERTS, OB_FROMDUPLI, OB_MBALL, OB_VISIBLE_SELF, object_has_zero_axis_matrix(), Object::parent, pos, process(), quat_to_mat4(), MetaElem::rad2, rot, MetaElem::s, scene, STREQ, Object::transflag, Object::type, unit_m4(), UNLIKELY, and BoundBox::vec.
Referenced by BKE_mball_polygonize().
Definition at line 154 of file mball_tessellate.cc.
References MetaElem::bb, copy_v3_v3(), Box::max, Box::min, Box::ml, and BoundBox::vec.
Referenced by build_bvh_spatial().
Definition at line 143 of file mball_tessellate.cc.
References b, Box::max, max_ff(), Box::min, and min_ff().
Referenced by build_bvh_spatial(), and init_meta().
Adds face to indices, expands memory if needed.
Definition at line 438 of file mball_tessellate.cc.
References accumulate_vertex_normals_v3(), MBALL_ARRAY_LEN_INIT, MEM_reallocN, normal_quad_v3(), normal_tri_v3(), process(), and UNLIKELY.
Referenced by docube().
|
static |
create the 256 entry table for cubical polygonization
Definition at line 749 of file mball_tessellate.cc.
References B, BF, BN, corner1, corner2, cubetable, e, ELEM, F, INTLIST::i, L, LB, leftface, LF, INTLISTS::list, LN, LT, MB_BIT, MEM_callocN, N, INTLIST::next, INTLISTS::next, nextcwedge(), otherface(), pos, R, RB, RF, rightface, RN, RT, T, TF, and TN.
Referenced by polygonize().
Computes density at given position form all meta-balls which contain this point in their box. Traverses BVH using a queue.
Definition at line 407 of file mball_tessellate.cc.
References MetaballBVHNode::child, densfunc(), node, process(), and z().
Referenced by converge(), metaball_foreach_id(), metaball_free_data(), metaball_init_data(), and setcorner().
Definition at line 1060 of file mball_tessellate.cc.
References ceil(), int, and pos.
Referenced by find_first_points(), and prev_lattice().
|
static |
Definition at line 1161 of file mball_tessellate.cc.
References has_zero_axis_m4(), and Object::parent.
Referenced by init_meta().
Definition at line 740 of file mball_tessellate.cc.
References leftface, and rightface.
Referenced by makecubetable().
Partitions part of #process.mainb array [start, end) along axis s. Returns i, where centroids of elements in the [start, i) segment lie "on the right side" of div, and elements in the [i, end) segment lie "on the left"
Definition at line 166 of file mball_tessellate.cc.
References MetaElem::bb, and BoundBox::vec.
Referenced by build_bvh_spatial().
|
static |
The main polygonization processing function. Allocates memory, makes cube-table, finds starting surface points and processes cubes on the stack until none left.
Definition at line 1134 of file mball_tessellate.cc.
References docube(), find_first_points(), HASHSIZE, makecubetable(), MEM_callocN, and process().
Referenced by BKE_mball_polygonize().
Definition at line 1066 of file mball_tessellate.cc.
References next_lattice(), and pos.
Referenced by find_first_points().
|
static |
Inserts cube at lattice i, j, k into hash table, marking it as "done"
Definition at line 854 of file mball_tessellate.cc.
References BLI_memarena_alloc(), HASH, CENTERLIST::i, CENTERLIST::j, CENTERLIST::k, l, BMLoop::next, CENTERLIST::next, and process().
Referenced by add_cube().
return corner with the given lattice location set (and cache) its function value
Definition at line 670 of file mball_tessellate.cc.
References BLI_memarena_alloc(), CORNER::co, float, HASH, CORNER::i, CORNER::j, CORNER::k, metaball(), CORNER::next, process(), and CORNER::value.
Referenced by add_cube(), and find_first_points().
|
static |
Sets vid of vertex lying on given edge.
Definition at line 881 of file mball_tessellate.cc.
References BLI_memarena_alloc(), HASH, EDGELIST::i1, EDGELIST::i2, EDGELIST::j1, EDGELIST::j2, EDGELIST::k1, EDGELIST::k2, EDGELIST::next, process(), and EDGELIST::vid.
Referenced by vertid().
If it wasn't previously computed, does converge() and adds vertex to process.
Definition at line 969 of file mball_tessellate.cc.
References addtovertices(), converge(), getedge(), CORNER::i, int, CORNER::j, CORNER::k, process(), setedge(), v, and zero_v3().
Referenced by docube().
|
static |
|
static |
|
static |
Definition at line 526 of file mball_tessellate.cc.
Referenced by BKE_mball_cubeTable_free(), docube(), and makecubetable().
|
static |
Definition at line 527 of file mball_tessellate.cc.
Referenced by BKE_mesh_calc_loop_tangent_ex(), BKE_mesh_calc_loop_tangent_single_ex(), BKE_mesh_calc_relative_deform(), BKE_mesh_validate_arrays(), bm_mesh_calc_tessellation_with_partial__multi_threaded(), bm_mesh_calc_uv_islands(), BM_mesh_intersect(), BM_vert_collapse_faces(), bmo_dissolve_faces_exec(), blender::bke::pbvh::build_nodes_recursive_grids(), blender::bke::pbvh::build_nodes_recursive_mesh(), blender::ed::sculpt_paint::calc_front_face(), blender::bke::pbvh::calc_node_face_normals(), blender::bke::compare_meshes::compare_meshes(), blender::nodes::node_geo_input_mesh_face_area_cc::construct_face_area_varray(), blender::draw::pbvh::create_index_bmesh(), blender::nodes::node_geo_curve_fill_cc::do_cdt_with_mask(), do_multires_bake(), dynamicPaint_Modifier_apply(), ED_uvedit_selected_faces(), blender::draw::pbvh::extract_data_corner_bmesh(), blender::draw::pbvh::extract_data_face_bmesh(), blender::draw::pbvh::extract_data_vert_bmesh(), blender::nodes::node_geo_extrude_mesh_cc::extrude_mesh_face_regions(), blender::meshintersect::fill_input_from_string(), blender::draw::pbvh::fill_vbo_face_set_bmesh(), blender::draw::pbvh::fill_vbo_mask_bmesh(), blender::draw::pbvh::fill_vbo_normal_bmesh(), blender::draw::pbvh::fill_vbo_position_bmesh(), blender::draw::pbvh::fill_vbos_mesh(), Freestyle::WFillGrid::fillGrid(), Freestyle::WSFillGrid::fillGrid(), blender::io::obj::fixup_invalid_face(), blender::nodes::node_geo_input_mesh_edge_angle_cc::AngleFieldInput::get_varray_for_context(), blender::nodes::node_geo_input_mesh_edge_angle_cc::SignedAngleFieldInput::get_varray_for_context(), blender::nodes::node_geo_input_mesh_face_is_planar_cc::PlanarFieldInput::get_varray_for_context(), blender::meshintersect::graph_draw(), knife_find_line_hits(), M_Geometry_delaunay_2d_cdt(), modify_mesh(), modify_mesh(), multiresModifier_disp_run(), normalEditModifier_do(), blender::bke::mesh::normals_calc_corners(), blender::ed::sculpt_paint::hide::partialvis_update_bmesh_faces(), blender::io::usd::read_generic_mesh_primvar(), blender::ed::sculpt_paint::undo::restore_face_set_from_undo_step(), blender::ed::sculpt_paint::undo::restore_list(), btConvexHullInternal::shrink(), ss_sync_ccg_from_derivedmesh(), ss_sync_from_uv(), and blender::geometry::weld_mesh_context_create().
|
static |