Module qlibs.models.modelloader

Module for loading 3D models

class qlibs.models.modelloader.MTLLoader

.mtl file loader

get_mat(name=None)

Get material with specified name, or latest if name is None

load_file(f)

Load data from file f (f needs to support iteration over lines)

load_path(path)

Calls load_file creating file object from path

class qlibs.models.modelloader.Material(name)

Object that describes material properties

process(ensure_processing=False)

Process raw parameters Does not process already processed Material unless ensure_processing specified

class qlibs.models.modelloader.OBJ(name, materials)

Loaded object class

get_sub_obj(material)

Get SubOBJ for material

iter_materials_non_textured(*form)

Iterate over non textured material faces

iter_materials_textured(*form)

Iterate over textured material faces

resolve(*form, filter_by=<function OBJ.<lambda>>, material=None)

Resolves faces to parameter array defined by form format

class qlibs.models.modelloader.OBJIndex(value)

Parameters to specify data order

VNX = 2
VNY = 5
VNZ = 8
VTX = 1
VTY = 4
VTZ = 7
VX = 0
VY = 3
VZ = 6
class qlibs.models.modelloader.OBJLoader

Loads object files

get_obj(name=None)

Get object by name or latest object if name is None

get_sub_obj(name=None, material=None)

Shortcut for self.get_obj(name).get_sub_obj(material)

load_file(f, triangulate=True)

Loads models from file object Triangulates faces if triangulate specified

load_path(path)

Loads models from path

class qlibs.models.modelloader.SubOBJ(name)

Part of object with one material

qlibs.models.modelloader.check_has_no_textures(face)

Checks if object’s face does not have all textures

qlibs.models.modelloader.check_has_textures(face)

Checks if object’s face has all textures

qlibs.models.modelloader.index_or_none(value)

Maps OBJ file index to python 0-index scheme

qlibs.models.modelloader.int_or_none(value)

Returns int or none if int could not be converted