MCPcopy
hub / github.com/g3n/engine / decTriangles

Method decTriangles

loader/collada/library_geometries.go:455–487  ·  view source on GitHub ↗
(start xml.StartElement, mesh *Mesh)

Source from the content-addressed store, hash-verified

453}
454
455func (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
489func (d *Decoder) decInputShared(start xml.StartElement) (InputShared, error) {
490

Callers 1

decMeshMethod · 0.95

Calls 4

decNextChildMethod · 0.95
decInputSharedMethod · 0.95
decPrimitiveMethod · 0.95
findAttribFunction · 0.85

Tested by

no test coverage detected