godot/scene/resources/3d/importer_mesh.cpp

/**************************************************************************/
/*  importer_mesh.cpp                                                     */
/**************************************************************************/
/*                         This file is part of:                          */
/*                             GODOT ENGINE                               */
/*                        https://godotengine.org                         */
/**************************************************************************/
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.                  */
/*                                                                        */
/* Permission is hereby granted, free of charge, to any person obtaining  */
/* a copy of this software and associated documentation files (the        */
/* "Software"), to deal in the Software without restriction, including    */
/* without limitation the rights to use, copy, modify, merge, publish,    */
/* distribute, sublicense, and/or sell copies of the Software, and to     */
/* permit persons to whom the Software is furnished to do so, subject to  */
/* the following conditions:                                              */
/*                                                                        */
/* The above copyright notice and this permission notice shall be         */
/* included in all copies or substantial portions of the Software.        */
/*                                                                        */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,        */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF     */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY   */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,   */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE      */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                 */
/**************************************************************************/

#include "importer_mesh.h"

#include "core/io/marshalls.h"
#include "core/math/convex_hull.h"
#include "core/math/random_pcg.h"
#include "scene/resources/surface_tool.h"

#include <cstdint>

String ImporterMesh::validate_blend_shape_name(const String &p_name) {}

void ImporterMesh::add_blend_shape(const String &p_name) {}

int ImporterMesh::get_blend_shape_count() const {}

String ImporterMesh::get_blend_shape_name(int p_blend_shape) const {}

void ImporterMesh::set_blend_shape_mode(Mesh::BlendShapeMode p_blend_shape_mode) {}

Mesh::BlendShapeMode ImporterMesh::get_blend_shape_mode() const {}

void ImporterMesh::add_surface(Mesh::PrimitiveType p_primitive, const Array &p_arrays, const TypedArray<Array> &p_blend_shapes, const Dictionary &p_lods, const Ref<Material> &p_material, const String &p_name, const uint64_t p_flags) {}

int ImporterMesh::get_surface_count() const {}

Mesh::PrimitiveType ImporterMesh::get_surface_primitive_type(int p_surface) {}
Array ImporterMesh::get_surface_arrays(int p_surface) const {}
String ImporterMesh::get_surface_name(int p_surface) const {}
void ImporterMesh::set_surface_name(int p_surface, const String &p_name) {}

Array ImporterMesh::get_surface_blend_shape_arrays(int p_surface, int p_blend_shape) const {}
int ImporterMesh::get_surface_lod_count(int p_surface) const {}
Vector<int> ImporterMesh::get_surface_lod_indices(int p_surface, int p_lod) const {}

float ImporterMesh::get_surface_lod_size(int p_surface, int p_lod) const {}

uint64_t ImporterMesh::get_surface_format(int p_surface) const {}

Ref<Material> ImporterMesh::get_surface_material(int p_surface) const {}

void ImporterMesh::set_surface_material(int p_surface, const Ref<Material> &p_material) {}

template <typename T>
static Vector<T> _remap_array(Vector<T> p_array, const Vector<uint32_t> &p_remap, uint32_t p_vertex_count) {}

static void _remap_arrays(Array &r_arrays, const Vector<uint32_t> &p_remap, uint32_t p_vertex_count) {}

void ImporterMesh::optimize_indices() {}

#define VERTEX_SKIN_FUNC(bone_count, vert_idx, read_array, write_array, transform_array, bone_array, weight_array)

void ImporterMesh::generate_lods(float p_normal_merge_angle, Array p_bone_transform_array) {}

void ImporterMesh::_generate_lods_bind(float p_normal_merge_angle, float p_normal_split_angle, Array p_skin_pose_transform_array) {}

bool ImporterMesh::has_mesh() const {}

Ref<ArrayMesh> ImporterMesh::get_mesh(const Ref<ArrayMesh> &p_base) {}

void ImporterMesh::clear() {}

void ImporterMesh::create_shadow_mesh() {}

Ref<ImporterMesh> ImporterMesh::get_shadow_mesh() const {}

void ImporterMesh::_set_data(const Dictionary &p_data) {}
Dictionary ImporterMesh::_get_data() const {}

Vector<Face3> ImporterMesh::get_faces() const {}

Vector<Ref<Shape3D>> ImporterMesh::convex_decompose(const Ref<MeshConvexDecompositionSettings> &p_settings) const {}

Ref<ConvexPolygonShape3D> ImporterMesh::create_convex_shape(bool p_clean, bool p_simplify) const {}

Ref<ConcavePolygonShape3D> ImporterMesh::create_trimesh_shape() const {}

Ref<NavigationMesh> ImporterMesh::create_navigation_mesh() {}

extern bool (*array_mesh_lightmap_unwrap_callback)(float p_texel_size, const float *p_vertices, const float *p_normals, int p_vertex_count, const int *p_indices, int p_index_count, const uint8_t *p_cache_data, bool *r_use_cache, uint8_t **r_mesh_cache, int *r_mesh_cache_size, float **r_uv, int **r_vertex, int *r_vertex_count, int **r_index, int *r_index_count, int *r_size_hint_x, int *r_size_hint_y);

struct EditorSceneFormatImporterMeshLightmapSurface {};

static const uint32_t custom_shift[RS::ARRAY_CUSTOM_COUNT] =;

Error ImporterMesh::lightmap_unwrap_cached(const Transform3D &p_base_transform, float p_texel_size, const Vector<uint8_t> &p_src_cache, Vector<uint8_t> &r_dst_cache) {}

void ImporterMesh::set_lightmap_size_hint(const Size2i &p_size) {}

Size2i ImporterMesh::get_lightmap_size_hint() const {}

void ImporterMesh::_bind_methods() {}