Blender V4.3
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< intadd_materials (const OBJMesh &mesh_to_export)
 
const char * mtlmaterial_name (int index)
 

Detailed Description

Responsible for writing a .MTL file.

Definition at line 167 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 ( )

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 720 of file obj_export_file_writer.cc.

References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default(), blender::io::obj::OBJMesh::materials, blender::io::obj::mtlmaterial_for_material(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), 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 576 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 743 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 680 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, int, blender::io::obj::is_non_pbr_map(), blender::io::obj::is_pbr_map(), blender::io::path_reference_copy(), tex, blender::io::obj::FormatHandler::write_mtl_newmtl(), and blender::io::obj::FormatHandler::write_string().


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