PAL10595. Problem in MED driver with units ands coordinates system length

This commit is contained in:
eap 2006-02-21 09:32:23 +00:00
parent b3c1fef0ed
commit 805f776def

View File

@ -108,50 +108,58 @@ namespace{
typedef double (SMDS_MeshNode::* TGetCoord)() const; typedef double (SMDS_MeshNode::* TGetCoord)() const;
typedef const char* TName; typedef const char* TName;
typedef const char* TUnit; typedef const char* TUnit;
TUnit aUnit[3] = {"m","m","m"};
// name length in a mesh must be equal to 16 :
// 1234567890123456
TName M = "m ";
TName X = "x ";
TName Y = "y ";
TName Z = "z ";
TUnit aUnit[3] = {M,M,M};
// 3 dim
TGetCoord aXYZGetCoord[3] = { TGetCoord aXYZGetCoord[3] = {
&SMDS_MeshNode::X, &SMDS_MeshNode::X,
&SMDS_MeshNode::Y, &SMDS_MeshNode::Y,
&SMDS_MeshNode::Z &SMDS_MeshNode::Z
}; };
TName aXYZName[3] = {"x","y","z"}; TName aXYZName[3] = {X,Y,Z};
// 2 dim
TGetCoord aXYGetCoord[2] = { TGetCoord aXYGetCoord[2] = {
&SMDS_MeshNode::X, &SMDS_MeshNode::X,
&SMDS_MeshNode::Y &SMDS_MeshNode::Y
}; };
TName aXYName[2] = {"x","y"}; TName aXYName[2] = {X,Y};
TGetCoord aYZGetCoord[2] = { TGetCoord aYZGetCoord[2] = {
&SMDS_MeshNode::Y, &SMDS_MeshNode::Y,
&SMDS_MeshNode::Z &SMDS_MeshNode::Z
}; };
TName aYZName[2] = {"y","z"}; TName aYZName[2] = {Y,Z};
TGetCoord aXZGetCoord[2] = { TGetCoord aXZGetCoord[2] = {
&SMDS_MeshNode::X, &SMDS_MeshNode::X,
&SMDS_MeshNode::Z &SMDS_MeshNode::Z
}; };
TName aXZName[2] = {"x","z"}; TName aXZName[2] = {X,Z};
// 1 dim
TGetCoord aXGetCoord[1] = { TGetCoord aXGetCoord[1] = {
&SMDS_MeshNode::X &SMDS_MeshNode::X
}; };
TName aXName[1] = {"x"}; TName aXName[1] = {X};
TGetCoord aYGetCoord[1] = { TGetCoord aYGetCoord[1] = {
&SMDS_MeshNode::Y &SMDS_MeshNode::Y
}; };
TName aYName[1] = {"y"}; TName aYName[1] = {Y};
TGetCoord aZGetCoord[1] = { TGetCoord aZGetCoord[1] = {
&SMDS_MeshNode::Z &SMDS_MeshNode::Z
}; };
TName aZName[1] = {"z"}; TName aZName[1] = {Z};
class TCoordHelper{ class TCoordHelper{
@ -319,12 +327,11 @@ Driver_Mesh::Status DriverMED_W_SMESHDS_Mesh::Perform()
int aFamId = (*aFamsIter)->GetId(); int aFamId = (*aFamsIter)->GetId();
const set<const SMDS_MeshElement *>& anElems = (*aFamsIter)->GetElements(); const set<const SMDS_MeshElement *>& anElems = (*aFamsIter)->GetElements();
set<const SMDS_MeshElement *>::iterator anElemsIter = anElems.begin(); set<const SMDS_MeshElement *>::const_iterator anElemsIter = anElems.begin();
for (; anElemsIter != anElems.end(); anElemsIter++) for (; anElemsIter != anElems.end(); anElemsIter++)
{ {
anElemFamMap[*anElemsIter] = aFamId; anElemFamMap[*anElemsIter] = aFamId;
} }
// delete (*aFamsIter);
} }
// Storing SMDS nodes to the MED file for the MED mesh // Storing SMDS nodes to the MED file for the MED mesh