public void LoadTgcMeshFromObjOk() { var tgcObjLoader = new TGCObjLoader(); TgcMesh tgcMesh = tgcObjLoader.LoadTgcMeshFromObj(_fullobjpath, 0); Assert.NotNull(tgcMesh); }
public void ProcessLineThrowWithBadAction() { var tgcObjLoader = new TGCObjLoader(); var line = "badAction Blender v2.79 (sub 0) OBJ File: ''"; Assert.That(() => { tgcObjLoader.ProccesLine(line); }, Throws.InvalidOperationException); }
public void LoadTgcMeshFromObjwithOutMaterialsOk() { var tgcObjLoader = new TGCObjLoader(); TgcMesh tgcMesh = tgcObjLoader.LoadTgcMeshFromObj(_fullobjpathmeshcolorsolo, 0); Assert.NotNull(tgcMesh); }
public void ProcessLineReturnWithSpaceBlanck() { var tgcObjLoader = new TGCObjLoader(); var line = " "; tgcObjLoader.ProccesLine(line); Assert.AreEqual(tgcObjLoader.ObjMeshContainer.ListObjMesh.Count, 0); }
public void LoadObjFromFileOk() { var tgcObjLoader = new TGCObjLoader(); tgcObjLoader.LoadObjFromFile(_fullobjpath); Assert.Greater(tgcObjLoader.ObjMeshContainer.ListObjMesh.Count, 0); Assert.AreEqual(tgcObjLoader.ObjMeshContainer.VertexListV.Count, 8); }
public void FilterByKeyWordOk() { var tgcObjLoader = new TGCObjLoader(); var lines = File.ReadAllLines(_fullobjpath); string mtllib = tgcObjLoader.FilterByKeyword(lines, "mtllib")[0]; Assert.AreEqual(mtllib, "mtllib cubotexturacaja.mtl"); }
public void GetListOfMaterialsWithWhiteSpaceOk() { var tgcObjLoader = new TGCObjLoader(); var lines = File.ReadAllLines(_fullobjpathmeshcontextura); tgcObjLoader.GetListOfMaterials(lines, _fullobjpathmeshcontextura); Assert.AreEqual(tgcObjLoader.ListMtllib.First(), "tgcito con textura.mtl"); }
public void GetListOfMaterialsWithNameOk() { var tgcObjLoader = new TGCObjLoader(); var lines = File.ReadAllLines(_fullobjpath); tgcObjLoader.GetListOfMaterials(lines, _fullobjpath); Assert.AreEqual(tgcObjLoader.ListMtllib.First(), "cubotexturacaja.mtl"); }
public void GetListOfMaterialsOk() { var tgcObjLoader = new TGCObjLoader(); var lines = File.ReadAllLines(_fullobjpath); tgcObjLoader.GetListOfMaterials(lines, _fullobjpath); Assert.Greater(tgcObjLoader.ListMtllib.Count, 0); }
public void ProcessLineReturnWithFirstCaracterHastag() { var tgcObjLoader = new TGCObjLoader(); var line = "# Blender v2.79 (sub 0) OBJ File: ''"; tgcObjLoader.ProccesLine(line); Assert.AreEqual(tgcObjLoader.ObjMeshContainer.ListObjMesh.Count, 0); }
public void ProcessLineReturnWithEmptyLine() { var tgcObjLoader = new TGCObjLoader(); var line = String.Empty; tgcObjLoader.ProccesLine(line); Assert.AreEqual(tgcObjLoader.ObjMeshContainer.ListObjMesh.Count, 0); }
public void ProccesLineNewObjet() { var tgcObjLoader = new TGCObjLoader(); var line = "o Cube"; tgcObjLoader.ProccesLine(line); Assert.AreEqual(tgcObjLoader.ObjMeshContainer.ListObjMesh.First().Name, "Cube"); }
public void CreateMeshOnlyColor() { TGCObjLoader tgcObjLoader = new TGCObjLoader(); tgcObjLoader.LoadObjFromFile(_fullobjpathmeshcolorsolo); _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); MeshBuilder meshBuilder = new MeshBuilder().AddDxMesh(_resObjMesh.FaceTriangles.Count).ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0); Assert.NotNull(meshBuilder.DxMesh); }
public void AddMultiMaterialToBuilderOk() { TGCObjLoader tgcObjLoader = new TGCObjLoader(); tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial); _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); MeshBuilder meshBuilder = new MeshBuilder() .AddMaterials(tgcObjLoader.ObjMaterialsLoader).ChargueMaterials(); Assert.NotNull(meshBuilder.MeshMaterials); }
public void LoadObjMaterialFromFileOk() { TGCObjLoader tgcObjLoader = new TGCObjLoader(); var lines = File.ReadAllLines(_fullMaterialPath); tgcObjLoader.GetListOfMaterials(lines, _fullMaterialPath); ObjMaterialsLoader objMaterialLoader = new ObjMaterialsLoader(); objMaterialLoader.LoadMaterialsFromFiles(_fullMaterialPath, tgcObjLoader.ListMtllib); Assert.NotNull(objMaterialLoader.ListObjMaterialMesh.First()); }
public void GetTextureCountOk() { TGCObjLoader tgcObjLoader = new TGCObjLoader(); tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial); _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); MeshBuilder meshBuilder = new MeshBuilder() .AddMaterials(tgcObjLoader.ObjMaterialsLoader) .ChargueMaterials(); Assert.AreEqual(meshBuilder.GetTextureCount(), 2); }
public void EnsureRightTypeRenderIsLoadedDiffuseMapBranch() { //TODO asegurar que si tiene material el tipo de render sea difuse map, o si tiene ligth map que sea difuse mas ligth map TGCObjLoader tgcObjLoader = new TGCObjLoader(); tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial); _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); MeshBuilder meshBuilder = new MeshBuilder() .AddMaterials(tgcObjLoader.ObjMaterialsLoader) .ChargueMaterials(); Assert.AreEqual(meshBuilder.ChargueBufferStrategy.RenderType, TgcMesh.MeshRenderType.DIFFUSE_MAP); }
public void CreateMeshColorAndDifusseMap() { //TODO el test de cuando el mesh es color y difuse TGCObjLoader tgcObjLoader = new TGCObjLoader(); tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial); _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); MeshBuilder meshBuilder = new MeshBuilder() .AddMaterials(tgcObjLoader.ObjMaterialsLoader) .ChargueMaterials() .AddDxMesh(_resObjMesh.FaceTriangles.Count) .ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0); Assert.NotNull(meshBuilder.DxMesh); }
public void BuildTgcMeshWithBoundingBoxOk() //TODO el boundingbox no deberia estar acoplado al mesh { TGCObjLoader tgcObjLoader = new TGCObjLoader(); tgcObjLoader.LoadObjFromFile(_fullobjpath); _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); TgcMesh tgcMesh = new MeshBuilder() .AddMaterials(tgcObjLoader.ObjMaterialsLoader) .AddDxMesh(_resObjMesh.FaceTriangles.Count) .ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0) .SetEnable(true) .AddAutotransform(true) .SetHasBoundingBox(false) .Build(_resObjMesh); Assert.NotNull(tgcMesh.BoundingBox); }
public void TgcMeshBuildWithTextureOk() { TGCObjLoader tgcObjLoader = new TGCObjLoader(); tgcObjLoader.LoadObjFromFile(_fullobjpath); _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); TgcMesh tgcMesh = new MeshBuilder() .AddMaterials(tgcObjLoader.ObjMaterialsLoader) .ChargueMaterials() .AddDxMesh(_resObjMesh.FaceTriangles.Count) .ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0) .AddAutotransform(true) .SetEnable(true) .SetHasBoundingBox(true) .Build(_resObjMesh); Assert.Greater(tgcMesh.Materials.Length, 0); }
public void TgcMeshBuildedCanSet() { TGCObjLoader tgcObjLoader = new TGCObjLoader(); tgcObjLoader.LoadObjFromFile(_fullobjpath); _resObjMesh = tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); TgcMesh tgcMesh = new MeshBuilder() .AddMaterials(tgcObjLoader.ObjMaterialsLoader) .AddDxMesh(_resObjMesh.FaceTriangles.Count) .ChargeBuffer(tgcObjLoader.ObjMeshContainer, 0) .AddAutotransform(true) .SetEnable(true) .SetHasBoundingBox(false) .Build(_resObjMesh); tgcMesh.Rotation = new TGCVector3(8.0f, 8.5f, 8.5f); Assert.AreEqual(tgcMesh.Rotation, new TGCVector3(8.0f, 8.5f, 8.5f)); }
public override void Render() { PreRender(); DrawText.drawText("Buscar y abrir un archivo obj solo o uno con mtl.", 0, 20, Color.OrangeRed); //Ver si cambio el mesh var selectedPath = MeshModifier.Value; if (CurrentPath != selectedPath) { //TODO si utilizo el mismo Builder falla porque no limpia el mtl viejo. TgcObjLoader = new TGCObjLoader(); MeshDelObj = TgcObjLoader.LoadTgcMeshFromObj(selectedPath, 0); CurrentPath = selectedPath; } MeshDelObj.Render(); PostRender(); }