mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-03-19 10:17:55 +05:00
Hexotic size maps first working prototype (script only)
This commit is contained in:
parent
5c19c58d3d
commit
71c2daf85e
@ -340,45 +340,76 @@ Driver_Mesh::Status DriverGMF_Write::Perform()
|
||||
return DRS_OK;
|
||||
}
|
||||
|
||||
void DriverGMF_Write::AddSizeMapSection(int meshID, int nbControlPoints)
|
||||
{
|
||||
// void DriverGMF_Write::AddSizeMapSection(int meshID, int nbControlPoints)
|
||||
// {
|
||||
// // const int dim = 3, version = sizeof(long) == 4 ? 2 : 3;
|
||||
// // int meshID = GmfOpenMesh( myFile.c_str(), GmfWrite, version, dim );
|
||||
// int TypTab[] = {GmfSca};
|
||||
// GmfSetKwd(meshID, GmfSolAtVertices, nbControlPoints, 1, TypTab);
|
||||
// // GmfCloseMesh(meshID);
|
||||
// // return DRS_OK;
|
||||
// }
|
||||
//
|
||||
// void DriverGMF_Write::AppendSize(int meshID, double size)
|
||||
// {
|
||||
// // const int dim = 3, version = sizeof(long) == 4 ? 2 : 3;
|
||||
// // int meshID = GmfOpenMesh( myFile.c_str(), GmfWrite, version, dim );
|
||||
// // int nbPoints = GmfStatKwd( meshID, GmfSolAtVertices);
|
||||
// // GmfSetKwd( meshID, GmfSolAtVertices, nbPoints+1, 1, 1 );
|
||||
// double ValTab[] = {size};
|
||||
// GmfSetLin( meshID, GmfSolAtVertices, ValTab);
|
||||
// // return DRS_OK;
|
||||
// }
|
||||
//
|
||||
// int DriverGMF_Write::NbVerticesInFile()
|
||||
// {
|
||||
// int dim, version;
|
||||
// // open the file
|
||||
// int meshID = GmfOpenMesh( myFile.c_str(), GmfRead, &version, &dim );
|
||||
// int nbVertices = GmfStatKwd( meshID, GmfVertices);
|
||||
// return nbVertices;
|
||||
// }
|
||||
//
|
||||
// int DriverGMF_Write::OpenFileToWrite()
|
||||
// {
|
||||
// const int dim = 3, version = sizeof(long) == 4 ? 2 : 3;
|
||||
// int meshID = GmfOpenMesh( myFile.c_str(), GmfWrite, version, dim );
|
||||
int TypTab[] = {GmfSca};
|
||||
GmfSetKwd(meshID, GmfSolAtVertices, nbControlPoints, 1, TypTab);
|
||||
// return meshID;
|
||||
// }
|
||||
//
|
||||
// void DriverGMF_Write::CloseFile( int meshID )
|
||||
// {
|
||||
// GmfCloseMesh( meshID );
|
||||
// return DRS_OK;
|
||||
}
|
||||
// }
|
||||
|
||||
void DriverGMF_Write::AppendSize(int meshID, double size)
|
||||
{
|
||||
// const int dim = 3, version = sizeof(long) == 4 ? 2 : 3;
|
||||
// int meshID = GmfOpenMesh( myFile.c_str(), GmfWrite, version, dim );
|
||||
// int nbPoints = GmfStatKwd( meshID, GmfSolAtVertices);
|
||||
// GmfSetKwd( meshID, GmfSolAtVertices, nbPoints+1, 1, 1 );
|
||||
double ValTab[] = {size};
|
||||
GmfSetLin( meshID, GmfSolAtVertices, ValTab);
|
||||
// return DRS_OK;
|
||||
}
|
||||
|
||||
int DriverGMF_Write::NbVerticesInFile()
|
||||
{
|
||||
int dim, version;
|
||||
// open the file
|
||||
int meshID = GmfOpenMesh( myFile.c_str(), GmfRead, &version, &dim );
|
||||
int nbVertices = GmfStatKwd( meshID, GmfVertices);
|
||||
return nbVertices;
|
||||
}
|
||||
|
||||
int DriverGMF_Write::OpenFileToWrite()
|
||||
void DriverGMF_Write::WriteSizeMapFromMesh( double size )
|
||||
{
|
||||
// Open file
|
||||
const int dim = 3, version = sizeof(long) == 4 ? 2 : 3;
|
||||
int meshID = GmfOpenMesh( myFile.c_str(), GmfWrite, version, dim );
|
||||
return meshID;
|
||||
|
||||
// Vertices Keyword
|
||||
int iN = 0, nbNodes = myMesh->NbNodes();
|
||||
GmfSetKwd( meshID, GmfVertices, nbNodes );
|
||||
double xyz[3];
|
||||
SMDS_NodeIteratorPtr nodeIt = myMesh->nodesIterator();
|
||||
while ( nodeIt->more() )
|
||||
{
|
||||
const SMDS_MeshNode* n = nodeIt->next();
|
||||
n->GetXYZ( xyz );
|
||||
GmfSetLin( meshID, GmfVertices, xyz[0], xyz[1], xyz[2], n->getshapeId() );
|
||||
}
|
||||
|
||||
void DriverGMF_Write::CloseFile( int meshID )
|
||||
// solAtVertices Keyword
|
||||
int TypTab[] = {GmfSca};
|
||||
GmfSetKwd(meshID, GmfSolAtVertices, nbNodes, 1, TypTab);
|
||||
for ( int i=1; i<= nbNodes; i++)
|
||||
{
|
||||
double ValTab[] = {size};
|
||||
GmfSetLin( meshID, GmfSolAtVertices, ValTab);
|
||||
}
|
||||
|
||||
// Close File
|
||||
GmfCloseMesh( meshID );
|
||||
}
|
||||
|
||||
|
@ -49,11 +49,12 @@ public:
|
||||
}
|
||||
|
||||
virtual Status Perform();
|
||||
void AddSizeMapSection( int meshID, int nbControlPoints );
|
||||
void AppendSize( int meshID, double size );
|
||||
int NbVerticesInFile();
|
||||
int OpenFileToWrite();
|
||||
void CloseFile( int );
|
||||
void WriteSizeMapFromMesh( double size );
|
||||
// void AddSizeMapSection( int meshID, int nbControlPoints );
|
||||
// void AppendSize( int meshID, double size );
|
||||
// int NbVerticesInFile();
|
||||
// int OpenFileToWrite();
|
||||
// void CloseFile( int );
|
||||
|
||||
private:
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user