3d-viewer: fix compil warning, by Mario Luzeiro, with some coding style fixes.

This commit is contained in:
unknown 2014-08-05 08:39:04 +02:00 committed by jean-pierre charras
parent 242d42cf1d
commit af657fc87d
3 changed files with 137 additions and 70 deletions

View File

@ -28,6 +28,7 @@
#include <fctsys.h> #include <fctsys.h>
#include <kiface_i.h> #include <kiface_i.h>
#include <pgm_base.h> #include <pgm_base.h>
#include <macros.h>
#include <3d_viewer.h> #include <3d_viewer.h>
#include <3d_canvas.h> #include <3d_canvas.h>
@ -133,8 +134,6 @@ EDA_3D_FRAME::EDA_3D_FRAME( KIWAY* aKiway, PCB_BASE_FRAME* aParent,
#if wxCHECK_VERSION( 3, 0, 0 ) #if wxCHECK_VERSION( 3, 0, 0 )
unsigned int ii;
// Check if the canvas supports multisampling. // Check if the canvas supports multisampling.
if( EDA_3D_CANVAS::IsDisplaySupported( attrs ) ) if( EDA_3D_CANVAS::IsDisplaySupported( attrs ) )
{ {
@ -142,7 +141,7 @@ EDA_3D_FRAME::EDA_3D_FRAME( KIWAY* aKiway, PCB_BASE_FRAME* aParent,
int maxSamples = 8; // Any higher doesn't change anything. int maxSamples = 8; // Any higher doesn't change anything.
int samplesOffset = 0; int samplesOffset = 0;
for( ii = 0; ii < sizeof( attrs ) / sizeof( attrs[0] ) - 1; ii += 2 ) for( unsigned int ii = 0; ii < DIM( attrs ); ii += 2 )
{ {
if( attrs[ii] == WX_GL_SAMPLES ) if( attrs[ii] == WX_GL_SAMPLES )
{ {
@ -162,7 +161,7 @@ EDA_3D_FRAME::EDA_3D_FRAME( KIWAY* aKiway, PCB_BASE_FRAME* aParent,
else else
{ {
// Disable multisampling // Disable multisampling
for( ii = 0; ii < sizeof( attrs ) / sizeof( attrs[0] ) - 1; ii += 2 ) for( unsigned int ii = 0; ii < DIM( attrs ); ii += 2 )
{ {
if( attrs[ii] == WX_GL_SAMPLE_BUFFERS ) if( attrs[ii] == WX_GL_SAMPLE_BUFFERS )
{ {

View File

@ -107,9 +107,10 @@ char* GetNextTag( FILE* File, char* tag )
if( (c != '}') && (c != ']') ) if( (c != '}') && (c != ']') )
{ {
char *dst = &tag[1]; char *dst = &tag[1];
while (fscanf( File, "%c", dst)) while( fscanf( File, "%c", dst) )
{ {
if( (*dst == ' ') || (*dst == '[') || (*dst == '{') || (*dst == '\t') || (*dst == '\n')|| (*dst == '\r') ) if( (*dst == ' ') || (*dst == '[') || (*dst == '{') ||
(*dst == '\t') || (*dst == '\n')|| (*dst == '\r') )
{ {
*dst = 0; *dst = 0;
break; break;

View File

@ -109,7 +109,8 @@ void VRML2_MODEL_PARSER::Load( const wxString aFilename )
read_Transform(); read_Transform();
} else if( strcmp( text, "DEF" ) == 0 ) }
else if( strcmp( text, "DEF" ) == 0 )
{ {
m_model = new S3D_MESH(); m_model = new S3D_MESH();
@ -155,36 +156,73 @@ int VRML2_MODEL_PARSER::read_Transform()
if( strcmp( text, "translation" ) == 0 ) if( strcmp( text, "translation" ) == 0 )
{ {
parseVertex( m_file, m_model->m_translation ); parseVertex( m_file, m_model->m_translation );
} else if( strcmp( text, "rotation" ) == 0 ) }
else if( strcmp( text, "rotation" ) == 0 )
{ {
fscanf( m_file, "%f %f %f %f", &m_model->m_rotation[0], &m_model->m_rotation[1], &m_model->m_rotation[2], &m_model->m_rotation[3]); if( fscanf( m_file, "%f %f %f %f", &m_model->m_rotation[0],
m_model->m_rotation[3] = m_model->m_rotation[3] * 180.0f / 3.14f; // !TODO: use constants or functions &m_model->m_rotation[1],
} else if( strcmp( text, "scale" ) == 0 ) &m_model->m_rotation[2],
&m_model->m_rotation[3] ) != 4 )
{
// !TODO: log errors
m_model->m_rotation[0] = 0.0f;
m_model->m_rotation[1] = 0.0f;
m_model->m_rotation[2] = 0.0f;
m_model->m_rotation[3] = 0.0f;
}
else
{
m_model->m_rotation[3] = m_model->m_rotation[3] * 180.0f / 3.14f; // !TODO: use constants or functions
}
}
else if( strcmp( text, "scale" ) == 0 )
{ {
parseVertex( m_file, m_model->m_scale ); parseVertex( m_file, m_model->m_scale );
} else if( strcmp( text, "scaleOrientation" ) == 0 ) }
else if( strcmp( text, "scaleOrientation" ) == 0 )
{ {
fscanf( m_file, "%f %f %f %f", &m_model->m_scaleOrientation[0], &m_model->m_scaleOrientation[1], &m_model->m_scaleOrientation[2], &m_model->m_scaleOrientation[3]); // this m_scaleOrientation is not implemented, but it will be parsed
} else if( strcmp( text, "center" ) == 0 ) if( fscanf( m_file, "%f %f %f %f", &m_model->m_scaleOrientation[0],
&m_model->m_scaleOrientation[1],
&m_model->m_scaleOrientation[2],
&m_model->m_scaleOrientation[3] ) != 4 )
{
// !TODO: log errors
m_model->m_scaleOrientation[0] = 0.0f;
m_model->m_scaleOrientation[1] = 0.0f;
m_model->m_scaleOrientation[2] = 0.0f;
m_model->m_scaleOrientation[3] = 0.0f;
}
}
else if( strcmp( text, "center" ) == 0 )
{ {
parseVertex( m_file, m_model->m_center ); parseVertex( m_file, m_model->m_center );
} else if( strcmp( text, "children" ) == 0 ) }
else if( strcmp( text, "children" ) == 0 )
{ {
// skip // skip
} else if( strcmp( text, "Switch" ) == 0 ) }
else if( strcmp( text, "Switch" ) == 0 )
{ {
// skip // skip
} else if( strcmp( text, "whichChoice" ) == 0 ) }
else if( strcmp( text, "whichChoice" ) == 0 )
{ {
int dummy; int dummy;
fscanf( m_file, "%d", &dummy ); if( fscanf( m_file, "%d", &dummy ) != 1 )
} else if( strcmp( text, "choice" ) == 0 ) {
// !TODO: log errors
}
}
else if( strcmp( text, "choice" ) == 0 )
{ {
// skip // skip
} else if( strcmp( text, "Group" ) == 0 ) }
else if( strcmp( text, "Group" ) == 0 )
{ {
// skip // skip
} else if( strcmp( text, "Shape" ) == 0 ) }
else if( strcmp( text, "Shape" ) == 0 )
{ {
S3D_MESH *parent = m_model; S3D_MESH *parent = m_model;
@ -198,10 +236,12 @@ int VRML2_MODEL_PARSER::read_Transform()
m_model = parent; m_model = parent;
} else if( strcmp( text, "DEF" ) == 0 ) }
else if( strcmp( text, "DEF" ) == 0 )
{ {
read_DEF(); read_DEF();
} else }
else
{ {
DBG( printf( " %s NotImplemented\n", text ) ); DBG( printf( " %s NotImplemented\n", text ) );
read_NotImplemented( m_file, '}' ); read_NotImplemented( m_file, '}' );
@ -238,16 +278,20 @@ int VRML2_MODEL_PARSER::read_DEF()
} else if( strcmp( text, "children" ) == 0 ) } else if( strcmp( text, "children" ) == 0 )
{ {
// skip // skip
} else if( strcmp( text, "Switch" ) == 0 ) }
else if( strcmp( text, "Switch" ) == 0 )
{ {
// skip // skip
} else if( strcmp( text, "whichChoice" ) == 0 ) }
else if( strcmp( text, "whichChoice" ) == 0 )
{ {
// skip // skip
} else if( strcmp( text, "choice" ) == 0 ) }
else if( strcmp( text, "choice" ) == 0 )
{ {
// skip // skip
}else if( strcmp( text, "Shape" ) == 0 ) }
else if( strcmp( text, "Shape" ) == 0 )
{ {
S3D_MESH *parent = m_model; S3D_MESH *parent = m_model;
@ -290,16 +334,20 @@ int VRML2_MODEL_PARSER::read_Shape()
if( strcmp( text, "appearance" ) == 0 ) if( strcmp( text, "appearance" ) == 0 )
{ {
//skip //skip
} else if( strcmp( text, "Appearance" ) == 0 ) }
else if( strcmp( text, "Appearance" ) == 0 )
{ {
read_Appearance(); read_Appearance();
} else if( strcmp( text, "geometry" ) == 0 ) }
else if( strcmp( text, "geometry" ) == 0 )
{ {
//skip //skip
} else if( strcmp( text, "IndexedFaceSet" ) == 0 ) }
else if( strcmp( text, "IndexedFaceSet" ) == 0 )
{ {
read_IndexedFaceSet(); read_IndexedFaceSet();
} else }
else
{ {
DBG( printf( " %s NotImplemented\n", text ) ); DBG( printf( " %s NotImplemented\n", text ) );
read_NotImplemented( m_file, '}' ); read_NotImplemented( m_file, '}' );
@ -362,7 +410,8 @@ int VRML2_MODEL_PARSER::read_material()
{ {
return read_Material(); return read_Material();
} }
} else if( strcmp( text, "DEF" ) == 0 ) }
else if( strcmp( text, "DEF" ) == 0 )
{ {
//DBG( printf( "DEF") ); //DBG( printf( "DEF") );
@ -387,7 +436,8 @@ int VRML2_MODEL_PARSER::read_material()
} }
} }
} }
} else if( strcmp( text, "USE" ) == 0 ) }
else if( strcmp( text, "USE" ) == 0 )
{ {
//DBG( printf( "USE") ); //DBG( printf( "USE") );
@ -450,7 +500,8 @@ int VRML2_MODEL_PARSER::read_Material()
{ {
m_model->m_Materials->m_EmissiveColor.push_back( vertex ); m_model->m_Materials->m_EmissiveColor.push_back( vertex );
} }
} else if( strcmp( text, "specularColor" ) == 0 ) }
else if( strcmp( text, "specularColor" ) == 0 )
{ {
//DBG( printf( " specularColor") ); //DBG( printf( " specularColor") );
parseVertex ( m_file, vertex); parseVertex ( m_file, vertex);
@ -459,7 +510,8 @@ int VRML2_MODEL_PARSER::read_Material()
{ {
m_model->m_Materials->m_SpecularColor.push_back( vertex ); m_model->m_Materials->m_SpecularColor.push_back( vertex );
} }
} else if( strcmp( text, "ambientIntensity" ) == 0 ) }
else if( strcmp( text, "ambientIntensity" ) == 0 )
{ {
float ambientIntensity; float ambientIntensity;
parseFloat( m_file, &ambientIntensity ); parseFloat( m_file, &ambientIntensity );
@ -468,7 +520,8 @@ int VRML2_MODEL_PARSER::read_Material()
{ {
m_model->m_Materials->m_AmbientColor.push_back( glm::vec3( ambientIntensity, ambientIntensity, ambientIntensity ) ); m_model->m_Materials->m_AmbientColor.push_back( glm::vec3( ambientIntensity, ambientIntensity, ambientIntensity ) );
} }
} else if( strcmp( text, "transparency" ) == 0 ) }
else if( strcmp( text, "transparency" ) == 0 )
{ {
float transparency; float transparency;
parseFloat( m_file, &transparency ); parseFloat( m_file, &transparency );
@ -477,7 +530,8 @@ int VRML2_MODEL_PARSER::read_Material()
{ {
m_model->m_Materials->m_Transparency.push_back( transparency ); m_model->m_Materials->m_Transparency.push_back( transparency );
} }
} else if( strcmp( text, "shininess" ) == 0 ) }
else if( strcmp( text, "shininess" ) == 0 )
{ {
float shininess; float shininess;
parseFloat( m_file, &shininess ); parseFloat( m_file, &shininess );
@ -528,7 +582,8 @@ int VRML2_MODEL_PARSER::read_IndexedFaceSet()
m_normalPerVertex = true; m_normalPerVertex = true;
} }
} }
} else if( strcmp( text, "colorPerVertex" ) == 0 ) }
else if( strcmp( text, "colorPerVertex" ) == 0 )
{ {
GetNextTag( m_file, text ); GetNextTag( m_file, text );
if( strcmp( text, "TRUE" ) ) if( strcmp( text, "TRUE" ) )
@ -540,22 +595,28 @@ int VRML2_MODEL_PARSER::read_IndexedFaceSet()
colorPerVertex = false; colorPerVertex = false;
} }
} else if( strcmp( text, "Coordinate" ) == 0 ) }
else if( strcmp( text, "Coordinate" ) == 0 )
{ {
read_Coordinate(); read_Coordinate();
} else if( strcmp( text, "Normal" ) == 0 ) }
else if( strcmp( text, "Normal" ) == 0 )
{ {
read_Normal(); read_Normal();
} else if( strcmp( text, "normalIndex" ) == 0 ) }
else if( strcmp( text, "normalIndex" ) == 0 )
{ {
read_NormalIndex(); read_NormalIndex();
} else if( strcmp( text, "Color" ) == 0 ) }
else if( strcmp( text, "Color" ) == 0 )
{ {
read_Color(); read_Color();
} else if( strcmp( text, "coordIndex" ) == 0 ) }
else if( strcmp( text, "coordIndex" ) == 0 )
{ {
read_coordIndex(); read_coordIndex();
} else if( strcmp( text, "colorIndex" ) == 0 ) }
else if( strcmp( text, "colorIndex" ) == 0 )
{ {
read_colorIndex(); read_colorIndex();
} }
@ -583,14 +644,17 @@ int VRML2_MODEL_PARSER::read_colorIndex()
{ {
// it only implemented color per face, so it will store as the first in the list // it only implemented color per face, so it will store as the first in the list
m_model->m_MaterialIndex.push_back( first_index ); m_model->m_MaterialIndex.push_back( first_index );
} else }
else
{ {
first_index = index; first_index = index;
} }
} }
} else }
else
{ {
int index; int index;
while( fscanf( m_file, "%d,", &index ) ) while( fscanf( m_file, "%d,", &index ) )
{ {
m_model->m_MaterialIndex.push_back( index ); m_model->m_MaterialIndex.push_back( index );
@ -622,7 +686,8 @@ int VRML2_MODEL_PARSER::read_NormalIndex()
m_model->m_NormalIndex.push_back( coord_list ); m_model->m_NormalIndex.push_back( coord_list );
//DBG( printf( " size: %lu ", coord_list.size()) ); //DBG( printf( " size: %lu ", coord_list.size()) );
coord_list.clear(); coord_list.clear();
} else }
else
{ {
coord_list.push_back( dummy ); coord_list.push_back( dummy );
//DBG( printf( "%d ", dummy) ); //DBG( printf( "%d ", dummy) );
@ -654,7 +719,8 @@ int VRML2_MODEL_PARSER::read_coordIndex()
m_model->m_CoordIndex.push_back( coord_list ); m_model->m_CoordIndex.push_back( coord_list );
//DBG( printf( " size: %lu ", coord_list.size()) ); //DBG( printf( " size: %lu ", coord_list.size()) );
coord_list.clear(); coord_list.clear();
} else }
else
{ {
coord_list.push_back( dummy ); coord_list.push_back( dummy );
//DBG( printf( "%d ", dummy) ); //DBG( printf( "%d ", dummy) );
@ -723,7 +789,8 @@ int VRML2_MODEL_PARSER::read_Normal()
if(m_normalPerVertex == false ) if(m_normalPerVertex == false )
{ {
parseVertexList( m_file, m_model->m_PerFaceNormalsNormalized ); parseVertexList( m_file, m_model->m_PerFaceNormalsNormalized );
} else }
else
{ {
parseVertexList( m_file, m_model->m_PerVertexNormalsNormalized ); parseVertexList( m_file, m_model->m_PerVertexNormalsNormalized );