diff --git a/3d-viewer/3d_aux.cpp b/3d-viewer/3d_aux.cpp index 2a5c758fcd..e78229a296 100644 --- a/3d-viewer/3d_aux.cpp +++ b/3d-viewer/3d_aux.cpp @@ -151,7 +151,7 @@ void TransfertToGLlist( std::vector< S3D_VERTEX >& aVertices, double aBiuTo3DUni glEnd(); } -VERTEX_VALUE_CTRL::VERTEX_VALUE_CTRL( wxWindow* aParent, wxBoxSizer* aBoxSizer ) +S3DPOINT_VALUE_CTRL::S3DPOINT_VALUE_CTRL( wxWindow* aParent, wxBoxSizer* aBoxSizer ) { wxString text; @@ -187,15 +187,16 @@ VERTEX_VALUE_CTRL::VERTEX_VALUE_CTRL( wxWindow* aParent, wxBoxSizer* aBoxSizer ) } -VERTEX_VALUE_CTRL::~VERTEX_VALUE_CTRL() +S3DPOINT_VALUE_CTRL::~S3DPOINT_VALUE_CTRL() { + // Nothing to delete: all items are managed by the parent window. } -S3D_VERTEX VERTEX_VALUE_CTRL::GetValue() +S3DPOINT S3DPOINT_VALUE_CTRL::GetValue() { - S3D_VERTEX value; - double dtmp; + S3DPOINT value; + double dtmp; m_XValueCtrl->GetValue().ToDouble( &dtmp ); value.x = dtmp; @@ -207,7 +208,7 @@ S3D_VERTEX VERTEX_VALUE_CTRL::GetValue() } -void VERTEX_VALUE_CTRL::SetValue( S3D_VERTEX vertex ) +void S3DPOINT_VALUE_CTRL::SetValue( S3DPOINT vertex ) { wxString text; @@ -225,7 +226,7 @@ void VERTEX_VALUE_CTRL::SetValue( S3D_VERTEX vertex ) } -void VERTEX_VALUE_CTRL::Enable( bool onoff ) +void S3DPOINT_VALUE_CTRL::Enable( bool onoff ) { m_XValueCtrl->Enable( onoff ); m_YValueCtrl->Enable( onoff ); diff --git a/3d-viewer/3d_class.cpp b/3d-viewer/3d_class.cpp index 3b0288c674..8a1d5f4c62 100644 --- a/3d-viewer/3d_class.cpp +++ b/3d-viewer/3d_class.cpp @@ -78,11 +78,11 @@ S3D_MASTER::S3D_MASTER( EDA_ITEM* aParent ) : m_ShapeType = FILE3D_NONE; m_use_modelfile_diffuseColor = true; - m_use_modelfile_emissiveColor = false; - m_use_modelfile_specularColor = false; - m_use_modelfile_ambientIntensity = false; + m_use_modelfile_emissiveColor = true; + m_use_modelfile_specularColor = true; + m_use_modelfile_ambientIntensity = true; m_use_modelfile_transparency = true; - m_use_modelfile_shininess = false; + m_use_modelfile_shininess = true; } diff --git a/3d-viewer/3d_material.h b/3d-viewer/3d_material.h index 180825d105..49e8b4da21 100644 --- a/3d-viewer/3d_material.h +++ b/3d-viewer/3d_material.h @@ -35,11 +35,11 @@ class S3D_MASTER; -class S3D_MATERIAL : public EDA_ITEM /* openGL "material" data*/ +class S3D_MATERIAL : public EDA_ITEM // openGL "material" data { public: wxString m_Name; - + // Material list std::vector< glm::vec3 > m_AmbientColor; std::vector< glm::vec3 > m_DiffuseColor; diff --git a/3d-viewer/3d_struct.h b/3d-viewer/3d_struct.h index 34384ad29d..22b12ce56e 100644 --- a/3d-viewer/3d_struct.h +++ b/3d-viewer/3d_struct.h @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2014 Mario Luzeiro - * Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com + * Copyright (C) 2004 Jean-Pierre Charras, jp.charras at wanadoo.fr * Copyright (C) 2011 Wayne Stambaugh * Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors. * @@ -35,9 +35,10 @@ #include #include <3d_material.h> #include - -/* 3D modeling units -> PCB units conversion scale: - * 1 "3D model unit" wings3d = 1 unit = 2.54 mm = 0.1 inch = 100 mils + +/** + * @note For historical reasons the 3D modeling unit is 0.1 inch + * 1 3Dunit = 2.54 mm = 0.1 inch = 100 mils */ #define UNITS3D_TO_UNITSPCB (IU_PER_MILS * 100) @@ -45,19 +46,42 @@ class S3D_MASTER; class STRUCT_3D_SHAPE; -/* S3D_VERTEX manages a 3D coordinate (3 float numbers: x,y,z coordinates)*/ +// S3D_VERTEX manages a opengl 3D coordinate (3 float numbers: x,y,z coordinates) +// float are widely used in opengl functions. +// they are used here in coordinates which are also used in opengl functions. #define S3D_VERTEX glm::vec3 +// S3DPOINT manages a set of 3 double values (x,y,z ) +// It is used for values which are not directly used in opengl functions. +// It is used in dialogs, or when reading/writing files for instance +class S3DPOINT +{ +public: + double x, y, z; -/* Master structure for a 3D item description */ +public: + S3DPOINT() + { + x = y = z = 0.0; + } + + S3DPOINT( double px, double py, double pz) + { + x = px; + y = py; + z = pz; + } +}; + +// Master structure for a 3D footprint shape description class S3D_MASTER : public EDA_ITEM { public: - S3D_VERTEX m_MatScale; - S3D_VERTEX m_MatRotation; - S3D_VERTEX m_MatPosition; - STRUCT_3D_SHAPE* m_3D_Drawings; - S3D_MATERIAL* m_Materials; + S3DPOINT m_MatScale; ///< a scaling factor for the entire 3D footprint shape + S3DPOINT m_MatRotation; ///< a grotation for the entire 3D footprint shape + S3DPOINT m_MatPosition; ///< an offset for the entire 3D footprint shape + STRUCT_3D_SHAPE* m_3D_Drawings; ///< the list of basic shapes + S3D_MATERIAL* m_Materials; ///< the list of materiels used by the shapes enum FILE3D_TYPE { @@ -76,9 +100,9 @@ public: bool m_use_modelfile_shininess; private: - wxString m_Shape3DName; /* 3D shape name in 3D library */ + wxString m_Shape3DName; // the 3D shape filename in 3D library FILE3D_TYPE m_ShapeType; - double m_lastTransparency; // last transparency value from + double m_lastTransparency; // last transparency value from // last material in use bool m_loadTransparentObjects; bool m_loadNonTransparentObjects; @@ -185,26 +209,26 @@ public: /** - * Class VERTEX_VALUE_CTRL - * displays a vertex for editing. A vertex is a triplet of values + * Class S3DPOINT_VALUE_CTRL + * displays a S3DPOINT for editing (in dialogs). A S3DPOINT is a triplet of values * Values can be scale, rotation, offset... */ -class VERTEX_VALUE_CTRL +class S3DPOINT_VALUE_CTRL { private: wxTextCtrl* m_XValueCtrl, * m_YValueCtrl, * m_ZValueCtrl; public: - VERTEX_VALUE_CTRL( wxWindow* parent, wxBoxSizer* BoxSizer ); + S3DPOINT_VALUE_CTRL( wxWindow* parent, wxBoxSizer* BoxSizer ); - ~VERTEX_VALUE_CTRL(); + ~S3DPOINT_VALUE_CTRL(); /** * Function GetValue - * @return the vertex in internal units. + * @return the 3D point in internal units. */ - S3D_VERTEX GetValue(); - void SetValue( S3D_VERTEX vertex ); + S3DPOINT GetValue(); + void SetValue( S3DPOINT a3Dpoint ); void Enable( bool enbl ); void SetToolTip( const wxString& text ); }; diff --git a/3d-viewer/vrml_v1_modelparser.cpp b/3d-viewer/vrml_v1_modelparser.cpp index 213677d393..0c3cf3c8ea 100644 --- a/3d-viewer/vrml_v1_modelparser.cpp +++ b/3d-viewer/vrml_v1_modelparser.cpp @@ -84,8 +84,8 @@ void VRML1_MODEL_PARSER::Load( const wxString aFilename ) glRotatef(-matRot.z, 0.0f, 0.0f, 1.0f ); glRotatef(-matRot.y, 0.0f, 1.0f, 0.0f ); glRotatef(-matRot.x, 1.0f, 0.0f, 0.0f ); - - glScalef( matScale.x, matScale.y, matScale.z ); + + glScalef( matScale.x, matScale.y, matScale.z ); // Switch the locale to standard C (needed to print floating point numbers like 1.3) SetLocaleTo_C_standard(); @@ -103,9 +103,7 @@ void VRML1_MODEL_PARSER::Load( const wxString aFilename ) if( strcmp( text, "Separator" ) == 0 ) { m_model = new S3D_MESH(); - childs.push_back( m_model ); - read_separator(); } } @@ -114,7 +112,7 @@ void VRML1_MODEL_PARSER::Load( const wxString aFilename ) SetLocaleTo_Default(); // revert to the current locale - //DBG( printf( "chils size:%lu\n", childs.size() ) ); + //DBG( printf( "chils size:%lu\n", childs.size() ) ); if( GetMaster()->IsOpenGlAllowed() ) { @@ -137,13 +135,16 @@ int VRML1_MODEL_PARSER::read_separator() if( strcmp( text, "Material" ) == 0 ) { readMaterial( ); - } else if( strcmp( text, "Coordinate3" ) == 0 ) + } + else if( strcmp( text, "Coordinate3" ) == 0 ) { readCoordinate3(); - } else if( strcmp( text, "IndexedFaceSet" ) == 0 ) + } + else if( strcmp( text, "IndexedFaceSet" ) == 0 ) { readIndexedFaceSet(); - } else if( strcmp( text, "Separator" ) == 0 ) + } + else if( strcmp( text, "Separator" ) == 0 ) { S3D_MESH *parent = m_model; @@ -157,11 +158,13 @@ int VRML1_MODEL_PARSER::read_separator() read_separator(); m_model = parent; - }else if ( ( *text != '}' ) ) + } + else if ( ( *text != '}' ) ) { //DBG( printf( "read_NotImplemented %s\n", text ) ); read_NotImplemented( m_file, '}'); - } else + } + else { break; } @@ -201,19 +204,24 @@ int VRML1_MODEL_PARSER::readMaterial() if( strcmp( text, "ambientColor" ) == 0 ) { readMaterial_ambientColor(); - } else if( strcmp( text, "diffuseColor" ) == 0 ) + } + else if( strcmp( text, "diffuseColor" ) == 0 ) { readMaterial_diffuseColor( ); - } else if( strcmp( text, "emissiveColor" ) == 0 ) + } + else if( strcmp( text, "emissiveColor" ) == 0 ) { readMaterial_emissiveColor( ); - }else if( strcmp( text, "specularColor" ) == 0 ) + } + else if( strcmp( text, "specularColor" ) == 0 ) { readMaterial_specularColor( ); - }else if( strcmp( text, "shininess" ) == 0 ) + } + else if( strcmp( text, "shininess" ) == 0 ) { readMaterial_shininess( ); - }else if( strcmp( text, "transparency" ) == 0 ) + } + else if( strcmp( text, "transparency" ) == 0 ) { readMaterial_transparency( ); } @@ -272,7 +280,8 @@ int VRML1_MODEL_PARSER::readIndexedFaceSet( ) if( strcmp( text, "coordIndex" ) == 0 ) { readIndexedFaceSet_coordIndex( ); - } else if( strcmp( text, "materialIndex" ) == 0 ) + } + else if( strcmp( text, "materialIndex" ) == 0 ) { readIndexedFaceSet_materialIndex( ); } @@ -292,7 +301,7 @@ int VRML1_MODEL_PARSER::readMaterial_ambientColor( ) int VRML1_MODEL_PARSER::readMaterial_diffuseColor( ) { //DBG( printf( " readMaterial_diffuseColor\n" ) ); - + return parseVertexList( m_file, m_model->m_Materials->m_DiffuseColor); } @@ -334,6 +343,7 @@ int VRML1_MODEL_PARSER::readMaterial_shininess( ) m_model->m_Materials->m_Shininess.clear(); float shininess_value; + while( fscanf( m_file, "%f,", &shininess_value ) ) { // VRML value is normalized and openGL expects a value 0 - 128 @@ -346,7 +356,7 @@ int VRML1_MODEL_PARSER::readMaterial_shininess( ) m_model->m_Materials->m_Shininess.clear(); } - //DBG( printf( " m_Shininess.size: %ld\n", m_model->m_Materials->m_Shininess.size() ) ); + //DBG( printf( " m_Shininess.size: %ld\n", m_model->m_Materials->m_Shininess.size() ) ); return 0; } @@ -359,6 +369,7 @@ int VRML1_MODEL_PARSER::readMaterial_transparency() m_model->m_Materials->m_Transparency.clear(); float tmp; + while( fscanf (m_file, "%f,", &tmp) ) { m_model->m_Materials->m_Transparency.push_back( tmp ); @@ -368,8 +379,8 @@ int VRML1_MODEL_PARSER::readMaterial_transparency() { m_model->m_Materials->m_Transparency.clear(); } - - //DBG( printf( " m_Transparency.size: %ld\n", m_model->m_Materials->m_Transparency.size() ) ); + + //DBG( printf( " m_Transparency.size: %ld\n", m_model->m_Materials->m_Transparency.size() ) ); return 0; } @@ -378,7 +389,7 @@ int VRML1_MODEL_PARSER::readMaterial_transparency() int VRML1_MODEL_PARSER::readCoordinate3_point() { //DBG( printf( " readCoordinate3_point\n" ) ); - + if( parseVertexList( m_file, m_model->m_Point ) == 0 ) { return 0; @@ -420,7 +431,7 @@ int VRML1_MODEL_PARSER::readIndexedFaceSet_coordIndex() m_model->m_CoordIndex.push_back( coord_list ); } - //DBG( printf( " m_CoordIndex.size: %ld\n", m_model->m_CoordIndex.size() ) ); + //DBG( printf( " m_CoordIndex.size: %ld\n", m_model->m_CoordIndex.size() ) ); return 0; } @@ -438,7 +449,7 @@ int VRML1_MODEL_PARSER::readIndexedFaceSet_materialIndex() m_model->m_MaterialIndex.push_back( index ); } - //DBG( printf( " m_MaterialIndex.size: %ld\n", m_model->m_MaterialIndex.size() ) ); + //DBG( printf( " m_MaterialIndex.size: %ld\n", m_model->m_MaterialIndex.size() ) ); return 0; } diff --git a/3d-viewer/vrml_v2_modelparser.cpp b/3d-viewer/vrml_v2_modelparser.cpp index 3eb2a8c0b9..a570ecdcf2 100644 --- a/3d-viewer/vrml_v2_modelparser.cpp +++ b/3d-viewer/vrml_v2_modelparser.cpp @@ -73,9 +73,12 @@ void VRML2_MODEL_PARSER::Load( const wxString aFilename ) float vrmlunits_to_3Dunits = g_Parm_3D_Visu.m_BiuTo3Dunits * UNITS3D_TO_UNITSPCB; glScalef( vrmlunits_to_3Dunits, vrmlunits_to_3Dunits, vrmlunits_to_3Dunits ); - glm::vec3 matScale( GetMaster()->m_MatScale.x, GetMaster()->m_MatScale.y, GetMaster()->m_MatScale.z ); - glm::vec3 matRot( GetMaster()->m_MatRotation.x, GetMaster()->m_MatRotation.y, GetMaster()->m_MatRotation.z ); - glm::vec3 matPos( GetMaster()->m_MatPosition.x, GetMaster()->m_MatPosition.y, GetMaster()->m_MatPosition.z ); + glm::vec3 matScale( GetMaster()->m_MatScale.x, GetMaster()->m_MatScale.y, + GetMaster()->m_MatScale.z ); + glm::vec3 matRot( GetMaster()->m_MatRotation.x, GetMaster()->m_MatRotation.y, + GetMaster()->m_MatRotation.z ); + glm::vec3 matPos( GetMaster()->m_MatPosition.x, GetMaster()->m_MatPosition.y, + GetMaster()->m_MatPosition.z ); #define SCALE_3D_CONV ((IU_PER_MILS * 1000.0f) / UNITS3D_TO_UNITSPCB) @@ -104,7 +107,6 @@ void VRML2_MODEL_PARSER::Load( const wxString aFilename ) if( strcmp( text, "Transform" ) == 0 ) { m_model = new S3D_MESH(); - childs.push_back( m_model ); read_Transform(); @@ -113,7 +115,6 @@ void VRML2_MODEL_PARSER::Load( const wxString aFilename ) else if( strcmp( text, "DEF" ) == 0 ) { m_model = new S3D_MESH(); - childs.push_back( m_model ); read_DEF(); @@ -294,15 +295,11 @@ int VRML2_MODEL_PARSER::read_DEF() else if( strcmp( text, "Shape" ) == 0 ) { S3D_MESH *parent = m_model; - S3D_MESH *new_mesh_model = new S3D_MESH(); - m_model->childs.push_back( new_mesh_model ); m_model = new_mesh_model; - read_Shape(); - m_model = parent; } } @@ -401,9 +398,7 @@ int VRML2_MODEL_PARSER::read_material() { wxString mat_name; material = new S3D_MATERIAL( GetMaster(), mat_name ); - GetMaster()->Insert( material ); - m_model->m_Materials = material; if( strcmp( text, "Material" ) == 0 ) @@ -423,9 +418,7 @@ int VRML2_MODEL_PARSER::read_material() mat_name = FROM_UTF8( text ); material = new S3D_MATERIAL( GetMaster(), mat_name ); - GetMaster()->Insert( material ); - m_model->m_Materials = material; if( GetNextTag( m_file, text ) ) @@ -506,6 +499,7 @@ int VRML2_MODEL_PARSER::read_Material() //DBG( printf( " specularColor") ); parseVertex ( m_file, vertex); //DBG( printf( "\n") ); + if( GetMaster()->m_use_modelfile_specularColor == true ) { m_model->m_Materials->m_SpecularColor.push_back( vertex ); @@ -516,6 +510,7 @@ int VRML2_MODEL_PARSER::read_Material() float ambientIntensity; parseFloat( m_file, &ambientIntensity ); //DBG( printf( " ambientIntensity %f\n", ambientIntensity) ); + if( GetMaster()->m_use_modelfile_ambientIntensity == true ) { m_model->m_Materials->m_AmbientColor.push_back( glm::vec3( ambientIntensity, ambientIntensity, ambientIntensity ) ); @@ -526,6 +521,7 @@ int VRML2_MODEL_PARSER::read_Material() float transparency; parseFloat( m_file, &transparency ); //DBG( printf( " transparency %f\n", transparency) ); + if( GetMaster()->m_use_modelfile_transparency == true ) { m_model->m_Materials->m_Transparency.push_back( transparency ); @@ -535,6 +531,7 @@ int VRML2_MODEL_PARSER::read_Material() { float shininess; parseFloat( m_file, &shininess ); + //DBG( printf( " shininess %f\n", shininess) ); // VRML value is normalized and openGL expects a value 0 - 128 if( GetMaster()->m_use_modelfile_shininess == true ) @@ -590,7 +587,8 @@ int VRML2_MODEL_PARSER::read_IndexedFaceSet() { //DBG( printf( " colorPerVertex = true\n") ); colorPerVertex = true; - } else + } + else { colorPerVertex = false; } diff --git a/bitmaps_png/cpp_26/plot.cpp b/bitmaps_png/cpp_26/plot.cpp index 6cf8050168..2b4b1f52ec 100644 --- a/bitmaps_png/cpp_26/plot.cpp +++ b/bitmaps_png/cpp_26/plot.cpp @@ -8,71 +8,67 @@ static const unsigned char png[] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c, - 0xce, 0x00, 0x00, 0x03, 0xf2, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xbd, 0x96, 0x5b, 0x48, 0x9b, - 0x67, 0x18, 0xc7, 0x83, 0xb8, 0xad, 0xc5, 0x5e, 0x94, 0x51, 0xc6, 0x6e, 0x06, 0x03, 0x6f, 0xbd, - 0x50, 0x2f, 0xaa, 0xf5, 0x94, 0x43, 0x47, 0x84, 0x95, 0x68, 0xba, 0xc6, 0xd8, 0x56, 0xb3, 0x39, - 0x8a, 0x83, 0x59, 0x16, 0x32, 0xb6, 0x31, 0x7b, 0x33, 0xbc, 0x50, 0xf1, 0x46, 0xb6, 0x39, 0x89, - 0x13, 0x37, 0xe2, 0x66, 0x52, 0x98, 0x0d, 0xa3, 0xa9, 0x2d, 0xd6, 0x2b, 0x63, 0x40, 0x1b, 0xa3, - 0xa8, 0x4c, 0x5b, 0x4d, 0x3d, 0xd4, 0xc4, 0x34, 0xe6, 0x9c, 0x98, 0x7c, 0x39, 0x79, 0xc8, 0x7f, - 0xef, 0xf7, 0x69, 0x52, 0xb3, 0x7e, 0x4b, 0x75, 0x73, 0x0b, 0xfc, 0x20, 0xdf, 0x93, 0xbc, 0xcf, - 0x8f, 0xe7, 0x3d, 0x3c, 0xef, 0xc7, 0xd9, 0x8b, 0x6d, 0x81, 0x8d, 0xc8, 0x96, 0xcb, 0x17, 0xf4, - 0x6d, 0x8e, 0x93, 0xef, 0x97, 0x00, 0x70, 0xfe, 0x2d, 0x1c, 0x3a, 0xe9, 0xc7, 0x37, 0x3e, 0x82, - 0xf4, 0x5a, 0x4d, 0x8a, 0xda, 0xeb, 0x52, 0xc8, 0x15, 0x37, 0xd1, 0xdd, 0xfd, 0x2d, 0x28, 0xbf, - 0x23, 0x4a, 0xa4, 0xdf, 0x9f, 0x88, 0xa8, 0xfe, 0xc3, 0xeb, 0xb8, 0x2c, 0x11, 0xb3, 0x72, 0xa3, - 0xb1, 0x01, 0x21, 0xdf, 0x26, 0x8c, 0x8f, 0x0c, 0xf1, 0xe1, 0x87, 0xf7, 0xa3, 0x49, 0xc6, 0xc6, - 0xc6, 0x76, 0xf4, 0x63, 0x7a, 0x9b, 0x5e, 0xaf, 0xbf, 0x35, 0x31, 0x31, 0x71, 0xfa, 0x58, 0x22, - 0x93, 0xd1, 0x10, 0x7b, 0x6e, 0x79, 0x1a, 0x5c, 0x5f, 0x7d, 0x4c, 0x29, 0x95, 0xdf, 0x31, 0xd5, - 0xd1, 0x71, 0x95, 0xaa, 0x17, 0xa1, 0x80, 0x1b, 0xc1, 0x60, 0x30, 0xc5, 0xd0, 0xd0, 0x10, 0x9c, - 0x4e, 0x27, 0x26, 0x27, 0x27, 0xf7, 0x88, 0xcc, 0x4f, 0xc4, 0x82, 0x23, 0x8b, 0xbc, 0x4e, 0x6b, - 0x98, 0x3c, 0xbb, 0x09, 0x89, 0x68, 0xd0, 0x83, 0x9f, 0xfa, 0x94, 0x4c, 0xfc, 0x33, 0x79, 0x13, - 0x62, 0x21, 0x2f, 0x28, 0x8a, 0x4a, 0xa1, 0xd1, 0xa8, 0x91, 0x48, 0x24, 0x10, 0x0a, 0x85, 0x30, - 0x33, 0x33, 0x03, 0x22, 0x8b, 0x8e, 0x8e, 0x8e, 0xf2, 0x8e, 0x24, 0x0a, 0x07, 0x9c, 0xf1, 0xe4, - 0x66, 0xd8, 0x8d, 0x06, 0x60, 0x7e, 0x3c, 0xc7, 0xc4, 0xa5, 0xd7, 0x24, 0xcc, 0x73, 0xf8, 0x90, - 0xa8, 0xb7, 0xb7, 0x07, 0x7e, 0xbf, 0x1f, 0x81, 0x40, 0x00, 0x36, 0x9b, 0x0d, 0x06, 0x83, 0x01, - 0x23, 0x23, 0x23, 0x9b, 0x3c, 0x1e, 0xef, 0xec, 0x2b, 0x45, 0x94, 0x3f, 0x5d, 0x64, 0x59, 0x79, - 0xc2, 0xc4, 0x25, 0xb5, 0x57, 0xb0, 0xf3, 0x17, 0xd1, 0xbd, 0x7b, 0x3a, 0x0c, 0x0c, 0xfc, 0x82, - 0xdb, 0xb7, 0xd5, 0xd0, 0x6a, 0xef, 0x40, 0xa7, 0xbb, 0x4b, 0x62, 0x77, 0xc1, 0xe3, 0x57, 0xb8, - 0x39, 0x1c, 0x4e, 0x56, 0xe6, 0xa9, 0x73, 0x58, 0xa8, 0xbd, 0x58, 0x70, 0x35, 0x4e, 0x79, 0xc9, - 0x06, 0x70, 0x40, 0xa3, 0x56, 0x31, 0xf1, 0x4f, 0x6f, 0x7e, 0x82, 0x38, 0xe5, 0x4b, 0x9b, 0x3a, - 0x36, 0xee, 0x3f, 0xd0, 0x81, 0x2f, 0xe0, 0xc6, 0x48, 0x55, 0xa7, 0x32, 0x8a, 0xec, 0xd6, 0x65, - 0xa6, 0xa2, 0x48, 0xd0, 0x85, 0x87, 0xc3, 0x3a, 0x66, 0xdb, 0xd3, 0xf1, 0xce, 0xce, 0x0e, 0x50, - 0x01, 0xd7, 0xc9, 0x89, 0xd8, 0xa0, 0xd7, 0xc7, 0x65, 0x5f, 0x47, 0x34, 0x1c, 0xfa, 0x6f, 0x44, - 0xf4, 0xba, 0x7c, 0xf9, 0xd5, 0xe7, 0xb0, 0x3e, 0x5b, 0x42, 0x78, 0xcb, 0xf3, 0x4a, 0xc9, 0xb1, - 0x44, 0xf3, 0x73, 0x26, 0x78, 0x1c, 0x16, 0x82, 0x15, 0xdb, 0x61, 0x1f, 0xdc, 0xa4, 0x92, 0x81, - 0x5f, 0x7f, 0xc6, 0x55, 0xd2, 0x29, 0x98, 0xae, 0x71, 0x35, 0x89, 0x24, 0x45, 0x4d, 0x92, 0x5a, - 0x09, 0xf3, 0x9b, 0x46, 0xa3, 0xc1, 0xe0, 0xe0, 0xe0, 0x0e, 0x21, 0xa2, 0xd5, 0x6a, 0xbf, 0x61, - 0x15, 0xd1, 0x53, 0x14, 0x8f, 0x86, 0x11, 0x8d, 0x84, 0x21, 0x6b, 0x90, 0x41, 0xa1, 0x50, 0x40, - 0x2e, 0x97, 0xa3, 0xa9, 0xa9, 0x09, 0x8d, 0x8d, 0x8d, 0x68, 0x68, 0x68, 0x80, 0x4c, 0x26, 0x43, - 0x7d, 0x7d, 0x3d, 0x2b, 0x1f, 0xd4, 0x5c, 0x81, 0xc7, 0xe3, 0x61, 0x0e, 0xb4, 0xcb, 0xe5, 0x82, - 0x5a, 0xad, 0xde, 0x26, 0x67, 0x2b, 0xfb, 0x25, 0x91, 0x7b, 0xd3, 0x82, 0xc8, 0xc1, 0x5a, 0x5c, - 0xaa, 0x12, 0xa1, 0xb9, 0xb9, 0x99, 0x49, 0x5e, 0x57, 0x57, 0x07, 0xa9, 0x54, 0x0a, 0xb1, 0x58, - 0x8c, 0xaa, 0xaa, 0x2a, 0x56, 0x44, 0x22, 0x11, 0x33, 0xc6, 0xe1, 0x70, 0xc0, 0xeb, 0xf5, 0x32, - 0xf4, 0xf7, 0xf7, 0xef, 0xaa, 0x54, 0xaa, 0x53, 0x2c, 0xa2, 0x75, 0xb8, 0x5d, 0x0e, 0xd8, 0xed, - 0x76, 0x5c, 0xac, 0x14, 0x42, 0x22, 0x91, 0x80, 0xcc, 0xf7, 0x4b, 0x70, 0xb9, 0x5c, 0x56, 0xde, - 0xab, 0xac, 0x84, 0xc5, 0x62, 0x61, 0xc6, 0xd3, 0xf4, 0xf5, 0xf5, 0xb1, 0x8b, 0xe8, 0xa9, 0x7b, - 0x6e, 0xb3, 0x62, 0x6d, 0x6d, 0x0d, 0x65, 0x7c, 0x3e, 0x0a, 0x0b, 0x0b, 0x51, 0x50, 0x50, 0x70, - 0x24, 0xf2, 0xf3, 0xf3, 0x51, 0xce, 0x17, 0xc0, 0x6c, 0x36, 0x33, 0xe3, 0x69, 0x94, 0x4a, 0xe5, - 0xdf, 0x8b, 0x9e, 0xad, 0xad, 0x62, 0x71, 0x71, 0x11, 0x85, 0x45, 0x17, 0x50, 0x5c, 0xce, 0x3d, - 0x44, 0xc5, 0x0b, 0xca, 0x2a, 0x50, 0xc4, 0x42, 0xfe, 0xf9, 0x22, 0x3c, 0x9a, 0x37, 0xe0, 0x87, - 0x15, 0x05, 0xf4, 0x4b, 0x0f, 0xd0, 0xd5, 0xd5, 0x95, 0x2e, 0x8a, 0x86, 0x3c, 0x71, 0x2a, 0xe0, - 0xdc, 0xef, 0x6f, 0x4b, 0x4f, 0x30, 0x3b, 0x3b, 0x8b, 0xf1, 0xf1, 0xf1, 0x7f, 0x44, 0xf7, 0xd2, - 0x17, 0x10, 0x6d, 0x64, 0xe3, 0xeb, 0x15, 0x21, 0x39, 0xe8, 0x9d, 0xbb, 0x2d, 0x2d, 0x2d, 0x29, - 0xd1, 0xbb, 0x34, 0x3f, 0xf6, 0x28, 0xb1, 0x30, 0xff, 0x07, 0xd3, 0x89, 0xa7, 0xa7, 0xa7, 0x31, - 0x35, 0x35, 0x05, 0x93, 0xc9, 0x04, 0xa3, 0xd1, 0x78, 0x2c, 0x86, 0xa7, 0x7e, 0xc7, 0x2d, 0xf3, - 0xfb, 0xf8, 0x6d, 0xb6, 0x07, 0x1d, 0x1d, 0x1d, 0x2f, 0x44, 0xc9, 0x7d, 0xde, 0xde, 0xde, 0xee, - 0x6b, 0x6b, 0x6b, 0x4b, 0xb0, 0x80, 0x24, 0xad, 0xad, 0xad, 0x99, 0x48, 0xb0, 0xb0, 0x45, 0x44, - 0xd9, 0x29, 0x11, 0xf9, 0xbc, 0x96, 0x9b, 0x9b, 0xfb, 0x0e, 0x8f, 0xcf, 0x8d, 0x55, 0x57, 0x57, - 0x43, 0x7c, 0x59, 0x8c, 0x85, 0x85, 0x05, 0x08, 0x85, 0xc2, 0x63, 0x41, 0x4f, 0xb9, 0xa4, 0x46, - 0x42, 0x8e, 0x41, 0x35, 0xdd, 0xc5, 0x77, 0xf3, 0xf2, 0xf2, 0x72, 0x49, 0xee, 0xd7, 0x0f, 0x8b, - 0xb2, 0x08, 0x6f, 0x16, 0x97, 0x9c, 0x57, 0x97, 0x95, 0x97, 0xc4, 0xcb, 0x2b, 0x4a, 0x77, 0x36, - 0x36, 0x36, 0xb0, 0xbc, 0xbc, 0x7c, 0x2c, 0xe8, 0x7b, 0x49, 0x20, 0xe0, 0xc5, 0x49, 0x8e, 0xed, - 0x0b, 0x25, 0x45, 0x77, 0xe8, 0x9c, 0xc9, 0x2b, 0x23, 0xbd, 0x1f, 0x91, 0xca, 0x72, 0x72, 0x72, - 0xde, 0x2e, 0x2d, 0x2d, 0x1e, 0x25, 0xd5, 0xed, 0xf2, 0x05, 0xbc, 0x3d, 0xc1, 0xc5, 0x7d, 0x48, - 0x0f, 0x4b, 0x64, 0x80, 0xee, 0x71, 0x74, 0x15, 0x28, 0x2d, 0x2b, 0x99, 0xa3, 0x73, 0xd0, 0xb9, - 0xd2, 0x72, 0x67, 0xbc, 0xe7, 0xf7, 0x2b, 0x7d, 0x83, 0x70, 0x86, 0x70, 0x96, 0x70, 0x8e, 0xf0, - 0xd6, 0x01, 0xe7, 0x0e, 0x62, 0x67, 0x0e, 0xfe, 0x93, 0x95, 0x31, 0xd7, 0x49, 0xbc, 0xb3, 0x1d, - 0xe9, 0x75, 0xeb, 0xff, 0x12, 0xfd, 0x09, 0xe5, 0x6d, 0x34, 0x09, 0xd2, 0x38, 0x7f, 0x95, 0x00, - 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, + 0xce, 0x00, 0x00, 0x03, 0xb1, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xbd, 0x96, 0x49, 0x4c, 0x13, + 0x51, 0x18, 0xc7, 0x1b, 0xe3, 0x16, 0xf7, 0x28, 0x31, 0xc6, 0xc4, 0x48, 0x10, 0x5b, 0x4c, 0x13, + 0xd2, 0x32, 0x2d, 0x6a, 0xc0, 0x84, 0xc4, 0x80, 0x96, 0xa5, 0x33, 0xd3, 0x85, 0x2e, 0x60, 0x5b, + 0x16, 0x4b, 0x62, 0xa2, 0xb4, 0x43, 0xa4, 0x88, 0x52, 0x0a, 0xd1, 0x83, 0xd1, 0x83, 0x07, 0xe2, + 0x5a, 0xf5, 0x60, 0x22, 0x07, 0x85, 0x83, 0x89, 0x8a, 0x82, 0xe0, 0xc1, 0x1d, 0x0d, 0x1a, 0x34, + 0x22, 0xa0, 0xc1, 0x28, 0x21, 0x1a, 0x8a, 0x8a, 0x6b, 0x2a, 0xfa, 0x39, 0x6f, 0x98, 0x69, 0xdf, + 0x30, 0xa0, 0x12, 0x97, 0xc3, 0x2f, 0xed, 0xbc, 0xf6, 0xfd, 0x7f, 0xf3, 0xbd, 0x65, 0xde, 0xc8, + 0x00, 0x40, 0xf6, 0x3f, 0x90, 0xfd, 0x57, 0x91, 0x5a, 0xb5, 0xbc, 0x94, 0xe5, 0x24, 0xc6, 0x09, + 0x8c, 0xe3, 0x3c, 0x41, 0x8c, 0x63, 0x18, 0x47, 0x31, 0x8e, 0x60, 0x1c, 0xe6, 0xd9, 0xcb, 0x32, + 0x5d, 0x96, 0xa4, 0x8e, 0xdd, 0x4f, 0x24, 0xc5, 0x8e, 0x18, 0x0c, 0x04, 0x18, 0x8d, 0xa3, 0xb0, + 0xdf, 0xbf, 0x47, 0x49, 0x42, 0x7c, 0xa3, 0x69, 0x0c, 0x2a, 0x69, 0x04, 0x41, 0x71, 0xa8, 0x11, + 0x5f, 0x11, 0x24, 0x29, 0x21, 0x9c, 0xac, 0x8d, 0x0b, 0xb3, 0xf9, 0x67, 0x51, 0x35, 0xb0, 0xad, + 0x74, 0x3d, 0xd4, 0x1d, 0xb4, 0xff, 0x13, 0x98, 0xb2, 0x0c, 0x40, 0x0e, 0x4e, 0x54, 0xb1, 0x43, + 0xc7, 0x35, 0x7a, 0xcb, 0xd2, 0xa1, 0x78, 0xf3, 0xba, 0xbf, 0xc2, 0x36, 0xcf, 0xe8, 0xcd, 0x57, + 0xee, 0xcc, 0x94, 0x8a, 0xd6, 0xac, 0x89, 0x83, 0x98, 0x98, 0x39, 0x1c, 0xa9, 0xa9, 0x6b, 0xc1, + 0x6e, 0xb7, 0x80, 0xcd, 0x66, 0x01, 0xab, 0x35, 0x17, 0x72, 0x73, 0x4d, 0x60, 0x36, 0x1b, 0xc1, + 0x64, 0xa2, 0xd9, 0xe1, 0xa5, 0x80, 0xa6, 0xf5, 0x40, 0x92, 0xd9, 0x90, 0x93, 0x93, 0x09, 0xd9, + 0xd9, 0x3a, 0x0e, 0xa5, 0x52, 0x1e, 0xe9, 0xaf, 0x52, 0x2d, 0xe3, 0x32, 0x77, 0xee, 0xca, 0x92, + 0x8a, 0xcc, 0xb9, 0x1a, 0x48, 0x49, 0x8d, 0xe7, 0x70, 0x97, 0xb8, 0x20, 0x14, 0x0a, 0x4d, 0x0a, + 0xa3, 0x31, 0x33, 0xd2, 0x9f, 0xa4, 0x54, 0x5c, 0xe6, 0xae, 0xaa, 0x6c, 0xa9, 0x08, 0xa7, 0x3a, + 0x50, 0x2a, 0x0a, 0xe9, 0xef, 0xe9, 0xf9, 0xa5, 0xa8, 0xdc, 0xe7, 0x94, 0xe4, 0x54, 0xf9, 0x31, + 0x91, 0x97, 0x49, 0x87, 0x7d, 0xfb, 0x4d, 0x22, 0xaa, 0xaa, 0xb6, 0x8a, 0x42, 0xea, 0x8d, 0x46, + 0x68, 0xaa, 0xa8, 0x80, 0x97, 0xdd, 0xdd, 0x13, 0x8a, 0xca, 0xca, 0x36, 0x49, 0x72, 0x7c, 0x15, + 0xba, 0xa8, 0x68, 0x3c, 0x8a, 0x8b, 0x9c, 0x91, 0x80, 0x67, 0xed, 0xed, 0x70, 0xb9, 0xb2, 0x12, + 0x3e, 0x0c, 0x0d, 0x41, 0x5b, 0x6d, 0x2d, 0x5c, 0xaf, 0xab, 0x83, 0xd0, 0xe0, 0xa0, 0x44, 0x44, + 0x92, 0x1b, 0x61, 0xa2, 0x3c, 0x24, 0x52, 0x25, 0xaa, 0xe5, 0xab, 0x13, 0x88, 0x0d, 0x80, 0x58, + 0xa5, 0x49, 0xbf, 0x87, 0xda, 0x18, 0xc6, 0x7b, 0x5d, 0x08, 0xb8, 0x57, 0x5f, 0x0f, 0x17, 0x18, + 0x06, 0x1e, 0x35, 0x36, 0x42, 0x6f, 0x4b, 0x0b, 0xf4, 0xdf, 0xbf, 0x0f, 0xe7, 0x3d, 0x1e, 0xe8, + 0x6a, 0x6b, 0x13, 0x89, 0x1c, 0x8e, 0xfc, 0x06, 0xd4, 0x37, 0x41, 0x93, 0x11, 0x4a, 0xd0, 0xb0, + 0x79, 0x9a, 0x8c, 0x37, 0xe8, 0x1a, 0xc1, 0x3d, 0x19, 0x96, 0x12, 0x39, 0xb3, 0xe4, 0x1a, 0x0a, + 0x46, 0x21, 0xaf, 0xa1, 0x36, 0x9f, 0xcf, 0xd7, 0x84, 0x87, 0x5c, 0xa9, 0xa9, 0x81, 0x87, 0x0d, + 0x0d, 0xd0, 0xdf, 0xd1, 0x01, 0xe1, 0x70, 0x18, 0xba, 0x2f, 0x5d, 0x82, 0x7a, 0x93, 0x09, 0xae, + 0xec, 0xd9, 0x13, 0xf9, 0x4f, 0x61, 0x61, 0xe1, 0x51, 0xd4, 0x57, 0xae, 0xa5, 0x5e, 0xb3, 0x00, + 0x4b, 0x48, 0xf4, 0x08, 0x4a, 0x4c, 0xcc, 0x98, 0x1d, 0x11, 0x69, 0xc9, 0x9b, 0x63, 0x45, 0x28, + 0xec, 0xdc, 0x96, 0x2d, 0xd0, 0x79, 0xe6, 0x0c, 0xf4, 0x36, 0x37, 0x43, 0xd3, 0xf6, 0xed, 0xd0, + 0x7e, 0xea, 0x94, 0x64, 0xe8, 0x30, 0xd1, 0x20, 0x2f, 0x7a, 0x2b, 0x12, 0x29, 0x52, 0xf4, 0x73, + 0xa3, 0x15, 0x51, 0x77, 0x50, 0x9b, 0xc7, 0xe3, 0x39, 0x2d, 0xaa, 0x28, 0x10, 0x80, 0xdb, 0x87, + 0x0e, 0x41, 0x4b, 0x75, 0x35, 0xbc, 0x7a, 0xf1, 0x62, 0xdc, 0xc5, 0x80, 0x89, 0x42, 0xbc, 0x68, + 0x58, 0x24, 0x8a, 0x5f, 0xad, 0x9b, 0x17, 0xad, 0x88, 0xba, 0x8b, 0xda, 0x0c, 0x06, 0x03, 0xdd, + 0xda, 0xda, 0xfa, 0x5e, 0x08, 0xb9, 0x58, 0x5e, 0x0e, 0x3d, 0x37, 0x6e, 0xfc, 0x74, 0x79, 0x63, + 0xa2, 0x21, 0x24, 0x52, 0x68, 0xa9, 0x8f, 0x22, 0x51, 0x1c, 0x61, 0x9e, 0x8f, 0x55, 0xd4, 0x21, + 0xfc, 0xc8, 0x76, 0x3c, 0x11, 0x0c, 0x06, 0xdf, 0x0c, 0x0c, 0x0c, 0xfc, 0xd6, 0x86, 0x2d, 0x28, + 0x28, 0x38, 0xc2, 0x8b, 0xde, 0xf2, 0x15, 0x7d, 0x11, 0x89, 0x62, 0x55, 0xd4, 0x82, 0xa8, 0x88, + 0x7e, 0x80, 0x9f, 0x23, 0x25, 0x25, 0x25, 0x7b, 0xdd, 0x6e, 0xf7, 0x67, 0xbf, 0xdf, 0xff, 0x7c, + 0x12, 0xa2, 0x77, 0xbc, 0x28, 0x2c, 0x12, 0x29, 0xd7, 0x9a, 0x17, 0x62, 0xa2, 0x87, 0x63, 0x0f, + 0x2d, 0x86, 0x61, 0x82, 0x5e, 0xaf, 0x77, 0xe8, 0x57, 0x22, 0xa7, 0xd3, 0x29, 0x88, 0x86, 0x79, + 0xd1, 0x37, 0x91, 0x28, 0x21, 0x99, 0x5e, 0x84, 0x2d, 0xef, 0xc7, 0x63, 0x45, 0x81, 0x40, 0x60, + 0x6a, 0x51, 0x51, 0x51, 0x57, 0x5f, 0x5f, 0xdf, 0x4f, 0x45, 0x2e, 0x97, 0xeb, 0x30, 0x27, 0x4a, + 0xa6, 0xde, 0xf3, 0x22, 0x10, 0x89, 0xe4, 0x44, 0x4e, 0x0c, 0x36, 0x47, 0x4f, 0xc6, 0x3b, 0x8a, + 0x1d, 0x0e, 0xc7, 0x22, 0x76, 0x25, 0xde, 0xea, 0xec, 0xec, 0x1c, 0x41, 0x73, 0x36, 0x1e, 0x82, + 0x08, 0x2d, 0x02, 0x41, 0x24, 0x93, 0x05, 0xa6, 0x44, 0x44, 0x2b, 0x12, 0xe9, 0xc5, 0x98, 0xa8, + 0x77, 0xa2, 0x73, 0x3f, 0x2d, 0x2d, 0x6d, 0xaa, 0x5e, 0xaf, 0xcf, 0xcf, 0xcb, 0xcb, 0xf3, 0xdb, + 0xed, 0xf6, 0x00, 0xc2, 0x66, 0xb3, 0xd5, 0x58, 0xad, 0xd6, 0x5a, 0x8b, 0xc5, 0xb2, 0x3b, 0x2b, + 0x2b, 0x6b, 0x1d, 0x3f, 0x74, 0x9f, 0x04, 0x11, 0x41, 0xb8, 0xa7, 0x45, 0xe7, 0x48, 0x6b, 0x5e, + 0x82, 0x89, 0xfa, 0xfe, 0xe4, 0x25, 0x84, 0xdb, 0x2a, 0xec, 0x22, 0x10, 0x44, 0x0a, 0xb5, 0x7e, + 0x29, 0x27, 0x52, 0x68, 0xe8, 0x42, 0x85, 0x86, 0x3a, 0x87, 0x89, 0x40, 0x4e, 0x50, 0x27, 0xd9, + 0xf2, 0xf3, 0x27, 0x2b, 0x59, 0xa9, 0xa5, 0x0e, 0xb0, 0xe1, 0x4f, 0x05, 0xc9, 0x28, 0xe4, 0x00, + 0xfb, 0xd9, 0x2c, 0x43, 0x15, 0x88, 0x24, 0x51, 0xd9, 0xa3, 0xc9, 0x8a, 0xd8, 0x9b, 0xbb, 0xca, + 0xef, 0x21, 0x09, 0xb2, 0xf8, 0x78, 0xdd, 0x8c, 0xd8, 0x34, 0xd7, 0xcc, 0xb1, 0x28, 0x95, 0xe6, + 0xe9, 0x7f, 0xf3, 0xbd, 0xee, 0x07, 0xad, 0x9c, 0x79, 0xf1, 0x33, 0xfc, 0xbe, 0xc6, 0x00, 0x00, + 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, }; const BITMAP_OPAQUE plot_xpm[1] = {{ png, sizeof( png ), "plot_xpm" }}; diff --git a/bitmaps_png/sources/plot.svg b/bitmaps_png/sources/plot.svg index e21fc9b641..4c2c6dbccd 100644 --- a/bitmaps_png/sources/plot.svg +++ b/bitmaps_png/sources/plot.svg @@ -1,336 +1,178 @@ + + + + + + + + + + + + + + id="metadata7"> image/svg+xml - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + transform="translate(0,-988.36218)"> + style="fill:#727272;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 17.002107,1026.8886 11.090925,12.7083 -2.114472,-8.0173 z" + id="path3009" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + style="fill:#263550;fill-opacity:1;stroke:#6e6d46;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 51.898416,1013.7273 6.938118,0 0.330387,30.3114 1.428336,1.3934 3.390612,0.3088 0,4.0213 -16.716961,-3e-4 0.0625,-4.0002 3.080268,-0.2268 1.321547,-1.4968 z" + id="path3784-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccc" /> + + + + + + + + + + + + + + + - - - - - - - - - - - - diff --git a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp index 96915ab88d..fb636c2095 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp +++ b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.cpp @@ -319,9 +319,9 @@ void DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties() m_CostRot180Ctrl->SetValue( m_CurrentModule->GetPlacementCost180() ); // Initialize 3D parameters - m_3D_Scale = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeScale ); - m_3D_Offset = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeOffset ); - m_3D_Rotation = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeRotation ); + m_3D_Scale = new S3DPOINT_VALUE_CTRL( m_Panel3D, m_bSizerShapeScale ); + m_3D_Offset = new S3DPOINT_VALUE_CTRL( m_Panel3D, m_bSizerShapeOffset ); + m_3D_Rotation = new S3DPOINT_VALUE_CTRL( m_Panel3D, m_bSizerShapeRotation ); // if m_3D_ShapeNameListBox is not empty, preselect first 3D shape if( m_3D_ShapeNameListBox->GetCount() > 0 ) @@ -352,8 +352,7 @@ void DIALOG_MODULE_BOARD_EDITOR::Transfert3DValuesToDisplay( } else { - S3D_VERTEX dummy_vertex; - dummy_vertex.x = dummy_vertex.y = dummy_vertex.z = 1.0; + S3DPOINT dummy_vertex( 1.0, 1.0, 1.0 ); m_3D_Scale->SetValue( dummy_vertex ); } } diff --git a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h index cf056082d3..4792584a74 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h +++ b/pcbnew/dialogs/dialog_edit_module_for_BoardEditor.h @@ -20,9 +20,9 @@ private: TEXTE_MODULE* m_ValueCopy; std::vector m_Shapes3D_list; int m_LastSelected3DShapeIndex; - VERTEX_VALUE_CTRL * m_3D_Scale; - VERTEX_VALUE_CTRL * m_3D_Offset; - VERTEX_VALUE_CTRL * m_3D_Rotation; + S3DPOINT_VALUE_CTRL * m_3D_Scale; + S3DPOINT_VALUE_CTRL * m_3D_Offset; + S3DPOINT_VALUE_CTRL * m_3D_Rotation; public: diff --git a/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp b/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp index 6cc15e9aa6..3a2d03949c 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp +++ b/pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp @@ -161,9 +161,9 @@ void DIALOG_MODULE_MODULE_EDITOR::initModeditProperties() m_CostRot180Ctrl->SetValue( m_currentModule->GetPlacementCost180() ); // Initialize 3D parameters - m_3D_Scale = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeScale ); - m_3D_Offset = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeOffset ); - m_3D_Rotation = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeRotation ); + m_3D_Scale = new S3DPOINT_VALUE_CTRL( m_Panel3D, m_bSizerShapeScale ); + m_3D_Offset = new S3DPOINT_VALUE_CTRL( m_Panel3D, m_bSizerShapeOffset ); + m_3D_Rotation = new S3DPOINT_VALUE_CTRL( m_Panel3D, m_bSizerShapeRotation ); // Initialize dialog relative to masks clearances m_NetClearanceUnits->SetLabel( GetAbbreviatedUnitsLabel( g_UserUnit ) ); @@ -222,8 +222,7 @@ void DIALOG_MODULE_MODULE_EDITOR::Transfert3DValuesToDisplay( S3D_MASTER * aStru } else { - S3D_VERTEX dummy_vertex; - dummy_vertex.x = dummy_vertex.y = dummy_vertex.z = 1.0; + S3DPOINT dummy_vertex( 1.0, 1.0, 1.0 ); m_3D_Scale->SetValue( dummy_vertex ); } } diff --git a/pcbnew/dialogs/dialog_edit_module_for_Modedit.h b/pcbnew/dialogs/dialog_edit_module_for_Modedit.h index 6a7bbb8963..69d77862dd 100644 --- a/pcbnew/dialogs/dialog_edit_module_for_Modedit.h +++ b/pcbnew/dialogs/dialog_edit_module_for_Modedit.h @@ -23,9 +23,9 @@ private: TEXTE_MODULE* m_valueCopy; std::vector m_shapes3D_list; int m_lastSelected3DShapeIndex; - VERTEX_VALUE_CTRL * m_3D_Scale; - VERTEX_VALUE_CTRL * m_3D_Offset; - VERTEX_VALUE_CTRL * m_3D_Rotation; + S3DPOINT_VALUE_CTRL * m_3D_Scale; + S3DPOINT_VALUE_CTRL * m_3D_Offset; + S3DPOINT_VALUE_CTRL * m_3D_Rotation; public: diff --git a/pcbnew/legacy_plugin.cpp b/pcbnew/legacy_plugin.cpp index ceca0ddb4d..e92c20454c 100644 --- a/pcbnew/legacy_plugin.cpp +++ b/pcbnew/legacy_plugin.cpp @@ -1936,7 +1936,7 @@ void LEGACY_PLUGIN::load3D( MODULE* aModule ) else if( TESTLINE( "Sc" ) ) // Scale { - sscanf( line + SZ( "Sc" ), "%f %f %f\n", + sscanf( line + SZ( "Sc" ), "%lf %lf %lf\n", &t3D->m_MatScale.x, &t3D->m_MatScale.y, &t3D->m_MatScale.z ); @@ -1944,7 +1944,7 @@ void LEGACY_PLUGIN::load3D( MODULE* aModule ) else if( TESTLINE( "Of" ) ) // Offset { - sscanf( line + SZ( "Of" ), "%f %f %f\n", + sscanf( line + SZ( "Of" ), "%lf %lf %lf\n", &t3D->m_MatPosition.x, &t3D->m_MatPosition.y, &t3D->m_MatPosition.z ); @@ -1952,7 +1952,7 @@ void LEGACY_PLUGIN::load3D( MODULE* aModule ) else if( TESTLINE( "Ro" ) ) // Rotation { - sscanf( line + SZ( "Ro" ), "%f %f %f\n", + sscanf( line + SZ( "Ro" ), "%lf %lf %lf\n", &t3D->m_MatRotation.x, &t3D->m_MatRotation.y, &t3D->m_MatRotation.z );