X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FSMDS%2FSMDS_VolumeOfFaces.cxx;h=6b006b938f50989ec8bf2e64df362e6fce2d1ca4;hb=d4f9cc5a7901c51b255a8a21e21de1adf5f4b4e5;hp=c993dcc66f56132add69211e51d2dbd50c4f3a07;hpb=0635c9fc80f67d1e5dc0e94ec85f487286a92070;p=modules%2Fsmesh.git diff --git a/src/SMDS/SMDS_VolumeOfFaces.cxx b/src/SMDS/SMDS_VolumeOfFaces.cxx index c993dcc66..6b006b938 100644 --- a/src/SMDS/SMDS_VolumeOfFaces.cxx +++ b/src/SMDS/SMDS_VolumeOfFaces.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -19,6 +19,7 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // SMESH SMDS : implementaion of Salome mesh data structure // File : SMDS_VolumeOfFaces.cxx // Author : Jean-Michel BOULCOURT @@ -40,16 +41,16 @@ using namespace std; void SMDS_VolumeOfFaces::Print(ostream & OS) const { - OS << "volume <" << GetID() << "> : "; - int i; - for (i = 0; i < NbFaces()-1; ++i) OS << myFaces[i] << ","; - OS << myFaces[i]<< ") " << endl; + OS << "volume <" << GetID() << "> : "; + int i; + for (i = 0; i < NbFaces()-1; ++i) OS << myFaces[i] << ","; + OS << myFaces[i]<< ") " << endl; } int SMDS_VolumeOfFaces::NbFaces() const { - return myNbFaces; + return myNbFaces; } class SMDS_VolumeOfFaces_MyIterator:public SMDS_ElemIterator @@ -74,7 +75,7 @@ class SMDS_VolumeOfFaces_MyIterator:public SMDS_ElemIterator }; SMDS_ElemIteratorPtr SMDS_VolumeOfFaces:: - elementsIterator(SMDSAbs_ElementType type) const + elementsIterator(SMDSAbs_ElementType type) const { switch(type) { @@ -95,13 +96,13 @@ SMDS_VolumeOfFaces::SMDS_VolumeOfFaces(const SMDS_MeshFace * face1, const SMDS_MeshFace * face3, const SMDS_MeshFace * face4) { - myNbFaces = 4; - myFaces[0]=face1; - myFaces[1]=face2; - myFaces[2]=face3; - myFaces[3]=face4; - myFaces[4]=0; - myFaces[5]=0; + myNbFaces = 4; + myFaces[0]=face1; + myFaces[1]=face2; + myFaces[2]=face3; + myFaces[3]=face4; + myFaces[4]=0; + myFaces[5]=0; } SMDS_VolumeOfFaces::SMDS_VolumeOfFaces(const SMDS_MeshFace * face1, @@ -110,13 +111,13 @@ SMDS_VolumeOfFaces::SMDS_VolumeOfFaces(const SMDS_MeshFace * face1, const SMDS_MeshFace * face4, const SMDS_MeshFace * face5) { - myNbFaces = 5; - myFaces[0]=face1; - myFaces[1]=face2; - myFaces[2]=face3; - myFaces[3]=face4; - myFaces[4]=face5; - myFaces[5]=0; + myNbFaces = 5; + myFaces[0]=face1; + myFaces[1]=face2; + myFaces[2]=face3; + myFaces[3]=face4; + myFaces[4]=face5; + myFaces[5]=0; } SMDS_VolumeOfFaces::SMDS_VolumeOfFaces(const SMDS_MeshFace * face1, @@ -126,12 +127,25 @@ SMDS_VolumeOfFaces::SMDS_VolumeOfFaces(const SMDS_MeshFace * face1, const SMDS_MeshFace * face5, const SMDS_MeshFace * face6) { - myNbFaces = 6; - myFaces[0]=face1; - myFaces[1]=face2; - myFaces[2]=face3; - myFaces[3]=face4; - myFaces[4]=face5; - myFaces[5]=face6; + myNbFaces = 6; + myFaces[0]=face1; + myFaces[1]=face2; + myFaces[2]=face3; + myFaces[3]=face4; + myFaces[4]=face5; + myFaces[5]=face6; } +SMDSAbs_EntityType SMDS_VolumeOfFaces::GetEntityType() const +{ + SMDSAbs_EntityType aType = SMDSEntity_Tetra; + switch(myNbFaces) + { + case 4: aType = SMDSEntity_Tetra; break; + case 5: aType = SMDSEntity_Pyramid; break; + case 6: aType = SMDSEntity_Penta; break; + case 8: + default: aType = SMDSEntity_Hexa; break; + } + return aType; +}