Exemple #1
0
 private void CheckMeshLimitVertex(ObjMesh mesh)
 {
     if (mesh.FaceTriangles.Count > LIMITVERTEX)
     {
         throw new ArgumentOutOfRangeException($"FaceTriangles.Count, El límite actual para la creación de mesh es de: {LIMITVERTEX} y un objeto de su archivo posee: {mesh.FaceTriangles.Count}");
     }
 }
Exemple #2
0
        public TgcMesh LoadTgcMeshFromObj(string fullobjpath, int index)
        {
            LoadObjFromFile(fullobjpath);
            ObjMesh objMesh = ObjMeshContainer.ListObjMesh[index];

            if (objMesh.Usemtl.Count > 0)
            {
                MeshBuilder
                .AddMaterials(ObjMaterialsLoader)
                .ChargueMaterials()
                .AddDxMesh(objMesh.FaceTriangles.Count)
                .ChargeBuffer(ObjMeshContainer, index)
                .ChargeAttributeBuffer(objMesh.CreateMaterialIdsArray())
                .SetEnable(true)
                .AddAutotransform(true)
                .SetHasBoundingBox(false);
            }
            else
            {
                MeshBuilder.AddDxMesh(objMesh.FaceTriangles.Count)
                .ChargeBuffer(ObjMeshContainer, index)
                .SetEnable(true)
                .AddAutotransform(true)
                .SetHasBoundingBox(false);
            }

            return(MeshBuilder.Build(ObjMeshContainer.ListObjMesh[index])); //TODO pasarle el name no mas
        }
        /// <summary>
        ///   Construye el mesh con los atributos que se le fueron agregando
        /// </summary>
        /// <param name="objMesh">ObjMesh</param>
        /// <returns>MeshBuilder</returns>
        public TgcMesh Build(ObjMesh objMesh)
        {
            TgcMesh unMesh = MeshFactory.createNewMesh(DxMesh, objMesh.Name, ChargueBufferStrategy.RenderType);

            SetBoundingBox(unMesh);
            unMesh.AutoTransform = AutoTransform;
            unMesh.Enabled       = Enable;
            unMesh.Materials     = MeshMaterials;
            unMesh.DiffuseMaps   = MeshTextures;
            return(unMesh);
        }