removed ambiguous Write*/Read* classes
This commit is contained in:
parent
4fa2f2a557
commit
290804071b
|
|
@ -60,8 +60,8 @@ namespace io {
|
||||||
template <int N> struct PlaceHolderType{ char A[N];};
|
template <int N> struct PlaceHolderType{ char A[N];};
|
||||||
|
|
||||||
|
|
||||||
struct WriteString { WriteString (FILE *f,const char * in) { unsigned int l = strlen(in); fwrite(&l,4,1,f); fwrite(in,1,l,f);}};
|
void WriteString(FILE *f,const char * in) { unsigned int l = strlen(in); fwrite(&l,4,1,f); fwrite(in,1,l,f);}
|
||||||
struct WriteInt { WriteInt (FILE *f,const unsigned int i) { fwrite(&i,1,4,f);} };
|
void WriteInt(FILE *f,const unsigned int i) { fwrite(&i,1,4,f);}
|
||||||
|
|
||||||
/* save Ocf Vertex Components */
|
/* save Ocf Vertex Components */
|
||||||
template <typename OpenMeshType,typename CONT>
|
template <typename OpenMeshType,typename CONT>
|
||||||
|
|
@ -193,8 +193,6 @@ namespace io {
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static FILE *& F(){static FILE * f; return f;}
|
static FILE *& F(){static FILE * f; return f;}
|
||||||
struct WriteString { WriteString (const char * in) { WriteString A = (F(),in);}};
|
|
||||||
struct WriteInt { WriteInt (const unsigned int i) { WriteInt A = (F(),i);} };
|
|
||||||
|
|
||||||
typedef typename SaveMeshType::FaceContainer FaceContainer;
|
typedef typename SaveMeshType::FaceContainer FaceContainer;
|
||||||
typedef typename SaveMeshType::FaceIterator FaceIterator;
|
typedef typename SaveMeshType::FaceIterator FaceIterator;
|
||||||
|
|
@ -221,22 +219,22 @@ namespace io {
|
||||||
faceSize = m.face.size();
|
faceSize = m.face.size();
|
||||||
|
|
||||||
/* write header */
|
/* write header */
|
||||||
WriteString("FACE_TYPE");
|
WriteString(F(),"FACE_TYPE");
|
||||||
WriteInt(nameF.size());
|
WriteInt(F(),nameF.size());
|
||||||
|
|
||||||
for(i=0; i < nameF.size(); ++i) WriteString(nameF[i].c_str());
|
for(i=0; i < nameF.size(); ++i) WriteString(F(),nameF[i].c_str());
|
||||||
WriteString("SIZE_VECTOR_FACES");
|
WriteString(F(),"SIZE_VECTOR_FACES");
|
||||||
WriteInt A0( faceSize );
|
WriteInt(F(), faceSize );
|
||||||
|
|
||||||
WriteString("VERTEX_TYPE");
|
WriteString(F(),"VERTEX_TYPE");
|
||||||
WriteInt(nameV.size());
|
WriteInt(F(),nameV.size());
|
||||||
|
|
||||||
for(i=0; i < nameV.size(); ++i) WriteString(nameV[i].c_str());
|
for(i=0; i < nameV.size(); ++i) WriteString(F(),nameV[i].c_str());
|
||||||
|
|
||||||
WriteString("SIZE_VECTOR_VERTS");
|
WriteString(F(),"SIZE_VECTOR_VERTS");
|
||||||
WriteInt A1(vertSize);
|
WriteInt(F(),vertSize);
|
||||||
|
|
||||||
WriteString("end_header");
|
WriteString(F(),"end_header");
|
||||||
|
|
||||||
if(vertSize!=0){
|
if(vertSize!=0){
|
||||||
unsigned int offsetV = (unsigned int) &m.vert[0];
|
unsigned int offsetV = (unsigned int) &m.vert[0];
|
||||||
|
|
@ -288,17 +286,17 @@ namespace io {
|
||||||
unsigned int n_named_attr = 0;
|
unsigned int n_named_attr = 0;
|
||||||
for(ai = m.vert_attr.begin(); ai != m.vert_attr.end(); ++ai) n_named_attr+=!(*ai)._name.empty();
|
for(ai = m.vert_attr.begin(); ai != m.vert_attr.end(); ++ai) n_named_attr+=!(*ai)._name.empty();
|
||||||
|
|
||||||
WriteString("N_PER_VERTEX_ATTRIBUTES"); WriteInt A2(n_named_attr);
|
WriteString(F(),"N_PER_VERTEX_ATTRIBUTES"); WriteInt (F(),n_named_attr);
|
||||||
for(ai = m.vert_attr.begin(); ai != m.vert_attr.end(); ++ai)
|
for(ai = m.vert_attr.begin(); ai != m.vert_attr.end(); ++ai)
|
||||||
if(!(*ai)._name.empty())
|
if(!(*ai)._name.empty())
|
||||||
{
|
{
|
||||||
STDBv * stdb = (STDBv *) (*ai)._handle;
|
STDBv * stdb = (STDBv *) (*ai)._handle;
|
||||||
|
|
||||||
WriteString("PER_VERTEX_ATTR_NAME");
|
WriteString(F(),"PER_VERTEX_ATTR_NAME");
|
||||||
WriteString((*ai)._name.c_str() );
|
WriteString(F(),(*ai)._name.c_str() );
|
||||||
|
|
||||||
WriteString("PER_VERTEX_ATTR_SIZE");
|
WriteString(F(),"PER_VERTEX_ATTR_SIZE");
|
||||||
WriteInt(stdb->SizeOf());
|
WriteInt(F(),stdb->SizeOf());
|
||||||
|
|
||||||
fwrite(stdb->DataBegin(),m.vert.size(),stdb->SizeOf(),F());
|
fwrite(stdb->DataBegin(),m.vert.size(),stdb->SizeOf(),F());
|
||||||
}
|
}
|
||||||
|
|
@ -310,19 +308,19 @@ namespace io {
|
||||||
unsigned int n_named_attr = 0;
|
unsigned int n_named_attr = 0;
|
||||||
for(ai = m.face_attr.begin(); ai != m.face_attr.end(); ++ai) n_named_attr+=!(*ai)._name.empty();
|
for(ai = m.face_attr.begin(); ai != m.face_attr.end(); ++ai) n_named_attr+=!(*ai)._name.empty();
|
||||||
|
|
||||||
WriteString("N_PER_FACE_ATTRIBUTES");
|
WriteString(F(),"N_PER_FACE_ATTRIBUTES");
|
||||||
WriteInt A3(n_named_attr);
|
WriteInt (F(),n_named_attr);
|
||||||
|
|
||||||
for(ai = m.face_attr.begin(); ai != m.face_attr.end(); ++ai)
|
for(ai = m.face_attr.begin(); ai != m.face_attr.end(); ++ai)
|
||||||
if(!(*ai)._name.empty())
|
if(!(*ai)._name.empty())
|
||||||
{
|
{
|
||||||
STDBf * stdb = (STDBf *) (*ai)._handle;
|
STDBf * stdb = (STDBf *) (*ai)._handle;
|
||||||
|
|
||||||
WriteString("PER_FACE_ATTR_NAME");
|
WriteString(F(),"PER_FACE_ATTR_NAME");
|
||||||
WriteString((*ai)._name.c_str());
|
WriteString(F(),(*ai)._name.c_str());
|
||||||
|
|
||||||
WriteString("PER_FACE_ATTR_SIZE");
|
WriteString(F(),"PER_FACE_ATTR_SIZE");
|
||||||
WriteInt(stdb->SizeOf());
|
WriteInt(F(),stdb->SizeOf());
|
||||||
|
|
||||||
fwrite(stdb->DataBegin(),m.face.size(),stdb->SizeOf(),F());
|
fwrite(stdb->DataBegin(),m.face.size(),stdb->SizeOf(),F());
|
||||||
}
|
}
|
||||||
|
|
@ -333,17 +331,17 @@ namespace io {
|
||||||
typename std::set< typename SaveMeshType::PointerToAttribute>::const_iterator ai;
|
typename std::set< typename SaveMeshType::PointerToAttribute>::const_iterator ai;
|
||||||
unsigned int n_named_attr = 0;
|
unsigned int n_named_attr = 0;
|
||||||
for(ai = m.mesh_attr.begin(); ai != m.mesh_attr.end(); ++ai) n_named_attr+=!(*ai)._name.empty();
|
for(ai = m.mesh_attr.begin(); ai != m.mesh_attr.end(); ++ai) n_named_attr+=!(*ai)._name.empty();
|
||||||
WriteString("N_PER_MESH_ATTRIBUTES"); WriteInt A4(n_named_attr);
|
WriteString(F(),"N_PER_MESH_ATTRIBUTES"); WriteInt(F(),n_named_attr);
|
||||||
for(ai = m.mesh_attr.begin(); ai != m.mesh_attr.end(); ++ai)
|
for(ai = m.mesh_attr.begin(); ai != m.mesh_attr.end(); ++ai)
|
||||||
if(!(*ai)._name.empty())
|
if(!(*ai)._name.empty())
|
||||||
{
|
{
|
||||||
AttributeBase * handle = (AttributeBase *) (*ai)._handle ;
|
AttributeBase * handle = (AttributeBase *) (*ai)._handle ;
|
||||||
|
|
||||||
WriteString("PER_MESH_ATTR_NAME");
|
WriteString(F(),"PER_MESH_ATTR_NAME");
|
||||||
WriteString((*ai)._name.c_str());
|
WriteString(F(),(*ai)._name.c_str());
|
||||||
|
|
||||||
WriteString("PER_MESH_ATTR_SIZE");
|
WriteString(F(),"PER_MESH_ATTR_SIZE");
|
||||||
WriteInt(handle->SizeOf());
|
WriteInt(F(),handle->SizeOf());
|
||||||
|
|
||||||
fwrite(handle->DataBegin(),1,handle->SizeOf(),F());
|
fwrite(handle->DataBegin(),1,handle->SizeOf(),F());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -236,15 +236,15 @@ namespace io {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
struct ReadString{ ReadString(FILE * f,std::string & out){
|
void ReadString(FILE * f,std::string & out){
|
||||||
unsigned int l; fread(&l,4,1,f);
|
unsigned int l; fread(&l,4,1,f);
|
||||||
char * buf = new char[l+1];
|
char * buf = new char[l+1];
|
||||||
fread(buf,1,l,f);buf[l]='\0';
|
fread(buf,1,l,f);buf[l]='\0';
|
||||||
out = std::string(buf);
|
out = std::string(buf);
|
||||||
delete [] buf;
|
delete [] buf;
|
||||||
}
|
}
|
||||||
};
|
|
||||||
struct ReadInt{ ReadInt(FILE *f, unsigned int & i){ fread(&i,1,4,f);}};
|
void ReadInt(FILE *f, unsigned int & i){ fread(&i,1,4,f);}
|
||||||
|
|
||||||
|
|
||||||
template <typename OpenMeshType, typename CONT>
|
template <typename OpenMeshType, typename CONT>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue