minor changes for gcc compiler
This commit is contained in:
parent
86816cc60f
commit
c69c140e0a
|
@ -63,7 +63,7 @@ namespace io {
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
int vertSize,faceSize;
|
int vertSize,faceSize;
|
||||||
FILE * f = fopen(filename,"wb");
|
FILE * f = fopen(filename,"wb");
|
||||||
std::vector<string> nameF,nameV;
|
std::vector<std::string> nameF,nameV;
|
||||||
SaveMeshType::FaceType::Name(nameF);
|
SaveMeshType::FaceType::Name(nameF);
|
||||||
SaveMeshType::VertexType::Name(nameV);
|
SaveMeshType::VertexType::Name(nameV);
|
||||||
vertSize = m.vert.size();
|
vertSize = m.vert.size();
|
||||||
|
@ -89,21 +89,21 @@ namespace io {
|
||||||
fwrite(&offsetF,sizeof( int),1,f);
|
fwrite(&offsetF,sizeof( int),1,f);
|
||||||
|
|
||||||
/* save the object mesh */
|
/* save the object mesh */
|
||||||
fwrite(&m.camera,sizeof(Camera<SaveMeshType::ScalarType>),1,f);
|
fwrite(&m.camera,sizeof(Camera<typename SaveMeshType::ScalarType>),1,f);
|
||||||
fwrite(&m.shot,sizeof(Shot<SaveMeshType::ScalarType>),1,f);
|
fwrite(&m.shot,sizeof(Shot<typename SaveMeshType::ScalarType>),1,f);
|
||||||
fwrite(&m.vn,sizeof(int),1,f);
|
fwrite(&m.vn,sizeof(int),1,f);
|
||||||
fwrite(&m.fn,sizeof(int),1,f);
|
fwrite(&m.fn,sizeof(int),1,f);
|
||||||
fwrite(&m.imark,sizeof(int),1,f);
|
fwrite(&m.imark,sizeof(int),1,f);
|
||||||
fwrite(&m.bbox,sizeof(Box3<SaveMeshType::ScalarType>),1,f);
|
fwrite(&m.bbox,sizeof(Box3<typename SaveMeshType::ScalarType>),1,f);
|
||||||
fwrite(&m.C(),sizeof(Color4b),1,f);
|
fwrite(&m.C(),sizeof(Color4b),1,f);
|
||||||
|
|
||||||
int written;
|
int written;
|
||||||
/* save the vertices */
|
/* save the vertices */
|
||||||
written = fwrite((void*)&m.vert[0],sizeof(SaveMeshType::VertexType),m.vert.size(),f);
|
written = fwrite((void*)&m.vert[0],sizeof(typename SaveMeshType::VertexType),m.vert.size(),f);
|
||||||
assert(written==m.vert.size());
|
assert(written==m.vert.size());
|
||||||
|
|
||||||
/* save the faces */
|
/* save the faces */
|
||||||
written = fwrite((void*)&m.face[0],sizeof(SaveMeshType::FaceType),m.face.size(),f);
|
written = fwrite((void*)&m.face[0],sizeof(typename SaveMeshType::FaceType),m.face.size(),f);
|
||||||
assert(written==m.face.size());
|
assert(written==m.face.size());
|
||||||
|
|
||||||
// fflush(f);
|
// fflush(f);
|
||||||
|
|
|
@ -92,10 +92,12 @@ namespace io {
|
||||||
}
|
}
|
||||||
static bool Open(OpenMeshType &m,char * filename){
|
static bool Open(OpenMeshType &m,char * filename){
|
||||||
int i;
|
int i;
|
||||||
OpenMeshType::FaceIterator fi;
|
typedef typename OpenMeshType::VertexType VertexType;
|
||||||
OpenMeshType::VertexIterator vi;
|
typedef typename OpenMeshType::FaceType FaceType;
|
||||||
|
typename OpenMeshType::FaceIterator fi;
|
||||||
|
typename OpenMeshType::VertexIterator vi;
|
||||||
FILE * f = fopen(filename,"rb");
|
FILE * f = fopen(filename,"rb");
|
||||||
std::vector<string> nameF,nameV,fnameF,fnameV;
|
std::vector<std::string> nameF,nameV,fnameF,fnameV;
|
||||||
int vertSize,faceSize;
|
int vertSize,faceSize;
|
||||||
|
|
||||||
/* read the header */
|
/* read the header */
|
||||||
|
@ -117,12 +119,12 @@ namespace io {
|
||||||
fread(&offsetF,sizeof( int),1,f);
|
fread(&offsetF,sizeof( int),1,f);
|
||||||
|
|
||||||
/* read the object mesh */
|
/* read the object mesh */
|
||||||
fread(&m.camera,sizeof(Camera<OpenMeshType::ScalarType>),1,f);
|
fread(&m.camera,sizeof(Camera<typename OpenMeshType::ScalarType>),1,f);
|
||||||
fread(&m.shot,sizeof(Shot<OpenMeshType::ScalarType>),1,f);
|
fread(&m.shot,sizeof(Shot<typename OpenMeshType::ScalarType>),1,f);
|
||||||
fread(&m.vn,sizeof(int),1,f);
|
fread(&m.vn,sizeof(int),1,f);
|
||||||
fread(&m.fn,sizeof(int),1,f);
|
fread(&m.fn,sizeof(int),1,f);
|
||||||
fread(&m.imark,sizeof(int),1,f);
|
fread(&m.imark,sizeof(int),1,f);
|
||||||
fread(&m.bbox,sizeof(Box3<OpenMeshType::ScalarType>),1,f);
|
fread(&m.bbox,sizeof(Box3<typename OpenMeshType::ScalarType>),1,f);
|
||||||
fread(&m.C(),sizeof(Color4b),1,f);
|
fread(&m.C(),sizeof(Color4b),1,f);
|
||||||
|
|
||||||
/* resize the vector of vertices */
|
/* resize the vector of vertices */
|
||||||
|
@ -130,46 +132,47 @@ namespace io {
|
||||||
|
|
||||||
int read;
|
int read;
|
||||||
/* load the vertices */
|
/* load the vertices */
|
||||||
read=fread((void*)& m.vert[0],sizeof(OpenMeshType::VertexType),vertSize,f);
|
read=fread((void*)& m.vert[0],sizeof(VertexType),vertSize,f);
|
||||||
assert(ferror(f)==0);
|
assert(ferror(f)==0);
|
||||||
assert(read==vertSize);
|
assert(read==vertSize);
|
||||||
|
|
||||||
m.face.resize(faceSize);
|
m.face.resize(faceSize);
|
||||||
/* load the faces */
|
/* load the faces */
|
||||||
read = fread((void*)& m.face[0],sizeof(OpenMeshType::FaceType),faceSize,f);
|
read = fread((void*)& m.face[0],sizeof(FaceType),faceSize,f);
|
||||||
assert(ferror(f)==0);
|
assert(ferror(f)==0);
|
||||||
assert(!feof(f));
|
assert(!feof(f));
|
||||||
assert(read==faceSize);
|
assert(read==faceSize);
|
||||||
|
|
||||||
if(OpenMeshType::FaceType::HasVFAdjacency())
|
if(FaceType::HasVFAdjacency())
|
||||||
for(vi = m.vert.begin(); vi != m.vert.end(); ++vi){
|
for(vi = m.vert.begin(); vi != m.vert.end(); ++vi){
|
||||||
(*vi).VFp() = (*vi).VFp()-(OpenMeshType::FaceType*)offsetF+ &m.face[0];
|
(*vi).VFp() = (*vi).VFp()-(FaceType*)offsetF+ &m.face[0];
|
||||||
(*vi).VFp() = (*vi).VFp()-(OpenMeshType::FaceType*)offsetF+ &m.face[0];
|
(*vi).VFp() = (*vi).VFp()-(FaceType*)offsetF+ &m.face[0];
|
||||||
(*vi).VFp() = (*vi).VFp()-(OpenMeshType::FaceType*)offsetF+ &m.face[0];
|
(*vi).VFp() = (*vi).VFp()-(FaceType*)offsetF+ &m.face[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(OpenMeshType::FaceType::HasVertexRef())
|
if(FaceType::HasVertexRef())
|
||||||
for(fi = m.face.begin(); fi != m.face.end(); ++fi){
|
for(fi = m.face.begin(); fi != m.face.end(); ++fi){
|
||||||
(*fi).V(0) = (*fi).V(0)-(OpenMeshType::VertexType*)offsetV+ &m.vert[0];
|
(*fi).V(0) = (*fi).V(0)-(VertexType*)offsetV+ &m.vert[0];
|
||||||
(*fi).V(1) = (*fi).V(1)-(OpenMeshType::VertexType*)offsetV+ &m.vert[0];
|
(*fi).V(1) = (*fi).V(1)-(VertexType*)offsetV+ &m.vert[0];
|
||||||
(*fi).V(2) = (*fi).V(2)-(OpenMeshType::VertexType*)offsetV+ &m.vert[0];
|
(*fi).V(2) = (*fi).V(2)-(VertexType*)offsetV+ &m.vert[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(OpenMeshType::FaceType::HasFFAdjacency())
|
if(FaceType::HasFFAdjacency())
|
||||||
for(fi = m.face.begin(); fi != m.face.end(); ++fi){
|
for(fi = m.face.begin(); fi != m.face.end(); ++fi){
|
||||||
(*fi).FFp(0) = (*fi).FFp(0)-(OpenMeshType::FaceType*)offsetF+ &m.face[0];
|
(*fi).FFp(0) = (*fi).FFp(0)-(FaceType*)offsetF+ &m.face[0];
|
||||||
(*fi).FFp(1) = (*fi).FFp(1)-(OpenMeshType::FaceType*)offsetF+ &m.face[0];
|
(*fi).FFp(1) = (*fi).FFp(1)-(FaceType*)offsetF+ &m.face[0];
|
||||||
(*fi).FFp(2) = (*fi).FFp(2)-(OpenMeshType::FaceType*)offsetF+ &m.face[0];
|
(*fi).FFp(2) = (*fi).FFp(2)-(FaceType*)offsetF+ &m.face[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(OpenMeshType::FaceType::HasVFAdjacency())
|
if(FaceType::HasVFAdjacency())
|
||||||
for(fi = m.face.begin(); fi != m.face.end(); ++fi){
|
for(fi = m.face.begin(); fi != m.face.end(); ++fi){
|
||||||
(*fi).VFp(0) = (*fi).VFp(0)-(OpenMeshType::FaceType*)offsetF+ &m.face[0];
|
(*fi).VFp(0) = (*fi).VFp(0)-(FaceType*)offsetF+ &m.face[0];
|
||||||
(*fi).VFp(1) = (*fi).VFp(1)-(OpenMeshType::FaceType*)offsetF+ &m.face[0];
|
(*fi).VFp(1) = (*fi).VFp(1)-(FaceType*)offsetF+ &m.face[0];
|
||||||
(*fi).VFp(2) = (*fi).VFp(2)-(OpenMeshType::FaceType*)offsetF+ &m.face[0];
|
(*fi).VFp(2) = (*fi).VFp(2)-(FaceType*)offsetF+ &m.face[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}; // end class
|
}; // end class
|
||||||
|
|
Loading…
Reference in New Issue