public void LoadTgcMeshFromObjOk() { var _tgcObjLoader = new TgcObjLoader(); TgcMesh tgcMesh = _tgcObjLoader.LoadTgcMeshFromObj(_fullobjpath, 0); Assert.NotNull(tgcMesh); }
public void LoadTgcMeshFromObjwithOutMaterialsOk() { var _tgcObjLoader = new TgcObjLoader(); TgcMesh tgcMesh = _tgcObjLoader.LoadTgcMeshFromObj(_fullobjpathmeshcolorsolo, 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 ProccesLineNewObjet() { var _tgcObjLoader = new TgcObjLoader(); var line = "o Cube"; _tgcObjLoader.ProccesLine(line); Assert.True(_tgcObjLoader.ObjMeshContainer.ListObjMesh.First().Name.Equals("Cube")); }
public void GetListOfMaterialsWithNameOK() { var _tgcObjLoader = new TgcObjLoader(); var lines = File.ReadAllLines(_fullobjpath); _tgcObjLoader.GetListOfMaterials(lines, _fullobjpath); Assert.True(_tgcObjLoader.ListMtllib.First().Equals("cubotexturacaja.mtl")); }
public void GetListOfMaterialsWithWhiteSpaceOK() { var _tgcObjLoader = new TgcObjLoader(); var lines = File.ReadAllLines(_fullobjpathmeshcontextura); _tgcObjLoader.GetListOfMaterials(lines, _fullobjpathmeshcontextura); Assert.True(_tgcObjLoader.ListMtllib.First().Equals("tgcito con textura.mtl")); }
public void FilterByKeyWordOk() { var _tgcObjLoader = new TgcObjLoader(); var lines = File.ReadAllLines(_fullobjpath); string mtllib = _tgcObjLoader.FilterByKeyword(lines, "mtllib")[0]; Assert.True(mtllib.Equals("mtllib cubotexturacaja.mtl")); }
public void LoadObjFromFileOk() { var _tgcObjLoader = new TgcObjLoader(); _tgcObjLoader.LoadObjFromFile(_fullobjpath); Assert.True(_tgcObjLoader.ObjMeshContainer.ListObjMesh.Count > 0); Assert.True(_tgcObjLoader.ObjMeshContainer.VertexListV.Count == 8); }
public void ProcessLineReturnWithSpaceBlanck() { var _tgcObjLoader = new TgcObjLoader(); var line = " "; _tgcObjLoader.ProccesLine(line); Assert.IsTrue(_tgcObjLoader.ObjMeshContainer.ListObjMesh.Count == 0); }
public void ProcessLineReturnWithFirstCaracterHastag() { var _tgcObjLoader = new TgcObjLoader(); var line = "# Blender v2.79 (sub 0) OBJ File: ''"; _tgcObjLoader.ProccesLine(line); Assert.IsTrue(_tgcObjLoader.ObjMeshContainer.ListObjMesh.Count == 0); }
public void CreateMaterialIdsArrayOk() { TgcObjLoader _tgcObjLoader = new TgcObjLoader(); _tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial); resObjMesh = _tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); Assert.True(resObjMesh.FaceTrianglesList.Count == resObjMesh.CreateMaterialIdsArray().Length); }
public void IndexMaterialIdsArrayOk() { TgcObjLoader _tgcObjLoader = new TgcObjLoader(); _tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial); resObjMesh = _tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); int[] materialIds = resObjMesh.CreateMaterialIdsArray(); Assert.True(materialIds[15810] == 0); Assert.True(materialIds[17010] == 1); }
public void CreateMeshOnlyColor() { TgcObjLoader _tgcObjLoader = new TgcObjLoader(); _tgcObjLoader.LoadObjFromFile(_fullobjpathmeshcolorsolo); resObjMesh = _tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); MeshBuilder meshBuilder = new MeshBuilder().AddDxMesh(resObjMesh.FaceTrianglesList.Count).ChargeBuffer(_tgcObjLoader.ObjMeshContainer, 0); Assert.NotNull(meshBuilder.GetInstaceDxMesh()); }
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 CreateInstanceDxMeshWithNumberFacesOK() { TgcObjLoader _tgcObjLoader = new TgcObjLoader(); _tgcObjLoader.LoadObjFromFile(_fullobjpath); resObjMesh = _tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); MeshBuilder auxMeshBuilder = new MeshBuilder() .AddDxMesh(resObjMesh.FaceTrianglesList.Count); Assert.True(auxMeshBuilder.GetInstaceDxMesh().NumberFaces == resObjMesh.FaceTrianglesList.Count); }
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 EnsureRightTypeRenderIsLoadedOnlyColorBranch() { //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(_fullobjpathmeshcolorsolo); resObjMesh = _tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); MeshBuilder meshBuilder = new MeshBuilder() .AddDxMesh(resObjMesh.FaceTrianglesList.Count); Assert.True(meshBuilder.ChargueBufferStrategy.RenderType == TgcMesh.MeshRenderType.VERTEX_COLOR); }
public void GetTextureCountOk() { TgcObjLoader _tgcObjLoader = new TgcObjLoader(); _tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial); resObjMesh = _tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); MeshBuilder meshBuilder = new MeshBuilder() .AddMaterials(_tgcObjLoader.ObjMaterialsLoader) .ChargueMaterials(); Assert.True(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.True(meshBuilder.ChargueBufferStrategy.RenderType == TgcMesh.MeshRenderType.DIFFUSE_MAP); }
public void CreateDxMeshWithVertexLimit() { // 21845 * 3 = 65535 // Int range 0 to 65535 TgcObjLoader _tgcObjLoader = new TgcObjLoader(); _tgcObjLoader.LoadObjFromFile(_fullobjpathmeshcolorsolo); resObjMesh = _tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); MeshBuilder meshBuilder = new MeshBuilder().AddDxMesh(21844); Assert.NotNull(meshBuilder.GetInstaceDxMesh()); }
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.FaceTrianglesList.Count) .ChargeBuffer(_tgcObjLoader.ObjMeshContainer, 0); Assert.NotNull(meshBuilder.GetInstaceDxMesh()); }
public void CheckIndexBufferIsChargedOk() { //TODO verificar que el idexbuffer se cargo . TgcObjLoader _tgcObjLoader = new TgcObjLoader(); _tgcObjLoader.LoadObjFromFile(_fullobjpathmultimaterial); resObjMesh = _tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); MeshBuilder meshBuilder = new MeshBuilder() .AddMaterials(_tgcObjLoader.ObjMaterialsLoader) .ChargueMaterials() .AddDxMesh(resObjMesh.FaceTrianglesList.Count) .ChargeBuffer(_tgcObjLoader.ObjMeshContainer, 0); Assert.True(meshBuilder.GetInstaceDxMesh().IndexBuffer.SizeInBytes > 0); }
public void BuildTgcMeshWithEnableTrueOk() { TgcObjLoader _tgcObjLoader = new TgcObjLoader(); _tgcObjLoader.LoadObjFromFile(_fullobjpath); resObjMesh = _tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); TgcMesh tgcMesh = new MeshBuilder() .AddMaterials(_tgcObjLoader.ObjMaterialsLoader) .AddDxMesh(resObjMesh.FaceTrianglesList.Count) .ChargeBuffer(_tgcObjLoader.ObjMeshContainer, 0) .SetEnable(true) .Build(resObjMesh); Assert.True(tgcMesh.Enabled); }
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.FaceTrianglesList.Count) .ChargeBuffer(_tgcObjLoader.ObjMeshContainer, 0) .SetEnable(true) .AddAutotransform(true) .SetHasBoundingBox(false) .Build(resObjMesh); Assert.NotNull(tgcMesh.BoundingBox); }
public void TgcMeshBuildedCanSet() { TgcObjLoader _tgcObjLoader = new TgcObjLoader(); _tgcObjLoader.LoadObjFromFile(_fullobjpath); resObjMesh = _tgcObjLoader.ObjMeshContainer.ListObjMesh.First(); TgcMesh tgcMesh = new MeshBuilder() .AddMaterials(_tgcObjLoader.ObjMaterialsLoader) .AddDxMesh(resObjMesh.FaceTrianglesList.Count) .ChargeBuffer(_tgcObjLoader.ObjMeshContainer, 0) .AddAutotransform(true) .SetEnable(true) .SetHasBoundingBox(false) .Build(resObjMesh); tgcMesh.Rotation = new TGCVector3(8.0f, 8.5f, 8.5f); Assert.True(tgcMesh.Rotation.Equals(new TGCVector3(8.0f, 8.5f, 8.5f))); }
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.FaceTrianglesList.Count) .ChargeBuffer(_tgcObjLoader.ObjMeshContainer, 0) .AddAutotransform(true) .SetEnable(true) .SetHasBoundingBox(true) .Build(resObjMesh); Assert.True(tgcMesh.Materials.Length > 0); }
public override void Init() { //CurrentPath = MediaDir + @"Obj\cubotexturacaja.obj"; CurrentPath = MediaDir + @"Obj\bb8\bb8.obj"; //CurrentPath = MediaDir + @"Obj\tgcito\tgcito con textura.obj"; //CurrentPath = MediaDir + @"Obj\tgcito\tgcito color solo.obj"; MeshModifier = AddFile("Mesh", CurrentPath, "*.obj | *.obj"); MeshDelObj = TgcObjLoader.LoadTgcMeshFromObj(CurrentPath, 0); MeshDelObj.AutoTransformEnable = true; MeshDelObj.Scale = new TGCVector3(5f, 5f, 5f); MeshDelObj.Position = new TGCVector3(-25, 0, 0); MeshDelObj.BoundingBox.move(new TGCVector3(25, 0, 0)); Camera = new TgcRotationalCamera(MeshDelObj.BoundingBox.calculateBoxCenter(), MeshDelObj.BoundingBox.calculateBoxRadius() * 2, Input); }