protected override ModelRoot AddToModel(ModelRoot gltfModel, string nodeName, IEnumerable <BuildingModel> models)
        {
            TriangulationNormals triangulation = this.Triangulate(models);

            if (triangulation.Positions.Count() == 0)
            {
                _logger.LogWarning($"{this.GetType().Name} triangulation has 0 positions. No data written to model");
                return(gltfModel);
            }

            gltfModel = _gltfService.AddMesh(gltfModel, glTFNodeName, new IndexedTriangulation(triangulation), null, null, doubleSided: true);

            return(gltfModel);
        }
Ejemplo n.º 2
0
 public IndexedTriangulation(TriangulationNormals triangulation)
 {
     Positions = triangulation.Positions.ToList();
     Indices   = triangulation.Indices.ToList();
     Colors    = triangulation.Colors?.ToList();
 }