mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-04-04 17:58:26 +05:00
0021347: [CEA 497] Visualisation into SMESH and VISU of hexagonal prism cells (MED_OCTA12)
0021380: EDF 1937 SMESH: Take into account QUAD9 and HEXA27
This commit is contained in:
parent
7155478a3e
commit
2380f80cd3
@ -315,6 +315,36 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : AddHexPrismWithID
|
||||||
|
//=======================================================================
|
||||||
|
inline void AddHexPrismWithID(SMDS_Mesh* theMesh,
|
||||||
|
SMESH::log_array_var& theSeq,
|
||||||
|
CORBA::Long theId)
|
||||||
|
{
|
||||||
|
const SMESH::long_array& anIndexes = theSeq[theId].indexes;
|
||||||
|
CORBA::Long anElemId = 0, aNbElems = theSeq[theId].number;
|
||||||
|
if(13*aNbElems != anIndexes.length())
|
||||||
|
EXCEPTION(runtime_error,"AddHexPrismWithID - 13*aNbElems != anIndexes.length()");
|
||||||
|
for(CORBA::Long anIndexId = 0; anElemId < aNbElems; anElemId++, anIndexId+=13){
|
||||||
|
SMDS_MeshElement* anElem = theMesh->AddVolumeWithID(anIndexes[anIndexId+1],
|
||||||
|
anIndexes[anIndexId+2],
|
||||||
|
anIndexes[anIndexId+3],
|
||||||
|
anIndexes[anIndexId+4],
|
||||||
|
anIndexes[anIndexId+5],
|
||||||
|
anIndexes[anIndexId+6],
|
||||||
|
anIndexes[anIndexId+7],
|
||||||
|
anIndexes[anIndexId+8],
|
||||||
|
anIndexes[anIndexId+9],
|
||||||
|
anIndexes[anIndexId+10],
|
||||||
|
anIndexes[anIndexId+11],
|
||||||
|
anIndexes[anIndexId+12],
|
||||||
|
anIndexes[anIndexId]);
|
||||||
|
if(!anElem)
|
||||||
|
EXCEPTION(runtime_error,"AddHexPrismWithID - cannot AddVolumeWithID for ID = "<<anElemId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : AddPolyhedronsWithID
|
//function : AddPolyhedronsWithID
|
||||||
@ -423,6 +453,33 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : AddBiQuadQuadsWithID
|
||||||
|
//=======================================================================
|
||||||
|
inline void AddBiQuadQuadsWithID(SMDS_Mesh* theMesh,
|
||||||
|
SMESH::log_array_var theSeq,
|
||||||
|
CORBA::Long theId)
|
||||||
|
{
|
||||||
|
const SMESH::long_array& anIndexes = theSeq[theId].indexes;
|
||||||
|
CORBA::Long anElemId = 0, aNbElems = theSeq[theId].number;
|
||||||
|
if(10*aNbElems != anIndexes.length())
|
||||||
|
EXCEPTION(runtime_error,"AddBiQuadQuadsWithID - 10*aNbElems != anIndexes.length()");
|
||||||
|
for(CORBA::Long anIndexId = 0; anElemId < aNbElems; anElemId++, anIndexId+=10){
|
||||||
|
SMDS_MeshElement* anElem = theMesh->AddFaceWithID(anIndexes[anIndexId+1],
|
||||||
|
anIndexes[anIndexId+2],
|
||||||
|
anIndexes[anIndexId+3],
|
||||||
|
anIndexes[anIndexId+4],
|
||||||
|
anIndexes[anIndexId+5],
|
||||||
|
anIndexes[anIndexId+6],
|
||||||
|
anIndexes[anIndexId+7],
|
||||||
|
anIndexes[anIndexId+8],
|
||||||
|
anIndexes[anIndexId+9],
|
||||||
|
anIndexes[anIndexId]);
|
||||||
|
if(!anElem)
|
||||||
|
EXCEPTION(runtime_error,"AddBiQuadQuadsWithID() - cannot AddFaceWithID for ID = "<<anElemId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : AddQuadTetrasWithID
|
//function : AddQuadTetrasWithID
|
||||||
@ -557,6 +614,51 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : AddTriQuadHexasWithID
|
||||||
|
//=======================================================================
|
||||||
|
inline void AddTriQuadHexasWithID(SMDS_Mesh* theMesh,
|
||||||
|
SMESH::log_array_var& theSeq,
|
||||||
|
CORBA::Long theId)
|
||||||
|
{
|
||||||
|
const SMESH::long_array& anIndexes = theSeq[theId].indexes;
|
||||||
|
CORBA::Long anElemId = 0, aNbElems = theSeq[theId].number;
|
||||||
|
if(28*aNbElems != anIndexes.length())
|
||||||
|
EXCEPTION(runtime_error,"AddTriQuadHexasWithID - 28*aNbElems != anIndexes.length()");
|
||||||
|
for(CORBA::Long anIndexId = 0; anElemId < aNbElems; anElemId++, anIndexId+=28){
|
||||||
|
SMDS_MeshElement* anElem = theMesh->AddVolumeWithID(anIndexes[anIndexId+1],
|
||||||
|
anIndexes[anIndexId+2],
|
||||||
|
anIndexes[anIndexId+3],
|
||||||
|
anIndexes[anIndexId+4],
|
||||||
|
anIndexes[anIndexId+5],
|
||||||
|
anIndexes[anIndexId+6],
|
||||||
|
anIndexes[anIndexId+7],
|
||||||
|
anIndexes[anIndexId+8],
|
||||||
|
anIndexes[anIndexId+9],
|
||||||
|
anIndexes[anIndexId+10],
|
||||||
|
anIndexes[anIndexId+11],
|
||||||
|
anIndexes[anIndexId+12],
|
||||||
|
anIndexes[anIndexId+13],
|
||||||
|
anIndexes[anIndexId+14],
|
||||||
|
anIndexes[anIndexId+15],
|
||||||
|
anIndexes[anIndexId+16],
|
||||||
|
anIndexes[anIndexId+17],
|
||||||
|
anIndexes[anIndexId+18],
|
||||||
|
anIndexes[anIndexId+19],
|
||||||
|
anIndexes[anIndexId+20],
|
||||||
|
anIndexes[anIndexId+21],
|
||||||
|
anIndexes[anIndexId+22],
|
||||||
|
anIndexes[anIndexId+23],
|
||||||
|
anIndexes[anIndexId+24],
|
||||||
|
anIndexes[anIndexId+25],
|
||||||
|
anIndexes[anIndexId+26],
|
||||||
|
anIndexes[anIndexId+27],
|
||||||
|
anIndexes[anIndexId]);
|
||||||
|
if(!anElem)
|
||||||
|
EXCEPTION(runtime_error,"AddTriQuadHexasWithID() - cannot AddVolumeWithID for ID = "<<anElemId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : ChangePolyhedronNodes
|
//function : ChangePolyhedronNodes
|
||||||
@ -742,15 +844,18 @@ SMESH_Client::Update(bool theIsClear)
|
|||||||
case SMESH::ADD_PYRAMID : AddPiramidsWithID ( mySMDSMesh, aSeq, anId ); break;
|
case SMESH::ADD_PYRAMID : AddPiramidsWithID ( mySMDSMesh, aSeq, anId ); break;
|
||||||
case SMESH::ADD_PRISM : AddPrismsWithID ( mySMDSMesh, aSeq, anId ); break;
|
case SMESH::ADD_PRISM : AddPrismsWithID ( mySMDSMesh, aSeq, anId ); break;
|
||||||
case SMESH::ADD_HEXAHEDRON : AddHexasWithID ( mySMDSMesh, aSeq, anId ); break;
|
case SMESH::ADD_HEXAHEDRON : AddHexasWithID ( mySMDSMesh, aSeq, anId ); break;
|
||||||
|
case SMESH::ADD_HEXAGONAL_PRISM : AddHexPrismWithID ( mySMDSMesh, aSeq, anId ); break;
|
||||||
case SMESH::ADD_POLYHEDRON : AddPolyhedronsWithID( mySMDSMesh, aSeq, anId ); break;
|
case SMESH::ADD_POLYHEDRON : AddPolyhedronsWithID( mySMDSMesh, aSeq, anId ); break;
|
||||||
|
|
||||||
case SMESH::ADD_QUADEDGE : AddQuadEdgesWithID ( mySMDSMesh, aSeq, anId ); break;
|
case SMESH::ADD_QUADEDGE : AddQuadEdgesWithID ( mySMDSMesh, aSeq, anId ); break;
|
||||||
case SMESH::ADD_QUADTRIANGLE : AddQuadTriasWithID ( mySMDSMesh, aSeq, anId ); break;
|
case SMESH::ADD_QUADTRIANGLE : AddQuadTriasWithID ( mySMDSMesh, aSeq, anId ); break;
|
||||||
case SMESH::ADD_QUADQUADRANGLE : AddQuadQuadsWithID ( mySMDSMesh, aSeq, anId ); break;
|
case SMESH::ADD_QUADQUADRANGLE : AddQuadQuadsWithID ( mySMDSMesh, aSeq, anId ); break;
|
||||||
|
case SMESH::ADD_BIQUAD_QUADRANGLE: AddBiQuadQuadsWithID ( mySMDSMesh, aSeq, anId ); break;
|
||||||
case SMESH::ADD_QUADTETRAHEDRON : AddQuadTetrasWithID ( mySMDSMesh, aSeq, anId ); break;
|
case SMESH::ADD_QUADTETRAHEDRON : AddQuadTetrasWithID ( mySMDSMesh, aSeq, anId ); break;
|
||||||
case SMESH::ADD_QUADPYRAMID : AddQuadPiramidsWithID( mySMDSMesh, aSeq, anId ); break;
|
case SMESH::ADD_QUADPYRAMID : AddQuadPiramidsWithID( mySMDSMesh, aSeq, anId ); break;
|
||||||
case SMESH::ADD_QUADPENTAHEDRON : AddQuadPentasWithID ( mySMDSMesh, aSeq, anId ); break;
|
case SMESH::ADD_QUADPENTAHEDRON : AddQuadPentasWithID ( mySMDSMesh, aSeq, anId ); break;
|
||||||
case SMESH::ADD_QUADHEXAHEDRON : AddQuadHexasWithID ( mySMDSMesh, aSeq, anId ); break;
|
case SMESH::ADD_QUADHEXAHEDRON : AddQuadHexasWithID ( mySMDSMesh, aSeq, anId ); break;
|
||||||
|
case SMESH::ADD_TRIQUAD_HEXA : AddTriQuadHexasWithID( mySMDSMesh, aSeq, anId ); break;
|
||||||
|
|
||||||
case SMESH::CLEAR_MESH:
|
case SMESH::CLEAR_MESH:
|
||||||
mySMDSMesh->Clear();
|
mySMDSMesh->Clear();
|
||||||
|
@ -248,6 +248,32 @@ void SMESHDS_Command::AddVolume(int NewVolID,
|
|||||||
myNumber++;
|
myNumber++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SMESHDS_Command::AddVolume(int NewVolID,
|
||||||
|
int idnode1,int idnode2,int idnode3,int idnode4,
|
||||||
|
int idnode5, int idnode6, int idnode7, int idnode8,
|
||||||
|
int idnode9, int idnode10, int idnode11, int idnode12)
|
||||||
|
{
|
||||||
|
if (myType != SMESHDS_AddHexagonalPrism)
|
||||||
|
{
|
||||||
|
MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
myIntegers.push_back(NewVolID);
|
||||||
|
myIntegers.push_back(idnode1);
|
||||||
|
myIntegers.push_back(idnode2);
|
||||||
|
myIntegers.push_back(idnode3);
|
||||||
|
myIntegers.push_back(idnode4);
|
||||||
|
myIntegers.push_back(idnode5);
|
||||||
|
myIntegers.push_back(idnode6);
|
||||||
|
myIntegers.push_back(idnode7);
|
||||||
|
myIntegers.push_back(idnode8);
|
||||||
|
myIntegers.push_back(idnode9);
|
||||||
|
myIntegers.push_back(idnode10);
|
||||||
|
myIntegers.push_back(idnode11);
|
||||||
|
myIntegers.push_back(idnode12);
|
||||||
|
myNumber++;
|
||||||
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : AddPolygonalFace
|
//function : AddPolygonalFace
|
||||||
//purpose :
|
//purpose :
|
||||||
@ -501,6 +527,31 @@ void SMESHDS_Command::AddFace(int NewFaceID,
|
|||||||
myNumber++;
|
myNumber++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : AddFace
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void SMESHDS_Command::AddFace(int NewFaceID,
|
||||||
|
int n1, int n2, int n3, int n4,
|
||||||
|
int n12, int n23, int n34, int n41, int nCenter)
|
||||||
|
{
|
||||||
|
if (myType != SMESHDS_AddBiQuadQuadrangle) {
|
||||||
|
MESSAGE("SMESHDS_Command::AddFace : Bad Type");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
myIntegers.push_back(NewFaceID);
|
||||||
|
myIntegers.push_back(n1);
|
||||||
|
myIntegers.push_back(n2);
|
||||||
|
myIntegers.push_back(n3);
|
||||||
|
myIntegers.push_back(n4);
|
||||||
|
myIntegers.push_back(n12);
|
||||||
|
myIntegers.push_back(n23);
|
||||||
|
myIntegers.push_back(n34);
|
||||||
|
myIntegers.push_back(n41);
|
||||||
|
myIntegers.push_back(nCenter);
|
||||||
|
myNumber++;
|
||||||
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : AddVolume
|
//function : AddVolume
|
||||||
//purpose :
|
//purpose :
|
||||||
@ -628,3 +679,50 @@ void SMESHDS_Command::AddVolume(int NewVolID, int n1, int n2, int n3,
|
|||||||
myNumber++;
|
myNumber++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : AddVolume
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void SMESHDS_Command::AddVolume(int NewVolID, int n1, int n2, int n3,
|
||||||
|
int n4, int n5, int n6, int n7, int n8,
|
||||||
|
int n12, int n23, int n34, int n41,
|
||||||
|
int n56, int n67, int n78, int n85,
|
||||||
|
int n15, int n26, int n37, int n48,
|
||||||
|
int n1234,int n1256,int n2367,int n3478,
|
||||||
|
int n1458,int n5678,int nCenter)
|
||||||
|
{
|
||||||
|
if (!myType == SMESHDS_AddQuadHexahedron) {
|
||||||
|
MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
myIntegers.push_back(NewVolID);
|
||||||
|
myIntegers.push_back(n1);
|
||||||
|
myIntegers.push_back(n2);
|
||||||
|
myIntegers.push_back(n3);
|
||||||
|
myIntegers.push_back(n4);
|
||||||
|
myIntegers.push_back(n5);
|
||||||
|
myIntegers.push_back(n6);
|
||||||
|
myIntegers.push_back(n7);
|
||||||
|
myIntegers.push_back(n8);
|
||||||
|
myIntegers.push_back(n12);
|
||||||
|
myIntegers.push_back(n23);
|
||||||
|
myIntegers.push_back(n34);
|
||||||
|
myIntegers.push_back(n41);
|
||||||
|
myIntegers.push_back(n56);
|
||||||
|
myIntegers.push_back(n67);
|
||||||
|
myIntegers.push_back(n78);
|
||||||
|
myIntegers.push_back(n85);
|
||||||
|
myIntegers.push_back(n15);
|
||||||
|
myIntegers.push_back(n26);
|
||||||
|
myIntegers.push_back(n37);
|
||||||
|
myIntegers.push_back(n48);
|
||||||
|
myIntegers.push_back(n1234);
|
||||||
|
myIntegers.push_back(n1256);
|
||||||
|
myIntegers.push_back(n2367);
|
||||||
|
myIntegers.push_back(n3478);
|
||||||
|
myIntegers.push_back(n1458);
|
||||||
|
myIntegers.push_back(n5678);
|
||||||
|
myIntegers.push_back(nCenter);
|
||||||
|
myNumber++;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -52,6 +52,9 @@ class SMESHDS_EXPORT SMESHDS_Command
|
|||||||
int idnode4, int idnode5, int idnode6);
|
int idnode4, int idnode5, int idnode6);
|
||||||
void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
|
void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
|
||||||
int idnode4, int idnode5, int idnode6, int idnode7, int idnode8);
|
int idnode4, int idnode5, int idnode6, int idnode7, int idnode8);
|
||||||
|
void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
|
||||||
|
int idnode4, int idnode5, int idnode6, int idnode7, int idnode8,
|
||||||
|
int idnode9, int idnode10, int idnode11, int idnode12);
|
||||||
void AddPolygonalFace (const int ElementID,
|
void AddPolygonalFace (const int ElementID,
|
||||||
std::vector<int> nodes_ids);
|
std::vector<int> nodes_ids);
|
||||||
void AddPolyhedralVolume (const int ElementID,
|
void AddPolyhedralVolume (const int ElementID,
|
||||||
@ -63,6 +66,8 @@ class SMESHDS_EXPORT SMESHDS_Command
|
|||||||
int n12, int n23, int n31);
|
int n12, int n23, int n31);
|
||||||
void AddFace(int NewFaceID, int n1, int n2, int n3, int n4,
|
void AddFace(int NewFaceID, int n1, int n2, int n3, int n4,
|
||||||
int n12, int n23, int n34, int n41);
|
int n12, int n23, int n34, int n41);
|
||||||
|
void AddFace(int NewFaceID, int n1, int n2, int n3, int n4,
|
||||||
|
int n12, int n23, int n34, int n41, int nCenter);
|
||||||
void AddVolume(int NewVolID, int n1, int n2, int n3, int n4,
|
void AddVolume(int NewVolID, int n1, int n2, int n3, int n4,
|
||||||
int n12, int n23, int n31, int n14, int n24, int n34);
|
int n12, int n23, int n31, int n14, int n24, int n34);
|
||||||
void AddVolume(int NewVolID, int n1, int n2, int n3, int n4, int n5,
|
void AddVolume(int NewVolID, int n1, int n2, int n3, int n4, int n5,
|
||||||
@ -78,6 +83,13 @@ class SMESHDS_EXPORT SMESHDS_Command
|
|||||||
int n12, int n23, int n34, int n41,
|
int n12, int n23, int n34, int n41,
|
||||||
int n56, int n67, int n78, int n85,
|
int n56, int n67, int n78, int n85,
|
||||||
int n15, int n26, int n37, int n48);
|
int n15, int n26, int n37, int n48);
|
||||||
|
void AddVolume(int NewVolID, int n1, int n2, int n3, int n4,
|
||||||
|
int n5, int n6, int n7, int n8,
|
||||||
|
int n12, int n23, int n34, int n41,
|
||||||
|
int n56, int n67, int n78, int n85,
|
||||||
|
int n15, int n26, int n37, int n48,
|
||||||
|
int n1234,int n1256,int n2367,int n3478,
|
||||||
|
int n1458,int n5678,int nCenter);
|
||||||
|
|
||||||
void MoveNode(int NewNodeID, double x, double y, double z);
|
void MoveNode(int NewNodeID, double x, double y, double z);
|
||||||
void RemoveNode(int NodeID);
|
void RemoveNode(int NodeID);
|
||||||
|
@ -27,8 +27,6 @@
|
|||||||
#ifndef _SMESHDS_CommandType_HeaderFile
|
#ifndef _SMESHDS_CommandType_HeaderFile
|
||||||
#define _SMESHDS_CommandType_HeaderFile
|
#define _SMESHDS_CommandType_HeaderFile
|
||||||
|
|
||||||
//#include <Standard_PrimitiveTypes.hxx>
|
|
||||||
|
|
||||||
enum SMESHDS_CommandType {
|
enum SMESHDS_CommandType {
|
||||||
SMESHDS_AddNode,
|
SMESHDS_AddNode,
|
||||||
SMESHDS_AddEdge,
|
SMESHDS_AddEdge,
|
||||||
@ -56,7 +54,10 @@ enum SMESHDS_CommandType {
|
|||||||
SMESHDS_AddQuadPentahedron,
|
SMESHDS_AddQuadPentahedron,
|
||||||
SMESHDS_AddQuadHexahedron,
|
SMESHDS_AddQuadHexahedron,
|
||||||
// special type for 0D elements
|
// special type for 0D elements
|
||||||
SMESHDS_Add0DElement
|
SMESHDS_Add0DElement,
|
||||||
|
SMESHDS_AddBiQuadQuadrangle,
|
||||||
|
SMESHDS_AddTriQuadHexa,
|
||||||
|
SMESHDS_AddHexagonalPrism
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -587,6 +587,81 @@ SMDS_MeshVolume* SMESHDS_Mesh::AddVolume(const SMDS_MeshNode * n1,
|
|||||||
return anElem;
|
return anElem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function :AddVolume
|
||||||
|
//purpose : add hexagonal prism
|
||||||
|
//=======================================================================
|
||||||
|
SMDS_MeshVolume* SMESHDS_Mesh::AddVolumeWithID(int n1, int n2, int n3, int n4,
|
||||||
|
int n5, int n6, int n7, int n8,
|
||||||
|
int n9, int n10, int n11, int n12,
|
||||||
|
int ID)
|
||||||
|
{
|
||||||
|
SMDS_MeshVolume *anElem= SMDS_Mesh::AddVolumeWithID(n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, ID);
|
||||||
|
if(anElem) myScript->AddVolume(ID, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12);
|
||||||
|
return anElem;
|
||||||
|
}
|
||||||
|
|
||||||
|
SMDS_MeshVolume* SMESHDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n5,
|
||||||
|
const SMDS_MeshNode * n6,
|
||||||
|
const SMDS_MeshNode * n7,
|
||||||
|
const SMDS_MeshNode * n8,
|
||||||
|
const SMDS_MeshNode * n9,
|
||||||
|
const SMDS_MeshNode * n10,
|
||||||
|
const SMDS_MeshNode * n11,
|
||||||
|
const SMDS_MeshNode * n12,
|
||||||
|
int ID)
|
||||||
|
{
|
||||||
|
return AddVolumeWithID(n1->GetID(),
|
||||||
|
n2->GetID(),
|
||||||
|
n3->GetID(),
|
||||||
|
n4->GetID(),
|
||||||
|
n5->GetID(),
|
||||||
|
n6->GetID(),
|
||||||
|
n7->GetID(),
|
||||||
|
n8->GetID(),
|
||||||
|
n9->GetID(),
|
||||||
|
n10->GetID(),
|
||||||
|
n11->GetID(),
|
||||||
|
n12->GetID(),
|
||||||
|
ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
SMDS_MeshVolume* SMESHDS_Mesh::AddVolume(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n5,
|
||||||
|
const SMDS_MeshNode * n6,
|
||||||
|
const SMDS_MeshNode * n7,
|
||||||
|
const SMDS_MeshNode * n8,
|
||||||
|
const SMDS_MeshNode * n9,
|
||||||
|
const SMDS_MeshNode * n10,
|
||||||
|
const SMDS_MeshNode * n11,
|
||||||
|
const SMDS_MeshNode * n12)
|
||||||
|
{
|
||||||
|
SMDS_MeshVolume *anElem = SMDS_Mesh::AddVolume(n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12);
|
||||||
|
if(anElem) myScript->AddVolume(anElem->GetID(),
|
||||||
|
n1->GetID(),
|
||||||
|
n2->GetID(),
|
||||||
|
n3->GetID(),
|
||||||
|
n4->GetID(),
|
||||||
|
n5->GetID(),
|
||||||
|
n6->GetID(),
|
||||||
|
n7->GetID(),
|
||||||
|
n8->GetID(),
|
||||||
|
n9->GetID(),
|
||||||
|
n10->GetID(),
|
||||||
|
n11->GetID(),
|
||||||
|
n12->GetID());
|
||||||
|
return anElem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : AddPolygonalFace
|
//function : AddPolygonalFace
|
||||||
//purpose :
|
//purpose :
|
||||||
@ -1516,6 +1591,62 @@ SMDS_MeshFace* SMESHDS_Mesh::AddFaceWithID(const SMDS_MeshNode * n1,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : AddFace
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
SMDS_MeshFace* SMESHDS_Mesh::AddFace(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n12,
|
||||||
|
const SMDS_MeshNode * n23,
|
||||||
|
const SMDS_MeshNode * n34,
|
||||||
|
const SMDS_MeshNode * n41,
|
||||||
|
const SMDS_MeshNode * nCenter)
|
||||||
|
{
|
||||||
|
SMDS_MeshFace *anElem = SMDS_Mesh::AddFace(n1,n2,n3,n4,n12,n23,n34,n41,nCenter);
|
||||||
|
if(anElem) myScript->AddFace(anElem->GetID(),
|
||||||
|
n1->GetID(), n2->GetID(), n3->GetID(), n4->GetID(),
|
||||||
|
n12->GetID(), n23->GetID(), n34->GetID(), n41->GetID(),
|
||||||
|
nCenter->GetID());
|
||||||
|
return anElem;
|
||||||
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : AddFaceWithID
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
SMDS_MeshFace* SMESHDS_Mesh::AddFaceWithID(int n1, int n2, int n3, int n4,
|
||||||
|
int n12,int n23,int n34,int n41,
|
||||||
|
int nCenter, int ID)
|
||||||
|
{
|
||||||
|
SMDS_MeshFace *anElem = SMDS_Mesh::AddFaceWithID(n1,n2,n3,n4,n12,n23,n34,n41,nCenter,ID);
|
||||||
|
if(anElem) myScript->AddFace(ID,n1,n2,n3,n4,n12,n23,n34,n41,nCenter);
|
||||||
|
return anElem;
|
||||||
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : AddFaceWithID
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
SMDS_MeshFace* SMESHDS_Mesh::AddFaceWithID(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n12,
|
||||||
|
const SMDS_MeshNode * n23,
|
||||||
|
const SMDS_MeshNode * n34,
|
||||||
|
const SMDS_MeshNode * n41,
|
||||||
|
const SMDS_MeshNode * nCenter,
|
||||||
|
int ID)
|
||||||
|
{
|
||||||
|
return AddFaceWithID(n1->GetID(), n2->GetID(), n3->GetID(), n4->GetID(),
|
||||||
|
n12->GetID(), n23->GetID(), n34->GetID(), n41->GetID(),
|
||||||
|
nCenter->GetID(), ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : AddVolume
|
//function : AddVolume
|
||||||
//purpose :
|
//purpose :
|
||||||
@ -1728,7 +1859,7 @@ SMDS_MeshVolume* SMESHDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1,
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : AddVolume
|
//function : AddVolume
|
||||||
//purpose :
|
//purpose : add quadratic hexahedron
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
SMDS_MeshVolume* SMESHDS_Mesh::AddVolume(const SMDS_MeshNode * n1,
|
SMDS_MeshVolume* SMESHDS_Mesh::AddVolume(const SMDS_MeshNode * n1,
|
||||||
const SMDS_MeshNode * n2,
|
const SMDS_MeshNode * n2,
|
||||||
@ -1818,6 +1949,117 @@ SMDS_MeshVolume* SMESHDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1,
|
|||||||
ID);
|
ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : AddVolume
|
||||||
|
//purpose : add tri-quadratic hexahedron of 27 nodes
|
||||||
|
//=======================================================================
|
||||||
|
|
||||||
|
SMDS_MeshVolume* SMESHDS_Mesh::AddVolume(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n5,
|
||||||
|
const SMDS_MeshNode * n6,
|
||||||
|
const SMDS_MeshNode * n7,
|
||||||
|
const SMDS_MeshNode * n8,
|
||||||
|
const SMDS_MeshNode * n12,
|
||||||
|
const SMDS_MeshNode * n23,
|
||||||
|
const SMDS_MeshNode * n34,
|
||||||
|
const SMDS_MeshNode * n41,
|
||||||
|
const SMDS_MeshNode * n56,
|
||||||
|
const SMDS_MeshNode * n67,
|
||||||
|
const SMDS_MeshNode * n78,
|
||||||
|
const SMDS_MeshNode * n85,
|
||||||
|
const SMDS_MeshNode * n15,
|
||||||
|
const SMDS_MeshNode * n26,
|
||||||
|
const SMDS_MeshNode * n37,
|
||||||
|
const SMDS_MeshNode * n48,
|
||||||
|
const SMDS_MeshNode * n1234,
|
||||||
|
const SMDS_MeshNode * n1256,
|
||||||
|
const SMDS_MeshNode * n2367,
|
||||||
|
const SMDS_MeshNode * n3478,
|
||||||
|
const SMDS_MeshNode * n1458,
|
||||||
|
const SMDS_MeshNode * n5678,
|
||||||
|
const SMDS_MeshNode * nCenter)
|
||||||
|
{
|
||||||
|
SMDS_MeshVolume *anElem = SMDS_Mesh::AddVolume(n1,n2,n3,n4,n5,n6,n7,n8,
|
||||||
|
n12,n23,n34,n41,
|
||||||
|
n56,n67,n78,n85,
|
||||||
|
n15,n26,n37,n48,
|
||||||
|
n1234,n1256,n2367,n3478,n1458,n5678,nCenter);
|
||||||
|
if(anElem)
|
||||||
|
myScript->AddVolume(anElem->GetID(), n1->GetID(), n2->GetID(),
|
||||||
|
n3->GetID(), n4->GetID(), n5->GetID(),
|
||||||
|
n6->GetID(), n7->GetID(), n8->GetID(),
|
||||||
|
n12->GetID(), n23->GetID(), n34->GetID(), n41->GetID(),
|
||||||
|
n56->GetID(), n67->GetID(), n78->GetID(), n85->GetID(),
|
||||||
|
n15->GetID(), n26->GetID(), n37->GetID(), n48->GetID(),
|
||||||
|
n1234->GetID(),n1256->GetID(),n2367->GetID(),n3478->GetID(),
|
||||||
|
n1458->GetID(),n5678->GetID(),nCenter->GetID());
|
||||||
|
return anElem;
|
||||||
|
}
|
||||||
|
|
||||||
|
SMDS_MeshVolume* SMESHDS_Mesh::AddVolumeWithID(int n1, int n2, int n3, int n4,
|
||||||
|
int n5, int n6, int n7, int n8,
|
||||||
|
int n12,int n23,int n34,int n41,
|
||||||
|
int n56,int n67,int n78,int n85,
|
||||||
|
int n15,int n26,int n37,int n48,
|
||||||
|
int n1234,int n1256,int n2367,int n3478,
|
||||||
|
int n1458,int n5678,int nCenter,
|
||||||
|
int ID)
|
||||||
|
{
|
||||||
|
SMDS_MeshVolume *anElem = SMDS_Mesh::AddVolumeWithID(n1,n2,n3,n4,n5,n6,n7,n8,
|
||||||
|
n12,n23,n34,n41,
|
||||||
|
n56,n67,n78,n85,
|
||||||
|
n15,n26,n37,n48,
|
||||||
|
n1234, n1256, n2367, n3478,
|
||||||
|
n1458, n5678, nCenter,
|
||||||
|
ID);
|
||||||
|
if(anElem) myScript->AddVolume(ID,n1,n2,n3,n4,n5,n6,n7,n8,n12,n23,n34,n41,
|
||||||
|
n56,n67,n78,n85,n15,n26,n37,n48,
|
||||||
|
n1234, n1256, n2367, n3478,
|
||||||
|
n1458, n5678, nCenter);
|
||||||
|
return anElem;
|
||||||
|
}
|
||||||
|
|
||||||
|
SMDS_MeshVolume* SMESHDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n5,
|
||||||
|
const SMDS_MeshNode * n6,
|
||||||
|
const SMDS_MeshNode * n7,
|
||||||
|
const SMDS_MeshNode * n8,
|
||||||
|
const SMDS_MeshNode * n12,
|
||||||
|
const SMDS_MeshNode * n23,
|
||||||
|
const SMDS_MeshNode * n34,
|
||||||
|
const SMDS_MeshNode * n41,
|
||||||
|
const SMDS_MeshNode * n56,
|
||||||
|
const SMDS_MeshNode * n67,
|
||||||
|
const SMDS_MeshNode * n78,
|
||||||
|
const SMDS_MeshNode * n85,
|
||||||
|
const SMDS_MeshNode * n15,
|
||||||
|
const SMDS_MeshNode * n26,
|
||||||
|
const SMDS_MeshNode * n37,
|
||||||
|
const SMDS_MeshNode * n48,
|
||||||
|
const SMDS_MeshNode * n1234,
|
||||||
|
const SMDS_MeshNode * n1256,
|
||||||
|
const SMDS_MeshNode * n2367,
|
||||||
|
const SMDS_MeshNode * n3478,
|
||||||
|
const SMDS_MeshNode * n1458,
|
||||||
|
const SMDS_MeshNode * n5678,
|
||||||
|
const SMDS_MeshNode * nCenter,
|
||||||
|
int ID)
|
||||||
|
{
|
||||||
|
return AddVolumeWithID(n1->GetID(), n2->GetID(), n3->GetID(), n4->GetID(),
|
||||||
|
n5->GetID(), n6->GetID(), n7->GetID(), n8->GetID(),
|
||||||
|
n12->GetID(), n23->GetID(), n34->GetID(), n41->GetID(),
|
||||||
|
n56->GetID(), n67->GetID(), n78->GetID(), n85->GetID(),
|
||||||
|
n15->GetID(), n26->GetID(), n37->GetID(), n48->GetID(),
|
||||||
|
n1234->GetID(),n1256->GetID(),n2367->GetID(),n3478->GetID(),
|
||||||
|
n1458->GetID(),n5678->GetID(),nCenter->GetID(), ID);
|
||||||
|
}
|
||||||
|
|
||||||
void SMESHDS_Mesh::compactMesh()
|
void SMESHDS_Mesh::compactMesh()
|
||||||
{
|
{
|
||||||
int newNodeSize = 0;
|
int newNodeSize = 0;
|
||||||
|
@ -93,7 +93,7 @@ public:
|
|||||||
virtual SMDS_MeshEdge* AddEdge(const SMDS_MeshNode * n1,
|
virtual SMDS_MeshEdge* AddEdge(const SMDS_MeshNode * n1,
|
||||||
const SMDS_MeshNode * n2,
|
const SMDS_MeshNode * n2,
|
||||||
const SMDS_MeshNode * n12);
|
const SMDS_MeshNode * n12);
|
||||||
|
// tria 3
|
||||||
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int ID);
|
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int ID);
|
||||||
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
||||||
const SMDS_MeshNode * n2,
|
const SMDS_MeshNode * n2,
|
||||||
@ -102,7 +102,7 @@ public:
|
|||||||
virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
|
virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
|
||||||
const SMDS_MeshNode * n2,
|
const SMDS_MeshNode * n2,
|
||||||
const SMDS_MeshNode * n3);
|
const SMDS_MeshNode * n3);
|
||||||
|
// quad 4
|
||||||
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int n4, int ID);
|
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int n4, int ID);
|
||||||
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
||||||
const SMDS_MeshNode * n2,
|
const SMDS_MeshNode * n2,
|
||||||
@ -152,6 +152,29 @@ public:
|
|||||||
const SMDS_MeshNode * n34,
|
const SMDS_MeshNode * n34,
|
||||||
const SMDS_MeshNode * n41);
|
const SMDS_MeshNode * n41);
|
||||||
|
|
||||||
|
// bi-quadratic quadrangle of 9 nodes
|
||||||
|
virtual SMDS_MeshFace* AddFaceWithID(int n1, int n2, int n3, int n4,
|
||||||
|
int n12,int n23,int n34,int n41, int nCenter, int ID);
|
||||||
|
virtual SMDS_MeshFace* AddFaceWithID(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n12,
|
||||||
|
const SMDS_MeshNode * n23,
|
||||||
|
const SMDS_MeshNode * n34,
|
||||||
|
const SMDS_MeshNode * n41,
|
||||||
|
const SMDS_MeshNode * nCenter,
|
||||||
|
int ID);
|
||||||
|
virtual SMDS_MeshFace* AddFace(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n12,
|
||||||
|
const SMDS_MeshNode * n23,
|
||||||
|
const SMDS_MeshNode * n34,
|
||||||
|
const SMDS_MeshNode * n41,
|
||||||
|
const SMDS_MeshNode * nCenter);
|
||||||
|
// tetra 4
|
||||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int ID);
|
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int ID);
|
||||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||||
const SMDS_MeshNode * n2,
|
const SMDS_MeshNode * n2,
|
||||||
@ -162,7 +185,7 @@ public:
|
|||||||
const SMDS_MeshNode * n2,
|
const SMDS_MeshNode * n2,
|
||||||
const SMDS_MeshNode * n3,
|
const SMDS_MeshNode * n3,
|
||||||
const SMDS_MeshNode * n4);
|
const SMDS_MeshNode * n4);
|
||||||
|
// pyra 5
|
||||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int ID);
|
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int ID);
|
||||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||||
const SMDS_MeshNode * n2,
|
const SMDS_MeshNode * n2,
|
||||||
@ -175,7 +198,7 @@ public:
|
|||||||
const SMDS_MeshNode * n3,
|
const SMDS_MeshNode * n3,
|
||||||
const SMDS_MeshNode * n4,
|
const SMDS_MeshNode * n4,
|
||||||
const SMDS_MeshNode * n5);
|
const SMDS_MeshNode * n5);
|
||||||
|
// penta 6
|
||||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n6, int ID);
|
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n6, int ID);
|
||||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||||
const SMDS_MeshNode * n2,
|
const SMDS_MeshNode * n2,
|
||||||
@ -190,7 +213,7 @@ public:
|
|||||||
const SMDS_MeshNode * n4,
|
const SMDS_MeshNode * n4,
|
||||||
const SMDS_MeshNode * n5,
|
const SMDS_MeshNode * n5,
|
||||||
const SMDS_MeshNode * n6);
|
const SMDS_MeshNode * n6);
|
||||||
|
// hexa 8
|
||||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int ID);
|
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int ID);
|
||||||
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||||
const SMDS_MeshNode * n2,
|
const SMDS_MeshNode * n2,
|
||||||
@ -209,6 +232,34 @@ public:
|
|||||||
const SMDS_MeshNode * n6,
|
const SMDS_MeshNode * n6,
|
||||||
const SMDS_MeshNode * n7,
|
const SMDS_MeshNode * n7,
|
||||||
const SMDS_MeshNode * n8);
|
const SMDS_MeshNode * n8);
|
||||||
|
// hexagonal prism of 12 nodes
|
||||||
|
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4, int n5, int n6,
|
||||||
|
int n7, int n8, int n9, int n10, int n11, int n12, int ID);
|
||||||
|
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n5,
|
||||||
|
const SMDS_MeshNode * n6,
|
||||||
|
const SMDS_MeshNode * n7,
|
||||||
|
const SMDS_MeshNode * n8,
|
||||||
|
const SMDS_MeshNode * n9,
|
||||||
|
const SMDS_MeshNode * n10,
|
||||||
|
const SMDS_MeshNode * n11,
|
||||||
|
const SMDS_MeshNode * n12,
|
||||||
|
int ID);
|
||||||
|
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n5,
|
||||||
|
const SMDS_MeshNode * n6,
|
||||||
|
const SMDS_MeshNode * n7,
|
||||||
|
const SMDS_MeshNode * n8,
|
||||||
|
const SMDS_MeshNode * n9,
|
||||||
|
const SMDS_MeshNode * n10,
|
||||||
|
const SMDS_MeshNode * n11,
|
||||||
|
const SMDS_MeshNode * n12);
|
||||||
|
|
||||||
// 2d order tetrahedron of 10 nodes
|
// 2d order tetrahedron of 10 nodes
|
||||||
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
|
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
|
||||||
@ -357,6 +408,71 @@ public:
|
|||||||
const SMDS_MeshNode * n37,
|
const SMDS_MeshNode * n37,
|
||||||
const SMDS_MeshNode * n48);
|
const SMDS_MeshNode * n48);
|
||||||
|
|
||||||
|
// 2d order Hexahedrons with 27 nodes
|
||||||
|
virtual SMDS_MeshVolume* AddVolumeWithID(int n1, int n2, int n3, int n4,
|
||||||
|
int n5, int n6, int n7, int n8,
|
||||||
|
int n12,int n23,int n34,int n41,
|
||||||
|
int n56,int n67,int n78,int n85,
|
||||||
|
int n15,int n26,int n37,int n48,
|
||||||
|
int n1234,int n1256,int n2367,int n3478,
|
||||||
|
int n1458,int n5678,int nCenter,
|
||||||
|
int ID);
|
||||||
|
virtual SMDS_MeshVolume* AddVolumeWithID(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n5,
|
||||||
|
const SMDS_MeshNode * n6,
|
||||||
|
const SMDS_MeshNode * n7,
|
||||||
|
const SMDS_MeshNode * n8,
|
||||||
|
const SMDS_MeshNode * n12,
|
||||||
|
const SMDS_MeshNode * n23,
|
||||||
|
const SMDS_MeshNode * n34,
|
||||||
|
const SMDS_MeshNode * n41,
|
||||||
|
const SMDS_MeshNode * n56,
|
||||||
|
const SMDS_MeshNode * n67,
|
||||||
|
const SMDS_MeshNode * n78,
|
||||||
|
const SMDS_MeshNode * n85,
|
||||||
|
const SMDS_MeshNode * n15,
|
||||||
|
const SMDS_MeshNode * n26,
|
||||||
|
const SMDS_MeshNode * n37,
|
||||||
|
const SMDS_MeshNode * n48,
|
||||||
|
const SMDS_MeshNode * n1234,
|
||||||
|
const SMDS_MeshNode * n1256,
|
||||||
|
const SMDS_MeshNode * n2367,
|
||||||
|
const SMDS_MeshNode * n3478,
|
||||||
|
const SMDS_MeshNode * n1458,
|
||||||
|
const SMDS_MeshNode * n5678,
|
||||||
|
const SMDS_MeshNode * nCenter,
|
||||||
|
int ID);
|
||||||
|
virtual SMDS_MeshVolume* AddVolume(const SMDS_MeshNode * n1,
|
||||||
|
const SMDS_MeshNode * n2,
|
||||||
|
const SMDS_MeshNode * n3,
|
||||||
|
const SMDS_MeshNode * n4,
|
||||||
|
const SMDS_MeshNode * n5,
|
||||||
|
const SMDS_MeshNode * n6,
|
||||||
|
const SMDS_MeshNode * n7,
|
||||||
|
const SMDS_MeshNode * n8,
|
||||||
|
const SMDS_MeshNode * n12,
|
||||||
|
const SMDS_MeshNode * n23,
|
||||||
|
const SMDS_MeshNode * n34,
|
||||||
|
const SMDS_MeshNode * n41,
|
||||||
|
const SMDS_MeshNode * n56,
|
||||||
|
const SMDS_MeshNode * n67,
|
||||||
|
const SMDS_MeshNode * n78,
|
||||||
|
const SMDS_MeshNode * n85,
|
||||||
|
const SMDS_MeshNode * n15,
|
||||||
|
const SMDS_MeshNode * n26,
|
||||||
|
const SMDS_MeshNode * n37,
|
||||||
|
const SMDS_MeshNode * n48,
|
||||||
|
const SMDS_MeshNode * n1234,
|
||||||
|
const SMDS_MeshNode * n1256,
|
||||||
|
const SMDS_MeshNode * n2367,
|
||||||
|
const SMDS_MeshNode * n3478,
|
||||||
|
const SMDS_MeshNode * n1458,
|
||||||
|
const SMDS_MeshNode * n5678,
|
||||||
|
const SMDS_MeshNode * nCenter);
|
||||||
|
|
||||||
virtual SMDS_MeshFace* AddPolygonalFaceWithID (const std::vector<int>& nodes_ids,
|
virtual SMDS_MeshFace* AddPolygonalFaceWithID (const std::vector<int>& nodes_ids,
|
||||||
const int ID);
|
const int ID);
|
||||||
|
|
||||||
|
@ -225,6 +225,24 @@ void SMESHDS_Script::AddVolume(int NewID,
|
|||||||
idnode5, idnode6, idnode7, idnode8);
|
idnode5, idnode6, idnode7, idnode8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function :
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void SMESHDS_Script::AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
|
||||||
|
int idnode4, int idnode5, int idnode6, int idnode7, int idnode8,
|
||||||
|
int idnode9, int idnode10, int idnode11, int idnode12)
|
||||||
|
{
|
||||||
|
if(myIsEmbeddedMode){
|
||||||
|
myIsModified = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
getCommand(SMESHDS_AddHexagonalPrism)->AddVolume(NewVolID,
|
||||||
|
idnode1, idnode2, idnode3, idnode4,
|
||||||
|
idnode5, idnode6, idnode7, idnode8,
|
||||||
|
idnode9, idnode10, idnode11, idnode12);
|
||||||
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : AddPolygonalFace
|
//function : AddPolygonalFace
|
||||||
//purpose :
|
//purpose :
|
||||||
@ -420,6 +438,21 @@ void SMESHDS_Script::AddFace(int NewFaceID, int n1, int n2, int n3, int n4,
|
|||||||
n12, n23, n34, n41);
|
n12, n23, n34, n41);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : AddFace
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void SMESHDS_Script::AddFace(int NewFaceID, int n1, int n2, int n3, int n4,
|
||||||
|
int n12, int n23, int n34, int n41, int nCenter)
|
||||||
|
{
|
||||||
|
if(myIsEmbeddedMode){
|
||||||
|
myIsModified = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
getCommand(SMESHDS_AddBiQuadQuadrangle)->AddFace(NewFaceID, n1, n2, n3, n4,
|
||||||
|
n12, n23, n34, n41, nCenter);
|
||||||
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : AddVolume
|
//function : AddVolume
|
||||||
//purpose :
|
//purpose :
|
||||||
@ -494,3 +527,28 @@ void SMESHDS_Script::AddVolume(int NewVolID, int n1, int n2, int n3,
|
|||||||
n15, n26, n37, n48);
|
n15, n26, n37, n48);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=======================================================================
|
||||||
|
//function : AddVolume
|
||||||
|
//purpose :
|
||||||
|
//=======================================================================
|
||||||
|
void SMESHDS_Script::AddVolume(int NewVolID, int n1, int n2, int n3,
|
||||||
|
int n4, int n5, int n6, int n7, int n8,
|
||||||
|
int n12, int n23, int n34, int n41,
|
||||||
|
int n56, int n67, int n78, int n85,
|
||||||
|
int n15, int n26, int n37, int n48,
|
||||||
|
int n1234,int n1256,int n2367,int n3478,
|
||||||
|
int n1458,int n5678,int nCenter)
|
||||||
|
{
|
||||||
|
if(myIsEmbeddedMode){
|
||||||
|
myIsModified = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
getCommand(SMESHDS_AddTriQuadHexa)->AddVolume(NewVolID, n1, n2, n3, n4,
|
||||||
|
n5, n6, n7, n8,
|
||||||
|
n12, n23, n34, n41,
|
||||||
|
n56, n67, n78, n85,
|
||||||
|
n15, n26, n37, n48,
|
||||||
|
n1234, n1256, n2367, n3478,
|
||||||
|
n1458, n5678, nCenter);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -58,6 +58,9 @@ class SMESHDS_EXPORT SMESHDS_Script
|
|||||||
int idnode4, int idnode5, int idnode6);
|
int idnode4, int idnode5, int idnode6);
|
||||||
void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
|
void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
|
||||||
int idnode4, int idnode5, int idnode6, int idnode7, int idnode8);
|
int idnode4, int idnode5, int idnode6, int idnode7, int idnode8);
|
||||||
|
void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
|
||||||
|
int idnode4, int idnode5, int idnode6, int idnode7, int idnode8,
|
||||||
|
int idnode9, int idnode10, int idnode11, int idnode12);
|
||||||
|
|
||||||
void AddPolygonalFace (const int NewFaceID,
|
void AddPolygonalFace (const int NewFaceID,
|
||||||
std::vector<int> nodes_ids);
|
std::vector<int> nodes_ids);
|
||||||
@ -71,6 +74,8 @@ class SMESHDS_EXPORT SMESHDS_Script
|
|||||||
int n12, int n23, int n31);
|
int n12, int n23, int n31);
|
||||||
void AddFace(int NewFaceID, int n1, int n2, int n3, int n4,
|
void AddFace(int NewFaceID, int n1, int n2, int n3, int n4,
|
||||||
int n12, int n23, int n34, int n41);
|
int n12, int n23, int n34, int n41);
|
||||||
|
void AddFace(int NewFaceID, int n1, int n2, int n3, int n4,
|
||||||
|
int n12, int n23, int n34, int n41, int nCenter);
|
||||||
void AddVolume(int NewVolID, int n1, int n2, int n3, int n4,
|
void AddVolume(int NewVolID, int n1, int n2, int n3, int n4,
|
||||||
int n12, int n23, int n31, int n14, int n24, int n34);
|
int n12, int n23, int n31, int n14, int n24, int n34);
|
||||||
void AddVolume(int NewVolID, int n1, int n2, int n3, int n4, int n5,
|
void AddVolume(int NewVolID, int n1, int n2, int n3, int n4, int n5,
|
||||||
@ -86,6 +91,13 @@ class SMESHDS_EXPORT SMESHDS_Script
|
|||||||
int n12, int n23, int n34, int n41,
|
int n12, int n23, int n34, int n41,
|
||||||
int n56, int n67, int n78, int n85,
|
int n56, int n67, int n78, int n85,
|
||||||
int n15, int n26, int n37, int n48);
|
int n15, int n26, int n37, int n48);
|
||||||
|
void AddVolume(int NewVolID, int n1, int n2, int n3, int n4,
|
||||||
|
int n5, int n6, int n7, int n8,
|
||||||
|
int n12, int n23, int n34, int n41,
|
||||||
|
int n56, int n67, int n78, int n85,
|
||||||
|
int n15, int n26, int n37, int n48,
|
||||||
|
int n1234,int n1256,int n2367,int n3478,
|
||||||
|
int n1458,int n5678,int nCenter);
|
||||||
void MoveNode(int NewNodeID, double x, double y, double z);
|
void MoveNode(int NewNodeID, double x, double y, double z);
|
||||||
void RemoveNode(int NodeID);
|
void RemoveNode(int NodeID);
|
||||||
void RemoveElement(int ElementID);
|
void RemoveElement(int ElementID);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user