Blender V4.5
blender::io::obj::MTLWriter Class Reference

#include <obj_export_file_writer.hh>

Inherits blender::NonMovable, and blender::NonCopyable.

<tt>.MTL</tt> writers.

 MTLWriter (const char *obj_filepath, bool write_file) noexcept(false)
 ~MTLWriter ()
void write_header (const char *blen_filepath)
void write_materials (const char *blen_filepath, ePathReferenceMode path_mode, const char *dest_dir, bool write_pbr)
StringRefNull mtl_file_path () const
Vector< int > add_materials (const OBJMesh &mesh_to_export)
const char * mtlmaterial_name (int index)

Detailed Description

Responsible for writing a .MTL file.

Definition at line 153 of file obj_export_file_writer.hh.

Constructor & Destructor Documentation

◆ MTLWriter()

blender::io::obj::MTLWriter::MTLWriter ( const char * obj_filepath,
bool write_file )

◆ ~MTLWriter()

blender::io::obj::MTLWriter::~MTLWriter ( )

Definition at line 566 of file obj_export_file_writer.cc.

References CLOG_ERROR, and LOG.

Member Function Documentation

◆ add_materials()

Vector< int > blender::io::obj::MTLWriter::add_materials ( const OBJMesh & mesh_to_export)

Add the materials of the given object to MTLWriter, de-duplicating against ones that are already there. Return a Vector of indices into mtlmaterials_ that hold the MTLMaterial that corresponds to each material slot, in order, of the given Object. Indexes are returned rather than pointers to the MTLMaterials themselves because the mtlmaterials_ Vector may move around when resized.

Definition at line 733 of file obj_export_file_writer.cc.

References i, blender::io::obj::OBJMesh::materials, blender::io::obj::mtlmaterial_for_material(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and blender::io::obj::OBJMesh::tot_materials().

Referenced by blender::io::obj::write_mesh_objects().

◆ mtl_file_path()

StringRefNull blender::io::obj::MTLWriter::mtl_file_path ( ) const

Definition at line 589 of file obj_export_file_writer.cc.

Referenced by blender::io::obj::write_mesh_objects().

◆ mtlmaterial_name()

const char * blender::io::obj::MTLWriter::mtlmaterial_name ( int index)

Definition at line 756 of file obj_export_file_writer.cc.

Referenced by blender::io::obj::write_mesh_objects().

◆ write_header()

void blender::io::obj::MTLWriter::write_header ( const char * blen_filepath)

Definition at line 578 of file obj_export_file_writer.cc.

References BKE_blender_version_string(), and BLI_path_basename().

◆ write_materials()

void blender::io::obj::MTLWriter::write_materials ( const char * blen_filepath,
ePathReferenceMode path_mode,
const char * dest_dir,
bool write_pbr )

Write all of the material specifications to the MTL file. For consistency of output from run to run (useful for testing), the materials are sorted by name before writing.

Definition at line 693 of file obj_export_file_writer.cc.

References b, BLI_path_normalize(), BLI_path_slash_native(), BLI_path_split_dir_part(), blender::io::obj::Count, FILE_MAX, blender::io::obj::is_non_pbr_map(), blender::io::obj::is_pbr_map(), blender::io::obj::MTLTexMap::is_valid(), and blender::io::path_reference_copy().


The documentation for this class was generated from the following files: