Blender V5.0
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 607 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 774 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 630 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 797 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)

◆ 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 734 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().

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


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