****************************************************************************** mtl parse functions */ Parses material file line, dispatching to specific parsers
(line string)
| 717 | |
| 718 | // Parses material file line, dispatching to specific parsers |
| 719 | func (dec *Decoder) parseMtlLine(line string) error { |
| 720 | |
| 721 | // Ignore empty lines |
| 722 | fields := strings.Fields(line) |
| 723 | if len(fields) == 0 { |
| 724 | return nil |
| 725 | } |
| 726 | // Ignore comment lines |
| 727 | ltype := fields[0] |
| 728 | if strings.HasPrefix(ltype, "#") { |
| 729 | return nil |
| 730 | } |
| 731 | switch ltype { |
| 732 | case "newmtl": |
| 733 | return dec.parseNewmtl(fields[1:]) |
| 734 | case "d": |
| 735 | return dec.parseDissolve(fields[1:]) |
| 736 | case "Ka": |
| 737 | return dec.parseKa(fields[1:]) |
| 738 | case "Kd": |
| 739 | return dec.parseKd(fields[1:]) |
| 740 | case "Ke": |
| 741 | return dec.parseKe(fields[1:]) |
| 742 | case "Ks": |
| 743 | return dec.parseKs(fields[1:]) |
| 744 | case "Ni": |
| 745 | return dec.parseNi(fields[1:]) |
| 746 | case "Ns": |
| 747 | return dec.parseNs(fields[1:]) |
| 748 | case "illum": |
| 749 | return dec.parseIllum(fields[1:]) |
| 750 | case "map_Kd": |
| 751 | return dec.parseMapKd(fields[1:]) |
| 752 | default: |
| 753 | dec.appendWarn(mtlType, "field not supported: "+ltype) |
| 754 | } |
| 755 | return nil |
| 756 | } |
| 757 | |
| 758 | // Parses new material definition |
| 759 | // newmtl <mat_name> |
nothing calls this directly
no test coverage detected