Blender
V4.5
source
blender
io
wavefront_obj
importer
obj_import_mesh.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9
#pragma once
10
11
#include "
BLI_utility_mixins.hh
"
12
13
#include "
obj_import_mtl.hh
"
14
#include "
obj_import_objects.hh
"
15
16
struct
Main
;
17
struct
Mesh
;
18
struct
Material
;
19
struct
Object
;
20
struct
OBJImportParams
;
21
22
namespace
blender::io::obj
{
23
27
class
MeshFromGeometry
:
NonMovable
,
NonCopyable
{
28
private
:
29
Geometry
&mesh_geometry_;
30
const
GlobalVertices
&global_vertices_;
31
32
public
:
33
MeshFromGeometry
(
Geometry
&mesh_geometry,
const
GlobalVertices
&global_vertices)
34
: mesh_geometry_(mesh_geometry), global_vertices_(global_vertices)
35
{
36
}
37
38
Mesh
*
create_mesh
(
const
OBJImportParams
&import_params);
39
40
Object
*
create_mesh_object
(
Main
*bmain,
41
Map
<std::string, std::unique_ptr<MTLMaterial>> &materials,
42
Map<std::string, Material *>
&created_materials,
43
const
OBJImportParams
&import_params);
44
45
private
:
51
void
fixup_invalid_faces();
52
void
create_vertices(
Mesh
*mesh);
56
void
create_faces(
Mesh
*mesh,
bool
use_vertex_groups);
60
void
create_edges(
Mesh
*mesh);
64
void
create_uv_verts(
Mesh
*mesh);
68
void
create_materials(
Main
*bmain,
69
Map
<std::string, std::unique_ptr<MTLMaterial>> &materials,
70
Map<std::string, Material *>
&created_materials,
71
Object
*
obj
,
72
bool
relative_paths);
73
void
create_normals(
Mesh
*mesh);
74
void
create_colors(
Mesh
*mesh);
75
void
create_vertex_groups(
Object
*
obj
);
76
77
bool
has_normals()
const
;
78
};
79
80
}
// namespace blender::io::obj
BLI_utility_mixins.hh
blender::Map
Definition
BLI_map.hh:129
blender::NonCopyable::NonCopyable
NonCopyable(const NonCopyable &other)=delete
blender::NonMovable::NonMovable
NonMovable(NonMovable &&other)=delete
blender::io::obj::MeshFromGeometry::MeshFromGeometry
MeshFromGeometry(Geometry &mesh_geometry, const GlobalVertices &global_vertices)
Definition
obj_import_mesh.hh:33
blender::io::obj::MeshFromGeometry::create_mesh
Mesh * create_mesh(const OBJImportParams &import_params)
Definition
obj_import_mesh.cc:37
blender::io::obj::MeshFromGeometry::create_mesh_object
Object * create_mesh_object(Main *bmain, Map< std::string, std::unique_ptr< MTLMaterial > > &materials, Map< std::string, Material * > &created_materials, const OBJImportParams &import_params)
Definition
obj_import_mesh.cc:71
blender::io::obj
Definition
obj_export_file_writer.cc:35
obj_import_mtl.hh
obj_import_objects.hh
Main
Definition
BKE_main.hh:141
Material
Definition
DNA_material_types.h:164
Mesh
Definition
DNA_mesh_types.h:59
OBJImportParams
Definition
IO_wavefront_obj.hh:72
Object
Definition
DNA_object_types.h:192
blender::io::obj::Geometry
Definition
obj_import_objects.hh:132
blender::io::obj::GlobalVertices
Definition
obj_import_objects.hh:24
Generated on
for Blender by
doxygen
1.15.0