Blender
V5.0
source
blender
io
usd
intern
usd_writer_text.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2025 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
#include "
usd_writer_text.hh
"
5
#include "
usd_exporter_context.hh
"
6
7
#include "
BKE_lib_id.hh
"
8
#include "
BKE_mesh.hh
"
9
#include "
BKE_object.hh
"
10
11
#include "
DNA_mesh_types.h
"
12
13
namespace
blender::io::usd
{
14
15
USDTextWriter::USDTextWriter
(
const
USDExporterContext
&ctx) :
USDGenericMeshWriter
(ctx) {}
16
17
Mesh
*
USDTextWriter::get_export_mesh
(
Object
*object_eval,
bool
&r_needsfree)
18
{
19
Mesh
*mesh_eval =
BKE_object_get_evaluated_mesh
(object_eval);
20
if
(mesh_eval !=
nullptr
) {
21
/* Mesh_eval only exists when generative modifiers are in use. */
22
r_needsfree =
false
;
23
return
mesh_eval;
24
}
25
r_needsfree =
true
;
26
return
BKE_mesh_new_from_object
(
usd_export_context_
.depsgraph, object_eval,
false
,
false
,
true
);
27
}
28
29
void
USDTextWriter::free_export_mesh
(
Mesh
*mesh)
30
{
31
BKE_id_free
(
nullptr
, mesh);
32
}
33
34
}
// namespace blender::io::usd
BKE_lib_id.hh
BKE_id_free
void BKE_id_free(Main *bmain, void *idv)
Definition
lib_id_delete.cc:223
BKE_mesh_new_from_object
Mesh * BKE_mesh_new_from_object(Depsgraph *depsgraph, Object *object, bool preserve_all_data_layers, bool preserve_origindex, bool ensure_subdivision)
Definition
mesh_convert.cc:874
BKE_mesh.hh
BKE_object.hh
General operations, lookup, etc. for blender objects.
BKE_object_get_evaluated_mesh
Mesh * BKE_object_get_evaluated_mesh(const Object *object_eval)
Definition
blenkernel/intern/object.cc:4187
DNA_mesh_types.h
blender::io::usd::USDAbstractWriter::usd_export_context_
const USDExporterContext usd_export_context_
Definition
usd_writer_abstract.hh:35
blender::io::usd::USDGenericMeshWriter::USDGenericMeshWriter
USDGenericMeshWriter(const USDExporterContext &ctx)
Definition
usd_writer_mesh.cc:47
blender::io::usd::USDTextWriter::get_export_mesh
Mesh * get_export_mesh(Object *object_eval, bool &r_needsfree) override
Definition
usd_writer_text.cc:17
blender::io::usd::USDTextWriter::free_export_mesh
void free_export_mesh(Mesh *mesh) override
Definition
usd_writer_text.cc:29
blender::io::usd::USDTextWriter::USDTextWriter
USDTextWriter(const USDExporterContext &ctx)
Definition
usd_writer_text.cc:15
blender::io::usd
Definition
usd_armature_utils.cc:24
Mesh
Definition
DNA_mesh_types.h:58
Object
Definition
DNA_object_types.h:191
blender::io::usd::USDExporterContext
Definition
usd_exporter_context.hh:23
usd_exporter_context.hh
usd_writer_text.hh
Generated on
for Blender by
doxygen
1.16.1