🧊 MCSA#
Usage Example#
from scfile import formats
with formats.mcsa.McsaDecoder("path/to/model.mcsa") as mcsa:
data = mcsa.decode()
with formats.obj.ObjEncoder(data) as obj:
obj.encode().save("output.obj")
Decoder#
- class McsaDecoder(file, options=None)[source]#
Bases:
FileDecoder[ModelContent],McsaFileIO- format: FileFormat = 'mcsa'#
- order: ByteOrder = '<'#
- signature: Optional[bytes] = b'MCSA'#
Exceptions#
- exception McsaDecodingError(file)[source]#
Bases:
FileError,DecodingErrorBase exception for MCSA model related errors.
- prefix#
- exception McsaCountsLimit(file, type, count)[source]#
Bases:
McsaDecodingError,ParsingErrorRaised when model exceeds allowed geometry limits (vertices/polygons count).
-
type:
str#
-
count:
int#
-
type:
- exception McsaBoneLinksError(file, links_count)[source]#
Bases:
McsaDecodingError,ParsingErrorRaised when mesh contain unexpected/invalid links count.
-
links_count:
int#
-
links_count:
- exception McsaVersionUnsupported(file, version)[source]#
Bases:
McsaDecodingError,UnsupportedErrorRaised when attempting to parse unsupported model version.
-
version:
float#
-
version:
IO#
Extensions for MCSA file format with custom struct-based I/O methods.
- class McsaFileIO(file, mode='r', closefd=True, opener=None)[source]#
Bases:
StructFileIO