mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-24 04:50:34 +05:00
* Extended VOL format to include face colour data
* Modified Mesh Save and Load functions to handle new type "face_colours" * Face colours handled as RGB triplets
This commit is contained in:
parent
2b4e7aad8f
commit
04cb56a8ff
@ -771,6 +771,33 @@ namespace netgen
|
||||
}
|
||||
|
||||
|
||||
// Philippose - 09/07/2009
|
||||
// Add mesh face colours to Netgen Vol file format
|
||||
// The colours are saved in RGB triplets
|
||||
int cnt_facedesc = GetNFD();
|
||||
if (cnt_facedesc)
|
||||
{
|
||||
outfile << endl << endl << "# Surfnr Red Green Blue" << endl;
|
||||
outfile << "face_colours" << endl << cnt_facedesc << endl;
|
||||
|
||||
outfile.precision(8);
|
||||
outfile.setf(ios::fixed, ios::floatfield);
|
||||
outfile.setf(ios::showpoint);
|
||||
|
||||
for(i = 1; i <= cnt_facedesc; i++)
|
||||
{
|
||||
outfile.width(8);
|
||||
outfile << GetFaceDescriptor(i).SurfNr()+1 << " ";
|
||||
outfile.width(12);
|
||||
outfile << GetFaceDescriptor(i).SurfColour().X() << " ";
|
||||
outfile.width(12);
|
||||
outfile << GetFaceDescriptor(i).SurfColour().Y() << " ";
|
||||
outfile.width(12);
|
||||
outfile << GetFaceDescriptor(i).SurfColour().Z();
|
||||
outfile << endl;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1113,6 +1140,41 @@ namespace netgen
|
||||
}
|
||||
}
|
||||
|
||||
// Philippose - 09/07/2009
|
||||
// Add mesh face colours to Netgen Vol file format
|
||||
// The colours are read in as RGB triplets
|
||||
if (strcmp (str, "face_colours") == 0)
|
||||
{
|
||||
int cnt_facedesc = GetNFD();
|
||||
infile >> n;
|
||||
if(n == cnt_facedesc)
|
||||
{
|
||||
for(i = 1; i <= n; i++)
|
||||
{
|
||||
int surfnr = 0;
|
||||
Vec3d surfcolour(0.0,1.0,0.0);
|
||||
|
||||
infile >> surfnr
|
||||
>> surfcolour.X()
|
||||
>> surfcolour.Y()
|
||||
>> surfcolour.Z();
|
||||
|
||||
surfnr--;
|
||||
|
||||
if(surfnr > 0)
|
||||
{
|
||||
for(int facedesc = 1; facedesc <= cnt_facedesc; facedesc++)
|
||||
{
|
||||
if(surfnr == GetFaceDescriptor(facedesc).SurfNr())
|
||||
{
|
||||
GetFaceDescriptor(facedesc).SetSurfColour(surfcolour);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (strcmp (str, "endmesh") == 0)
|
||||
endmesh = true;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user