X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FDriverUNV%2FDriverUNV_R_SMDS_Mesh.cxx;h=12c091632e06d569d32d85bbf77864339de311d2;hp=36bba747246a9a9457f2cc864c12227d02ba416d;hb=2754c581d371f9bf52b3c538a7bde55f10f6523c;hpb=7b70ad87bf8f5c46b2751f94cd196932b9ae7122 diff --git a/src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx b/src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx index 36bba7472..12c091632 100644 --- a/src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx +++ b/src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx @@ -1,200 +1,172 @@ -using namespace std; +// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ +// #include "DriverUNV_R_SMDS_Mesh.h" +#include "SMDS_Mesh.hxx" #include "utilities.h" +#include "UNV2411_Structure.hxx" +#include "UNV2412_Structure.hxx" +#include "UNV_Utilities.hxx" -extern "C" -{ - -/** - * Factory function which will be called by SMESHDriver - */ -void * SMESH_createUNVMeshReader() -{ - return new DriverUNV_R_SMDS_Mesh(); -} - -} - -DriverUNV_R_SMDS_Mesh::DriverUNV_R_SMDS_Mesh() -{ - ; -} - -DriverUNV_R_SMDS_Mesh::~DriverUNV_R_SMDS_Mesh() -{ - ; -} +using namespace std; -void DriverUNV_R_SMDS_Mesh::SetMesh(SMDS_Mesh * aMesh) -{ - myMesh = aMesh; -} -void DriverUNV_R_SMDS_Mesh::SetFile(string aFile) -{ - myFile = aFile; -} +#ifdef _DEBUG_ +static int MYDEBUG = 0; +#else +static int MYDEBUG = 0; +#endif -void DriverUNV_R_SMDS_Mesh::SetFileId(FILE * aFileId) -{ - myFileId = aFileId; -} -void DriverUNV_R_SMDS_Mesh::SetMeshId(int aMeshId) +Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform() { - myMeshId = aMeshId; -} - -void DriverUNV_R_SMDS_Mesh::Add() -{ - ; -} - -void DriverUNV_R_SMDS_Mesh::Read() -{ - - int cell = 0, node = 0, n1, n2, n3, n4, n_nodes, nodes[6], blockId, i; - char *s1, *s2, *s3; - string str1, str2, str3; - int i1 = 0; - bool ok, found_block2411, found_block2412; - - /**************************************************************************** - * OUVERTURE DU FICHIER EN LECTURE * - ****************************************************************************/ - char *file2Read = (char *)myFile.c_str(); - myFileId = fopen(file2Read, "r"); - if (myFileId < 0) - { - fprintf(stderr, ">> ERREUR : ouverture du fichier %s \n", file2Read); - exit(EXIT_FAILURE); - } - - s1 = (char *)malloc(sizeof(char) * 100); - s2 = (char *)malloc(sizeof(char) * 100); - s3 = (char *)malloc(sizeof(char) * 100); - - found_block2411 = false; - found_block2412 = false; - - do - { - - while (i1 == -1) - { - fscanf(myFileId, "%d\n", &blockId); - switch (blockId) - { - case 2411: - { - MESSAGE("BlockId " << blockId); - fscanf(myFileId, "%d", &node); - //MESSAGE("Node "<AddNodeWithID(atof(str1.c_str()), - atof(str2.c_str()), atof(str3.c_str()), node); - fscanf(myFileId, "%d", &node); - } - i1 = 0; - found_block2411 = true; - break; - } - case 2412: - { - MESSAGE("BlockId " << blockId); - fscanf(myFileId, "%d", &cell); - //MESSAGE("Cell "<AddFaceWithID(nodes[0], nodes[1], - nodes[2], cell); - } - else if (n_nodes == 6) - { //206 - for (i = 1; i <= n_nodes; i++) - fscanf(myFileId, "%d", &nodes[i - 1]); - ok = myMesh->AddFaceWithID(nodes[0], nodes[2], - nodes[4], cell); - } - } - - else if ((n1 == 11) || (n1 == 21) || (n1 == 24) || - (n1 == 25)) - { //103 - fgets(s2, 100, myFileId); - if (n_nodes == 3) - { - for (i = 1; i <= n_nodes; i++) - fscanf(myFileId, "%d", &nodes[i - 1]); - ok = myMesh->AddEdgeWithID(nodes[0], nodes[1], - cell); - //MESSAGE("in 103 "<AddEdgeWithID(nodes[0], nodes[1], - cell); - //MESSAGE("in 102 "<