mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-15 10:08:34 +05:00
0020672: EDF 1243 SMESH : Be able to transform mixed mesh
* Implement GetFaceNodesIndices() for polyhedrons
This commit is contained in:
parent
2705c10eb5
commit
1f50f137e3
@ -447,14 +447,11 @@ SMDS_VolumeTool::SMDS_VolumeTool (const SMDS_MeshElement* theVolume)
|
||||
|
||||
SMDS_VolumeTool::~SMDS_VolumeTool()
|
||||
{
|
||||
if (myVolumeNodes != NULL) {
|
||||
delete [] myVolumeNodes;
|
||||
myVolumeNodes = NULL;
|
||||
}
|
||||
if (myFaceNodes != NULL) {
|
||||
delete [] myFaceNodes;
|
||||
myFaceNodes = NULL;
|
||||
}
|
||||
if ( myVolumeNodes != NULL ) delete [] myVolumeNodes;
|
||||
if ( myFaceNodes != NULL ) delete [] myFaceNodes;
|
||||
|
||||
myFaceNodeIndices = NULL;
|
||||
myVolumeNodes = myFaceNodes = NULL;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@ -914,12 +911,16 @@ const SMDS_MeshNode** SMDS_VolumeTool::GetFaceNodes( int faceIndex )
|
||||
|
||||
const int* SMDS_VolumeTool::GetFaceNodesIndices( int faceIndex )
|
||||
{
|
||||
if (myVolume->IsPoly()) {
|
||||
MESSAGE("Warning: attempt to obtain FaceNodesIndices of polyhedral volume");
|
||||
return NULL;
|
||||
}
|
||||
if ( !setFace( faceIndex ))
|
||||
return 0;
|
||||
|
||||
if (myVolume->IsPoly())
|
||||
{
|
||||
myPolyIndices.resize( myFaceNbNodes + 1 );
|
||||
myFaceNodeIndices = & myPolyIndices[0];
|
||||
for ( int i = 0; i <= myFaceNbNodes; ++i )
|
||||
myFaceNodeIndices[i] = myVolume->GetNodeIndex( myFaceNodes[i] );
|
||||
}
|
||||
return myFaceNodeIndices;
|
||||
}
|
||||
|
||||
@ -1686,7 +1687,7 @@ int SMDS_VolumeTool::NbFaceNodes(VolumeType type,
|
||||
//purpose : return element
|
||||
//=======================================================================
|
||||
|
||||
const SMDS_MeshVolume* SMDS_VolumeTool::Get() const
|
||||
const SMDS_MeshVolume* SMDS_VolumeTool::Element() const
|
||||
{
|
||||
return static_cast<const SMDS_MeshVolume*>( myVolume );
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ class SMDS_EXPORT SMDS_VolumeTool
|
||||
// Set volume.
|
||||
// Return false if theVolume is not of type SMDSAbs_Volume
|
||||
|
||||
const SMDS_MeshVolume* Get() const;
|
||||
const SMDS_MeshVolume* Element() const;
|
||||
// return element
|
||||
|
||||
int ID() const;
|
||||
@ -210,6 +210,7 @@ private:
|
||||
int myNbFaces;
|
||||
int myVolumeNbNodes;
|
||||
const SMDS_MeshNode** myVolumeNodes;
|
||||
std::vector< int > myPolyIndices;
|
||||
|
||||
bool myExternalFaces;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user