(start xml.StartElement, mesh *Mesh)
| 453 | } |
| 454 | |
| 455 | func (d *Decoder) decTriangles(start xml.StartElement, mesh *Mesh) error { |
| 456 | tr := &Triangles{} |
| 457 | |
| 458 | tr.Name = findAttrib(start, "name").Value |
| 459 | tr.Count, _ = strconv.Atoi(findAttrib(start, "count").Value) |
| 460 | tr.Material = findAttrib(start, "material").Value |
| 461 | mesh.PrimitiveElements = append(mesh.PrimitiveElements, tr) |
| 462 | |
| 463 | for { |
| 464 | // Get next child |
| 465 | child, data, err := d.decNextChild(start) |
| 466 | if err != nil || child.Name.Local == "" { |
| 467 | return err |
| 468 | } |
| 469 | // Decode input shared |
| 470 | if child.Name.Local == "input" { |
| 471 | inp, err := d.decInputShared(child) |
| 472 | if err != nil { |
| 473 | return err |
| 474 | } |
| 475 | tr.Input = append(tr.Input, inp) |
| 476 | continue |
| 477 | } |
| 478 | // Decode p (primitive) |
| 479 | if child.Name.Local == "p" { |
| 480 | p, err := d.decPrimitive(child, data) |
| 481 | if err != nil { |
| 482 | return err |
| 483 | } |
| 484 | tr.P = p |
| 485 | } |
| 486 | } |
| 487 | } |
| 488 | |
| 489 | func (d *Decoder) decInputShared(start xml.StartElement) (InputShared, error) { |
| 490 |
no test coverage detected