Cosmetic enhancement: change plot icon in menus.
3dviewer: back to double (from float) in class S3D_MASTER for 3 members (m_MatScale, m_MatRotation, m_MatPosition) which are used in dialogs and r/w file functions, which expect double. Using float create minor but unwanted issues in r/w file functions. S3D_MATERIAL: enable all color options: if a 3d shape has bad color parameters, the shape must be modified, not the 3d rendering. The rendering now matches what we see in other vrml viewer like FreeCAD. Some minor coding style fixes.
This commit is contained in:
parent
468e9e4ac9
commit
cd85ee626b
|
@ -151,7 +151,7 @@ void TransfertToGLlist( std::vector< S3D_VERTEX >& aVertices, double aBiuTo3DUni
|
||||||
glEnd();
|
glEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
VERTEX_VALUE_CTRL::VERTEX_VALUE_CTRL( wxWindow* aParent, wxBoxSizer* aBoxSizer )
|
S3DPOINT_VALUE_CTRL::S3DPOINT_VALUE_CTRL( wxWindow* aParent, wxBoxSizer* aBoxSizer )
|
||||||
{
|
{
|
||||||
wxString text;
|
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;
|
S3DPOINT value;
|
||||||
double dtmp;
|
double dtmp;
|
||||||
|
|
||||||
m_XValueCtrl->GetValue().ToDouble( &dtmp );
|
m_XValueCtrl->GetValue().ToDouble( &dtmp );
|
||||||
value.x = 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;
|
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_XValueCtrl->Enable( onoff );
|
||||||
m_YValueCtrl->Enable( onoff );
|
m_YValueCtrl->Enable( onoff );
|
||||||
|
|
|
@ -78,11 +78,11 @@ S3D_MASTER::S3D_MASTER( EDA_ITEM* aParent ) :
|
||||||
m_ShapeType = FILE3D_NONE;
|
m_ShapeType = FILE3D_NONE;
|
||||||
|
|
||||||
m_use_modelfile_diffuseColor = true;
|
m_use_modelfile_diffuseColor = true;
|
||||||
m_use_modelfile_emissiveColor = false;
|
m_use_modelfile_emissiveColor = true;
|
||||||
m_use_modelfile_specularColor = false;
|
m_use_modelfile_specularColor = true;
|
||||||
m_use_modelfile_ambientIntensity = false;
|
m_use_modelfile_ambientIntensity = true;
|
||||||
m_use_modelfile_transparency = true;
|
m_use_modelfile_transparency = true;
|
||||||
m_use_modelfile_shininess = false;
|
m_use_modelfile_shininess = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -35,11 +35,11 @@
|
||||||
|
|
||||||
class S3D_MASTER;
|
class S3D_MASTER;
|
||||||
|
|
||||||
class S3D_MATERIAL : public EDA_ITEM /* openGL "material" data*/
|
class S3D_MATERIAL : public EDA_ITEM // openGL "material" data
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxString m_Name;
|
wxString m_Name;
|
||||||
|
|
||||||
// Material list
|
// Material list
|
||||||
std::vector< glm::vec3 > m_AmbientColor;
|
std::vector< glm::vec3 > m_AmbientColor;
|
||||||
std::vector< glm::vec3 > m_DiffuseColor;
|
std::vector< glm::vec3 > m_DiffuseColor;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2014 Mario Luzeiro <mrluzeiro@gmail.com>
|
* Copyright (C) 2014 Mario Luzeiro <mrluzeiro@gmail.com>
|
||||||
* 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 <stambaughw@verizon.net>
|
* Copyright (C) 2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
|
@ -35,9 +35,10 @@
|
||||||
#include <base_struct.h>
|
#include <base_struct.h>
|
||||||
#include <3d_material.h>
|
#include <3d_material.h>
|
||||||
#include <gal/opengl/glm/glm.hpp>
|
#include <gal/opengl/glm/glm.hpp>
|
||||||
|
|
||||||
/* 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)
|
#define UNITS3D_TO_UNITSPCB (IU_PER_MILS * 100)
|
||||||
|
|
||||||
|
@ -45,19 +46,42 @@
|
||||||
class S3D_MASTER;
|
class S3D_MASTER;
|
||||||
class STRUCT_3D_SHAPE;
|
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
|
#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
|
class S3D_MASTER : public EDA_ITEM
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
S3D_VERTEX m_MatScale;
|
S3DPOINT m_MatScale; ///< a scaling factor for the entire 3D footprint shape
|
||||||
S3D_VERTEX m_MatRotation;
|
S3DPOINT m_MatRotation; ///< a grotation for the entire 3D footprint shape
|
||||||
S3D_VERTEX m_MatPosition;
|
S3DPOINT m_MatPosition; ///< an offset for the entire 3D footprint shape
|
||||||
STRUCT_3D_SHAPE* m_3D_Drawings;
|
STRUCT_3D_SHAPE* m_3D_Drawings; ///< the list of basic shapes
|
||||||
S3D_MATERIAL* m_Materials;
|
S3D_MATERIAL* m_Materials; ///< the list of materiels used by the shapes
|
||||||
|
|
||||||
enum FILE3D_TYPE
|
enum FILE3D_TYPE
|
||||||
{
|
{
|
||||||
|
@ -76,9 +100,9 @@ public:
|
||||||
bool m_use_modelfile_shininess;
|
bool m_use_modelfile_shininess;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxString m_Shape3DName; /* 3D shape name in 3D library */
|
wxString m_Shape3DName; // the 3D shape filename in 3D library
|
||||||
FILE3D_TYPE m_ShapeType;
|
FILE3D_TYPE m_ShapeType;
|
||||||
double m_lastTransparency; // last transparency value from
|
double m_lastTransparency; // last transparency value from
|
||||||
// last material in use
|
// last material in use
|
||||||
bool m_loadTransparentObjects;
|
bool m_loadTransparentObjects;
|
||||||
bool m_loadNonTransparentObjects;
|
bool m_loadNonTransparentObjects;
|
||||||
|
@ -185,26 +209,26 @@ public:
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class VERTEX_VALUE_CTRL
|
* Class S3DPOINT_VALUE_CTRL
|
||||||
* displays a vertex for editing. A vertex is a triplet of values
|
* displays a S3DPOINT for editing (in dialogs). A S3DPOINT is a triplet of values
|
||||||
* Values can be scale, rotation, offset...
|
* Values can be scale, rotation, offset...
|
||||||
*/
|
*/
|
||||||
class VERTEX_VALUE_CTRL
|
class S3DPOINT_VALUE_CTRL
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
wxTextCtrl* m_XValueCtrl, * m_YValueCtrl, * m_ZValueCtrl;
|
wxTextCtrl* m_XValueCtrl, * m_YValueCtrl, * m_ZValueCtrl;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
VERTEX_VALUE_CTRL( wxWindow* parent, wxBoxSizer* BoxSizer );
|
S3DPOINT_VALUE_CTRL( wxWindow* parent, wxBoxSizer* BoxSizer );
|
||||||
|
|
||||||
~VERTEX_VALUE_CTRL();
|
~S3DPOINT_VALUE_CTRL();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function GetValue
|
* Function GetValue
|
||||||
* @return the vertex in internal units.
|
* @return the 3D point in internal units.
|
||||||
*/
|
*/
|
||||||
S3D_VERTEX GetValue();
|
S3DPOINT GetValue();
|
||||||
void SetValue( S3D_VERTEX vertex );
|
void SetValue( S3DPOINT a3Dpoint );
|
||||||
void Enable( bool enbl );
|
void Enable( bool enbl );
|
||||||
void SetToolTip( const wxString& text );
|
void SetToolTip( const wxString& text );
|
||||||
};
|
};
|
||||||
|
|
|
@ -84,8 +84,8 @@ void VRML1_MODEL_PARSER::Load( const wxString aFilename )
|
||||||
glRotatef(-matRot.z, 0.0f, 0.0f, 1.0f );
|
glRotatef(-matRot.z, 0.0f, 0.0f, 1.0f );
|
||||||
glRotatef(-matRot.y, 0.0f, 1.0f, 0.0f );
|
glRotatef(-matRot.y, 0.0f, 1.0f, 0.0f );
|
||||||
glRotatef(-matRot.x, 1.0f, 0.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)
|
// Switch the locale to standard C (needed to print floating point numbers like 1.3)
|
||||||
SetLocaleTo_C_standard();
|
SetLocaleTo_C_standard();
|
||||||
|
@ -103,9 +103,7 @@ void VRML1_MODEL_PARSER::Load( const wxString aFilename )
|
||||||
if( strcmp( text, "Separator" ) == 0 )
|
if( strcmp( text, "Separator" ) == 0 )
|
||||||
{
|
{
|
||||||
m_model = new S3D_MESH();
|
m_model = new S3D_MESH();
|
||||||
|
|
||||||
childs.push_back( m_model );
|
childs.push_back( m_model );
|
||||||
|
|
||||||
read_separator();
|
read_separator();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -114,7 +112,7 @@ void VRML1_MODEL_PARSER::Load( const wxString aFilename )
|
||||||
SetLocaleTo_Default(); // revert to the current locale
|
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() )
|
if( GetMaster()->IsOpenGlAllowed() )
|
||||||
{
|
{
|
||||||
|
@ -137,13 +135,16 @@ int VRML1_MODEL_PARSER::read_separator()
|
||||||
if( strcmp( text, "Material" ) == 0 )
|
if( strcmp( text, "Material" ) == 0 )
|
||||||
{
|
{
|
||||||
readMaterial( );
|
readMaterial( );
|
||||||
} else if( strcmp( text, "Coordinate3" ) == 0 )
|
}
|
||||||
|
else if( strcmp( text, "Coordinate3" ) == 0 )
|
||||||
{
|
{
|
||||||
readCoordinate3();
|
readCoordinate3();
|
||||||
} else if( strcmp( text, "IndexedFaceSet" ) == 0 )
|
}
|
||||||
|
else if( strcmp( text, "IndexedFaceSet" ) == 0 )
|
||||||
{
|
{
|
||||||
readIndexedFaceSet();
|
readIndexedFaceSet();
|
||||||
} else if( strcmp( text, "Separator" ) == 0 )
|
}
|
||||||
|
else if( strcmp( text, "Separator" ) == 0 )
|
||||||
{
|
{
|
||||||
S3D_MESH *parent = m_model;
|
S3D_MESH *parent = m_model;
|
||||||
|
|
||||||
|
@ -157,11 +158,13 @@ int VRML1_MODEL_PARSER::read_separator()
|
||||||
read_separator();
|
read_separator();
|
||||||
|
|
||||||
m_model = parent;
|
m_model = parent;
|
||||||
}else if ( ( *text != '}' ) )
|
}
|
||||||
|
else if ( ( *text != '}' ) )
|
||||||
{
|
{
|
||||||
//DBG( printf( "read_NotImplemented %s\n", text ) );
|
//DBG( printf( "read_NotImplemented %s\n", text ) );
|
||||||
read_NotImplemented( m_file, '}');
|
read_NotImplemented( m_file, '}');
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -201,19 +204,24 @@ int VRML1_MODEL_PARSER::readMaterial()
|
||||||
if( strcmp( text, "ambientColor" ) == 0 )
|
if( strcmp( text, "ambientColor" ) == 0 )
|
||||||
{
|
{
|
||||||
readMaterial_ambientColor();
|
readMaterial_ambientColor();
|
||||||
} else if( strcmp( text, "diffuseColor" ) == 0 )
|
}
|
||||||
|
else if( strcmp( text, "diffuseColor" ) == 0 )
|
||||||
{
|
{
|
||||||
readMaterial_diffuseColor( );
|
readMaterial_diffuseColor( );
|
||||||
} else if( strcmp( text, "emissiveColor" ) == 0 )
|
}
|
||||||
|
else if( strcmp( text, "emissiveColor" ) == 0 )
|
||||||
{
|
{
|
||||||
readMaterial_emissiveColor( );
|
readMaterial_emissiveColor( );
|
||||||
}else if( strcmp( text, "specularColor" ) == 0 )
|
}
|
||||||
|
else if( strcmp( text, "specularColor" ) == 0 )
|
||||||
{
|
{
|
||||||
readMaterial_specularColor( );
|
readMaterial_specularColor( );
|
||||||
}else if( strcmp( text, "shininess" ) == 0 )
|
}
|
||||||
|
else if( strcmp( text, "shininess" ) == 0 )
|
||||||
{
|
{
|
||||||
readMaterial_shininess( );
|
readMaterial_shininess( );
|
||||||
}else if( strcmp( text, "transparency" ) == 0 )
|
}
|
||||||
|
else if( strcmp( text, "transparency" ) == 0 )
|
||||||
{
|
{
|
||||||
readMaterial_transparency( );
|
readMaterial_transparency( );
|
||||||
}
|
}
|
||||||
|
@ -272,7 +280,8 @@ int VRML1_MODEL_PARSER::readIndexedFaceSet( )
|
||||||
if( strcmp( text, "coordIndex" ) == 0 )
|
if( strcmp( text, "coordIndex" ) == 0 )
|
||||||
{
|
{
|
||||||
readIndexedFaceSet_coordIndex( );
|
readIndexedFaceSet_coordIndex( );
|
||||||
} else if( strcmp( text, "materialIndex" ) == 0 )
|
}
|
||||||
|
else if( strcmp( text, "materialIndex" ) == 0 )
|
||||||
{
|
{
|
||||||
readIndexedFaceSet_materialIndex( );
|
readIndexedFaceSet_materialIndex( );
|
||||||
}
|
}
|
||||||
|
@ -292,7 +301,7 @@ int VRML1_MODEL_PARSER::readMaterial_ambientColor( )
|
||||||
int VRML1_MODEL_PARSER::readMaterial_diffuseColor( )
|
int VRML1_MODEL_PARSER::readMaterial_diffuseColor( )
|
||||||
{
|
{
|
||||||
//DBG( printf( " readMaterial_diffuseColor\n" ) );
|
//DBG( printf( " readMaterial_diffuseColor\n" ) );
|
||||||
|
|
||||||
return parseVertexList( m_file, m_model->m_Materials->m_DiffuseColor);
|
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();
|
m_model->m_Materials->m_Shininess.clear();
|
||||||
|
|
||||||
float shininess_value;
|
float shininess_value;
|
||||||
|
|
||||||
while( fscanf( m_file, "%f,", &shininess_value ) )
|
while( fscanf( m_file, "%f,", &shininess_value ) )
|
||||||
{
|
{
|
||||||
// VRML value is normalized and openGL expects a value 0 - 128
|
// 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();
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -359,6 +369,7 @@ int VRML1_MODEL_PARSER::readMaterial_transparency()
|
||||||
m_model->m_Materials->m_Transparency.clear();
|
m_model->m_Materials->m_Transparency.clear();
|
||||||
|
|
||||||
float tmp;
|
float tmp;
|
||||||
|
|
||||||
while( fscanf (m_file, "%f,", &tmp) )
|
while( fscanf (m_file, "%f,", &tmp) )
|
||||||
{
|
{
|
||||||
m_model->m_Materials->m_Transparency.push_back( 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();
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -378,7 +389,7 @@ int VRML1_MODEL_PARSER::readMaterial_transparency()
|
||||||
int VRML1_MODEL_PARSER::readCoordinate3_point()
|
int VRML1_MODEL_PARSER::readCoordinate3_point()
|
||||||
{
|
{
|
||||||
//DBG( printf( " readCoordinate3_point\n" ) );
|
//DBG( printf( " readCoordinate3_point\n" ) );
|
||||||
|
|
||||||
if( parseVertexList( m_file, m_model->m_Point ) == 0 )
|
if( parseVertexList( m_file, m_model->m_Point ) == 0 )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -420,7 +431,7 @@ int VRML1_MODEL_PARSER::readIndexedFaceSet_coordIndex()
|
||||||
m_model->m_CoordIndex.push_back( coord_list );
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -438,7 +449,7 @@ int VRML1_MODEL_PARSER::readIndexedFaceSet_materialIndex()
|
||||||
m_model->m_MaterialIndex.push_back( index );
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
float vrmlunits_to_3Dunits = g_Parm_3D_Visu.m_BiuTo3Dunits * UNITS3D_TO_UNITSPCB;
|
||||||
glScalef( vrmlunits_to_3Dunits, vrmlunits_to_3Dunits, vrmlunits_to_3Dunits );
|
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 matScale( GetMaster()->m_MatScale.x, GetMaster()->m_MatScale.y,
|
||||||
glm::vec3 matRot( GetMaster()->m_MatRotation.x, GetMaster()->m_MatRotation.y, GetMaster()->m_MatRotation.z );
|
GetMaster()->m_MatScale.z );
|
||||||
glm::vec3 matPos( GetMaster()->m_MatPosition.x, GetMaster()->m_MatPosition.y, GetMaster()->m_MatPosition.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)
|
#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 )
|
if( strcmp( text, "Transform" ) == 0 )
|
||||||
{
|
{
|
||||||
m_model = new S3D_MESH();
|
m_model = new S3D_MESH();
|
||||||
|
|
||||||
childs.push_back( m_model );
|
childs.push_back( m_model );
|
||||||
|
|
||||||
read_Transform();
|
read_Transform();
|
||||||
|
@ -113,7 +115,6 @@ void VRML2_MODEL_PARSER::Load( const wxString aFilename )
|
||||||
else if( strcmp( text, "DEF" ) == 0 )
|
else if( strcmp( text, "DEF" ) == 0 )
|
||||||
{
|
{
|
||||||
m_model = new S3D_MESH();
|
m_model = new S3D_MESH();
|
||||||
|
|
||||||
childs.push_back( m_model );
|
childs.push_back( m_model );
|
||||||
|
|
||||||
read_DEF();
|
read_DEF();
|
||||||
|
@ -294,15 +295,11 @@ int VRML2_MODEL_PARSER::read_DEF()
|
||||||
else if( strcmp( text, "Shape" ) == 0 )
|
else if( strcmp( text, "Shape" ) == 0 )
|
||||||
{
|
{
|
||||||
S3D_MESH *parent = m_model;
|
S3D_MESH *parent = m_model;
|
||||||
|
|
||||||
S3D_MESH *new_mesh_model = new S3D_MESH();
|
S3D_MESH *new_mesh_model = new S3D_MESH();
|
||||||
|
|
||||||
m_model->childs.push_back( new_mesh_model );
|
m_model->childs.push_back( new_mesh_model );
|
||||||
|
|
||||||
m_model = new_mesh_model;
|
m_model = new_mesh_model;
|
||||||
|
|
||||||
read_Shape();
|
read_Shape();
|
||||||
|
|
||||||
m_model = parent;
|
m_model = parent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -401,9 +398,7 @@ int VRML2_MODEL_PARSER::read_material()
|
||||||
{
|
{
|
||||||
wxString mat_name;
|
wxString mat_name;
|
||||||
material = new S3D_MATERIAL( GetMaster(), mat_name );
|
material = new S3D_MATERIAL( GetMaster(), mat_name );
|
||||||
|
|
||||||
GetMaster()->Insert( material );
|
GetMaster()->Insert( material );
|
||||||
|
|
||||||
m_model->m_Materials = material;
|
m_model->m_Materials = material;
|
||||||
|
|
||||||
if( strcmp( text, "Material" ) == 0 )
|
if( strcmp( text, "Material" ) == 0 )
|
||||||
|
@ -423,9 +418,7 @@ int VRML2_MODEL_PARSER::read_material()
|
||||||
mat_name = FROM_UTF8( text );
|
mat_name = FROM_UTF8( text );
|
||||||
|
|
||||||
material = new S3D_MATERIAL( GetMaster(), mat_name );
|
material = new S3D_MATERIAL( GetMaster(), mat_name );
|
||||||
|
|
||||||
GetMaster()->Insert( material );
|
GetMaster()->Insert( material );
|
||||||
|
|
||||||
m_model->m_Materials = material;
|
m_model->m_Materials = material;
|
||||||
|
|
||||||
if( GetNextTag( m_file, text ) )
|
if( GetNextTag( m_file, text ) )
|
||||||
|
@ -506,6 +499,7 @@ int VRML2_MODEL_PARSER::read_Material()
|
||||||
//DBG( printf( " specularColor") );
|
//DBG( printf( " specularColor") );
|
||||||
parseVertex ( m_file, vertex);
|
parseVertex ( m_file, vertex);
|
||||||
//DBG( printf( "\n") );
|
//DBG( printf( "\n") );
|
||||||
|
|
||||||
if( GetMaster()->m_use_modelfile_specularColor == true )
|
if( GetMaster()->m_use_modelfile_specularColor == true )
|
||||||
{
|
{
|
||||||
m_model->m_Materials->m_SpecularColor.push_back( vertex );
|
m_model->m_Materials->m_SpecularColor.push_back( vertex );
|
||||||
|
@ -516,6 +510,7 @@ int VRML2_MODEL_PARSER::read_Material()
|
||||||
float ambientIntensity;
|
float ambientIntensity;
|
||||||
parseFloat( m_file, &ambientIntensity );
|
parseFloat( m_file, &ambientIntensity );
|
||||||
//DBG( printf( " ambientIntensity %f\n", ambientIntensity) );
|
//DBG( printf( " ambientIntensity %f\n", ambientIntensity) );
|
||||||
|
|
||||||
if( GetMaster()->m_use_modelfile_ambientIntensity == true )
|
if( GetMaster()->m_use_modelfile_ambientIntensity == true )
|
||||||
{
|
{
|
||||||
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 ) );
|
||||||
|
@ -526,6 +521,7 @@ int VRML2_MODEL_PARSER::read_Material()
|
||||||
float transparency;
|
float transparency;
|
||||||
parseFloat( m_file, &transparency );
|
parseFloat( m_file, &transparency );
|
||||||
//DBG( printf( " transparency %f\n", transparency) );
|
//DBG( printf( " transparency %f\n", transparency) );
|
||||||
|
|
||||||
if( GetMaster()->m_use_modelfile_transparency == true )
|
if( GetMaster()->m_use_modelfile_transparency == true )
|
||||||
{
|
{
|
||||||
m_model->m_Materials->m_Transparency.push_back( transparency );
|
m_model->m_Materials->m_Transparency.push_back( transparency );
|
||||||
|
@ -535,6 +531,7 @@ int VRML2_MODEL_PARSER::read_Material()
|
||||||
{
|
{
|
||||||
float shininess;
|
float shininess;
|
||||||
parseFloat( m_file, &shininess );
|
parseFloat( m_file, &shininess );
|
||||||
|
|
||||||
//DBG( printf( " shininess %f\n", shininess) );
|
//DBG( printf( " shininess %f\n", shininess) );
|
||||||
// VRML value is normalized and openGL expects a value 0 - 128
|
// VRML value is normalized and openGL expects a value 0 - 128
|
||||||
if( GetMaster()->m_use_modelfile_shininess == true )
|
if( GetMaster()->m_use_modelfile_shininess == true )
|
||||||
|
@ -590,7 +587,8 @@ int VRML2_MODEL_PARSER::read_IndexedFaceSet()
|
||||||
{
|
{
|
||||||
//DBG( printf( " colorPerVertex = true\n") );
|
//DBG( printf( " colorPerVertex = true\n") );
|
||||||
colorPerVertex = true;
|
colorPerVertex = true;
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
colorPerVertex = false;
|
colorPerVertex = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,71 +8,67 @@
|
||||||
static const unsigned char png[] = {
|
static const unsigned char png[] = {
|
||||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
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,
|
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,
|
0xce, 0x00, 0x00, 0x03, 0xb1, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xbd, 0x96, 0x49, 0x4c, 0x13,
|
||||||
0x67, 0x18, 0xc7, 0x83, 0xb8, 0xad, 0xc5, 0x5e, 0x94, 0x51, 0xc6, 0x6e, 0x06, 0x03, 0x6f, 0xbd,
|
0x51, 0x18, 0xc7, 0x1b, 0xe3, 0x16, 0xf7, 0x28, 0x31, 0xc6, 0xc4, 0x48, 0x10, 0x5b, 0x4c, 0x13,
|
||||||
0x50, 0x2f, 0xaa, 0xf5, 0x94, 0x43, 0x47, 0x84, 0x95, 0x68, 0xba, 0xc6, 0xd8, 0x56, 0xb3, 0x39,
|
0xd2, 0x32, 0x2d, 0x6a, 0xc0, 0x84, 0xc4, 0x80, 0x96, 0xa5, 0x33, 0xd3, 0x85, 0x2e, 0x60, 0x5b,
|
||||||
0x8a, 0x83, 0x59, 0x16, 0x32, 0xb6, 0x31, 0x7b, 0x33, 0xbc, 0x50, 0xf1, 0x46, 0xb6, 0x39, 0x89,
|
0x16, 0x4b, 0x62, 0xa2, 0xb4, 0x43, 0xa4, 0x88, 0x52, 0x0a, 0xd1, 0x83, 0xd1, 0x83, 0x07, 0xe2,
|
||||||
0x13, 0x37, 0xe2, 0x66, 0x52, 0x98, 0x0d, 0xa3, 0xa9, 0x2d, 0xd6, 0x2b, 0x63, 0x40, 0x1b, 0xa3,
|
0x5a, 0xf5, 0x60, 0x22, 0x07, 0x85, 0x83, 0x89, 0x8a, 0x82, 0xe0, 0xc1, 0x1d, 0x0d, 0x1a, 0x34,
|
||||||
0xa8, 0x4c, 0x5b, 0x4d, 0x3d, 0xd4, 0xc4, 0x34, 0xe6, 0x9c, 0x98, 0x7c, 0x39, 0x79, 0xc8, 0x7f,
|
0x22, 0xa0, 0xc1, 0x28, 0x21, 0x1a, 0x8a, 0x8a, 0x6b, 0x2a, 0xfa, 0x39, 0x6f, 0x98, 0x69, 0xdf,
|
||||||
0xef, 0xf7, 0x69, 0x52, 0xb3, 0x7e, 0x4b, 0x75, 0x73, 0x0b, 0xfc, 0x20, 0xdf, 0x93, 0xbc, 0xcf,
|
0x30, 0xa0, 0x12, 0x97, 0xc3, 0x2f, 0xed, 0xbc, 0xf6, 0xfd, 0x7f, 0xf3, 0xbd, 0x65, 0xde, 0xc8,
|
||||||
0x8f, 0xe7, 0x3d, 0x3c, 0xef, 0xc7, 0xd9, 0x8b, 0x6d, 0x81, 0x8d, 0xc8, 0x96, 0xcb, 0x17, 0xf4,
|
0x00, 0x40, 0xf6, 0x3f, 0x90, 0xfd, 0x57, 0x91, 0x5a, 0xb5, 0xbc, 0x94, 0xe5, 0x24, 0xc6, 0x09,
|
||||||
0x6d, 0x8e, 0x93, 0xef, 0x97, 0x00, 0x70, 0xfe, 0x2d, 0x1c, 0x3a, 0xe9, 0xc7, 0x37, 0x3e, 0x82,
|
0x8c, 0xe3, 0x3c, 0x41, 0x8c, 0x63, 0x18, 0x47, 0x31, 0x8e, 0x60, 0x1c, 0xe6, 0xd9, 0xcb, 0x32,
|
||||||
0xf4, 0x5a, 0x4d, 0x8a, 0xda, 0xeb, 0x52, 0xc8, 0x15, 0x37, 0xd1, 0xdd, 0xfd, 0x2d, 0x28, 0xbf,
|
0x5d, 0x96, 0xa4, 0x8e, 0xdd, 0x4f, 0x24, 0xc5, 0x8e, 0x18, 0x0c, 0x04, 0x18, 0x8d, 0xa3, 0xb0,
|
||||||
0x23, 0x4a, 0xa4, 0xdf, 0x9f, 0x88, 0xa8, 0xfe, 0xc3, 0xeb, 0xb8, 0x2c, 0x11, 0xb3, 0x72, 0xa3,
|
0xdf, 0xbf, 0x47, 0x49, 0x42, 0x7c, 0xa3, 0x69, 0x0c, 0x2a, 0x69, 0x04, 0x41, 0x71, 0xa8, 0x11,
|
||||||
0xb1, 0x01, 0x21, 0xdf, 0x26, 0x8c, 0x8f, 0x0c, 0xf1, 0xe1, 0x87, 0xf7, 0xa3, 0x49, 0xc6, 0xc6,
|
0x5f, 0x11, 0x24, 0x29, 0x21, 0x9c, 0xac, 0x8d, 0x0b, 0xb3, 0xf9, 0x67, 0x51, 0x35, 0xb0, 0xad,
|
||||||
0xc6, 0x76, 0xf4, 0x63, 0x7a, 0x9b, 0x5e, 0xaf, 0xbf, 0x35, 0x31, 0x31, 0x71, 0xfa, 0x58, 0x22,
|
0x74, 0x3d, 0xd4, 0x1d, 0xb4, 0xff, 0x13, 0x98, 0xb2, 0x0c, 0x40, 0x0e, 0x4e, 0x54, 0xb1, 0x43,
|
||||||
0x93, 0xd1, 0x10, 0x7b, 0x6e, 0x79, 0x1a, 0x5c, 0x5f, 0x7d, 0x4c, 0x29, 0x95, 0xdf, 0x31, 0xd5,
|
0xc7, 0x35, 0x7a, 0xcb, 0xd2, 0xa1, 0x78, 0xf3, 0xba, 0xbf, 0xc2, 0x36, 0xcf, 0xe8, 0xcd, 0x57,
|
||||||
0xd1, 0x71, 0x95, 0xaa, 0x17, 0xa1, 0x80, 0x1b, 0xc1, 0x60, 0x30, 0xc5, 0xd0, 0xd0, 0x10, 0x9c,
|
0xee, 0xcc, 0x94, 0x8a, 0xd6, 0xac, 0x89, 0x83, 0x98, 0x98, 0x39, 0x1c, 0xa9, 0xa9, 0x6b, 0xc1,
|
||||||
0x4e, 0x27, 0x26, 0x27, 0x27, 0xf7, 0x88, 0xcc, 0x4f, 0xc4, 0x82, 0x23, 0x8b, 0xbc, 0x4e, 0x6b,
|
0x6e, 0xb7, 0x80, 0xcd, 0x66, 0x01, 0xab, 0x35, 0x17, 0x72, 0x73, 0x4d, 0x60, 0x36, 0x1b, 0xc1,
|
||||||
0x98, 0x3c, 0xbb, 0x09, 0x89, 0x68, 0xd0, 0x83, 0x9f, 0xfa, 0x94, 0x4c, 0xfc, 0x33, 0x79, 0x13,
|
0x64, 0xa2, 0xd9, 0xe1, 0xa5, 0x80, 0xa6, 0xf5, 0x40, 0x92, 0xd9, 0x90, 0x93, 0x93, 0x09, 0xd9,
|
||||||
0x62, 0x21, 0x2f, 0x28, 0x8a, 0x4a, 0xa1, 0xd1, 0xa8, 0x91, 0x48, 0x24, 0x10, 0x0a, 0x85, 0x30,
|
0xd9, 0x3a, 0x0e, 0xa5, 0x52, 0x1e, 0xe9, 0xaf, 0x52, 0x2d, 0xe3, 0x32, 0x77, 0xee, 0xca, 0x92,
|
||||||
0x33, 0x33, 0x03, 0x22, 0x8b, 0x8e, 0x8e, 0x8e, 0xf2, 0x8e, 0x24, 0x0a, 0x07, 0x9c, 0xf1, 0xe4,
|
0x8a, 0xcc, 0xb9, 0x1a, 0x48, 0x49, 0x8d, 0xe7, 0x70, 0x97, 0xb8, 0x20, 0x14, 0x0a, 0x4d, 0x0a,
|
||||||
0x66, 0xd8, 0x8d, 0x06, 0x60, 0x7e, 0x3c, 0xc7, 0xc4, 0xa5, 0xd7, 0x24, 0xcc, 0x73, 0xf8, 0x90,
|
0xa3, 0x31, 0x33, 0xd2, 0x9f, 0xa4, 0x54, 0x5c, 0xe6, 0xae, 0xaa, 0x6c, 0xa9, 0x08, 0xa7, 0x3a,
|
||||||
0xa8, 0xb7, 0xb7, 0x07, 0x7e, 0xbf, 0x1f, 0x81, 0x40, 0x00, 0x36, 0x9b, 0x0d, 0x06, 0x83, 0x01,
|
0x50, 0x2a, 0x0a, 0xe9, 0xef, 0xe9, 0xf9, 0xa5, 0xa8, 0xdc, 0xe7, 0x94, 0xe4, 0x54, 0xf9, 0x31,
|
||||||
0x23, 0x23, 0x23, 0x9b, 0x3c, 0x1e, 0xef, 0xec, 0x2b, 0x45, 0x94, 0x3f, 0x5d, 0x64, 0x59, 0x79,
|
0x91, 0x97, 0x49, 0x87, 0x7d, 0xfb, 0x4d, 0x22, 0xaa, 0xaa, 0xb6, 0x8a, 0x42, 0xea, 0x8d, 0x46,
|
||||||
0xc2, 0xc4, 0x25, 0xb5, 0x57, 0xb0, 0xf3, 0x17, 0xd1, 0xbd, 0x7b, 0x3a, 0x0c, 0x0c, 0xfc, 0x82,
|
0x68, 0xaa, 0xa8, 0x80, 0x97, 0xdd, 0xdd, 0x13, 0x8a, 0xca, 0xca, 0x36, 0x49, 0x72, 0x7c, 0x15,
|
||||||
0xdb, 0xb7, 0xd5, 0xd0, 0x6a, 0xef, 0x40, 0xa7, 0xbb, 0x4b, 0x62, 0x77, 0xc1, 0xe3, 0x57, 0xb8,
|
0xba, 0xa8, 0x68, 0x3c, 0x8a, 0x8b, 0x9c, 0x91, 0x80, 0x67, 0xed, 0xed, 0x70, 0xb9, 0xb2, 0x12,
|
||||||
0x39, 0x1c, 0x4e, 0x56, 0xe6, 0xa9, 0x73, 0x58, 0xa8, 0xbd, 0x58, 0x70, 0x35, 0x4e, 0x79, 0xc9,
|
0x3e, 0x0c, 0x0d, 0x41, 0x5b, 0x6d, 0x2d, 0x5c, 0xaf, 0xab, 0x83, 0xd0, 0xe0, 0xa0, 0x44, 0x44,
|
||||||
0x06, 0x70, 0x40, 0xa3, 0x56, 0x31, 0xf1, 0x4f, 0x6f, 0x7e, 0x82, 0x38, 0xe5, 0x4b, 0x9b, 0x3a,
|
0x92, 0x1b, 0x61, 0xa2, 0x3c, 0x24, 0x52, 0x25, 0xaa, 0xe5, 0xab, 0x13, 0x88, 0x0d, 0x80, 0x58,
|
||||||
0x36, 0xee, 0x3f, 0xd0, 0x81, 0x2f, 0xe0, 0xc6, 0x48, 0x55, 0xa7, 0x32, 0x8a, 0xec, 0xd6, 0x65,
|
0xa5, 0x49, 0xbf, 0x87, 0xda, 0x18, 0xc6, 0x7b, 0x5d, 0x08, 0xb8, 0x57, 0x5f, 0x0f, 0x17, 0x18,
|
||||||
0xa6, 0xa2, 0x48, 0xd0, 0x85, 0x87, 0xc3, 0x3a, 0x66, 0xdb, 0xd3, 0xf1, 0xce, 0xce, 0x0e, 0x50,
|
0x06, 0x1e, 0x35, 0x36, 0x42, 0x6f, 0x4b, 0x0b, 0xf4, 0xdf, 0xbf, 0x0f, 0xe7, 0x3d, 0x1e, 0xe8,
|
||||||
0x01, 0xd7, 0xc9, 0x89, 0xd8, 0xa0, 0xd7, 0xc7, 0x65, 0x5f, 0x47, 0x34, 0x1c, 0xfa, 0x6f, 0x44,
|
0x6a, 0x6b, 0x13, 0x89, 0x1c, 0x8e, 0xfc, 0x06, 0xd4, 0x37, 0x41, 0x93, 0x11, 0x4a, 0xd0, 0xb0,
|
||||||
0xf4, 0xba, 0x7c, 0xf9, 0xd5, 0xe7, 0xb0, 0x3e, 0x5b, 0x42, 0x78, 0xcb, 0xf3, 0x4a, 0xc9, 0xb1,
|
0x79, 0x9a, 0x8c, 0x37, 0xe8, 0x1a, 0xc1, 0x3d, 0x19, 0x96, 0x12, 0x39, 0xb3, 0xe4, 0x1a, 0x0a,
|
||||||
0x44, 0xf3, 0x73, 0x26, 0x78, 0x1c, 0x16, 0x82, 0x15, 0xdb, 0x61, 0x1f, 0xdc, 0xa4, 0x92, 0x81,
|
0x46, 0x21, 0xaf, 0xa1, 0x36, 0x9f, 0xcf, 0xd7, 0x84, 0x87, 0x5c, 0xa9, 0xa9, 0x81, 0x87, 0x0d,
|
||||||
0x5f, 0x7f, 0xc6, 0x55, 0xd2, 0x29, 0x98, 0xae, 0x71, 0x35, 0x89, 0x24, 0x45, 0x4d, 0x92, 0x5a,
|
0x0d, 0xd0, 0xdf, 0xd1, 0x01, 0xe1, 0x70, 0x18, 0xba, 0x2f, 0x5d, 0x82, 0x7a, 0x93, 0x09, 0xae,
|
||||||
0x09, 0xf3, 0x9b, 0x46, 0xa3, 0xc1, 0xe0, 0xe0, 0xe0, 0x0e, 0x21, 0xa2, 0xd5, 0x6a, 0xbf, 0x61,
|
0xec, 0xd9, 0x13, 0xf9, 0x4f, 0x61, 0x61, 0xe1, 0x51, 0xd4, 0x57, 0xae, 0xa5, 0x5e, 0xb3, 0x00,
|
||||||
0x15, 0xd1, 0x53, 0x14, 0x8f, 0x86, 0x11, 0x8d, 0x84, 0x21, 0x6b, 0x90, 0x41, 0xa1, 0x50, 0x40,
|
0x4b, 0x48, 0xf4, 0x08, 0x4a, 0x4c, 0xcc, 0x98, 0x1d, 0x11, 0x69, 0xc9, 0x9b, 0x63, 0x45, 0x28,
|
||||||
0x2e, 0x97, 0xa3, 0xa9, 0xa9, 0x09, 0x8d, 0x8d, 0x8d, 0x68, 0x68, 0x68, 0x80, 0x4c, 0x26, 0x43,
|
0xec, 0xdc, 0x96, 0x2d, 0xd0, 0x79, 0xe6, 0x0c, 0xf4, 0x36, 0x37, 0x43, 0xd3, 0xf6, 0xed, 0xd0,
|
||||||
0x7d, 0x7d, 0x3d, 0x2b, 0x1f, 0xd4, 0x5c, 0x81, 0xc7, 0xe3, 0x61, 0x0e, 0xb4, 0xcb, 0xe5, 0x82,
|
0x7e, 0xea, 0x94, 0x64, 0xe8, 0x30, 0xd1, 0x20, 0x2f, 0x7a, 0x2b, 0x12, 0x29, 0x52, 0xf4, 0x73,
|
||||||
0x5a, 0xad, 0xde, 0x26, 0x67, 0x2b, 0xfb, 0x25, 0x91, 0x7b, 0xd3, 0x82, 0xc8, 0xc1, 0x5a, 0x5c,
|
0xa3, 0x15, 0x51, 0x77, 0x50, 0x9b, 0xc7, 0xe3, 0x39, 0x2d, 0xaa, 0x28, 0x10, 0x80, 0xdb, 0x87,
|
||||||
0xaa, 0x12, 0xa1, 0xb9, 0xb9, 0x99, 0x49, 0x5e, 0x57, 0x57, 0x07, 0xa9, 0x54, 0x0a, 0xb1, 0x58,
|
0x0e, 0x41, 0x4b, 0x75, 0x35, 0xbc, 0x7a, 0xf1, 0x62, 0xdc, 0xc5, 0x80, 0x89, 0x42, 0xbc, 0x68,
|
||||||
0x8c, 0xaa, 0xaa, 0x2a, 0x56, 0x44, 0x22, 0x11, 0x33, 0xc6, 0xe1, 0x70, 0xc0, 0xeb, 0xf5, 0x32,
|
0x58, 0x24, 0x8a, 0x5f, 0xad, 0x9b, 0x17, 0xad, 0x88, 0xba, 0x8b, 0xda, 0x0c, 0x06, 0x03, 0xdd,
|
||||||
0xf4, 0xf7, 0xf7, 0xef, 0xaa, 0x54, 0xaa, 0x53, 0x2c, 0xa2, 0x75, 0xb8, 0x5d, 0x0e, 0xd8, 0xed,
|
0xda, 0xda, 0xfa, 0x5e, 0x08, 0xb9, 0x58, 0x5e, 0x0e, 0x3d, 0x37, 0x6e, 0xfc, 0x74, 0x79, 0x63,
|
||||||
0x76, 0x5c, 0xac, 0x14, 0x42, 0x22, 0x91, 0x80, 0xcc, 0xf7, 0x4b, 0x70, 0xb9, 0x5c, 0x56, 0xde,
|
0xa2, 0x21, 0x24, 0x52, 0x68, 0xa9, 0x8f, 0x22, 0x51, 0x1c, 0x61, 0x9e, 0x8f, 0x55, 0xd4, 0x21,
|
||||||
0xab, 0xac, 0x84, 0xc5, 0x62, 0x61, 0xc6, 0xd3, 0xf4, 0xf5, 0xf5, 0xb1, 0x8b, 0xe8, 0xa9, 0x7b,
|
0xfc, 0xc8, 0x76, 0x3c, 0x11, 0x0c, 0x06, 0xdf, 0x0c, 0x0c, 0x0c, 0xfc, 0xd6, 0x86, 0x2d, 0x28,
|
||||||
0x6e, 0xb3, 0x62, 0x6d, 0x6d, 0x0d, 0x65, 0x7c, 0x3e, 0x0a, 0x0b, 0x0b, 0x51, 0x50, 0x50, 0x70,
|
0x28, 0x38, 0xc2, 0x8b, 0xde, 0xf2, 0x15, 0x7d, 0x11, 0x89, 0x62, 0x55, 0xd4, 0x82, 0xa8, 0x88,
|
||||||
0x24, 0xf2, 0xf3, 0xf3, 0x51, 0xce, 0x17, 0xc0, 0x6c, 0x36, 0x33, 0xe3, 0x69, 0x94, 0x4a, 0xe5,
|
0x7e, 0x80, 0x9f, 0x23, 0x25, 0x25, 0x25, 0x7b, 0xdd, 0x6e, 0xf7, 0x67, 0xbf, 0xdf, 0xff, 0x7c,
|
||||||
0xdf, 0x8b, 0x9e, 0xad, 0xad, 0x62, 0x71, 0x71, 0x11, 0x85, 0x45, 0x17, 0x50, 0x5c, 0xce, 0x3d,
|
0x12, 0xa2, 0x77, 0xbc, 0x28, 0x2c, 0x12, 0x29, 0xd7, 0x9a, 0x17, 0x62, 0xa2, 0x87, 0x63, 0x0f,
|
||||||
0x44, 0xc5, 0x0b, 0xca, 0x2a, 0x50, 0xc4, 0x42, 0xfe, 0xf9, 0x22, 0x3c, 0x9a, 0x37, 0xe0, 0x87,
|
0x2d, 0x86, 0x61, 0x82, 0x5e, 0xaf, 0x77, 0xe8, 0x57, 0x22, 0xa7, 0xd3, 0x29, 0x88, 0x86, 0x79,
|
||||||
0x15, 0x05, 0xf4, 0x4b, 0x0f, 0xd0, 0xd5, 0xd5, 0x95, 0x2e, 0x8a, 0x86, 0x3c, 0x71, 0x2a, 0xe0,
|
0xd1, 0x37, 0x91, 0x28, 0x21, 0x99, 0x5e, 0x84, 0x2d, 0xef, 0xc7, 0x63, 0x45, 0x81, 0x40, 0x60,
|
||||||
0xdc, 0xef, 0x6f, 0x4b, 0x4f, 0x30, 0x3b, 0x3b, 0x8b, 0xf1, 0xf1, 0xf1, 0x7f, 0x44, 0xf7, 0xd2,
|
0x6a, 0x51, 0x51, 0x51, 0x57, 0x5f, 0x5f, 0xdf, 0x4f, 0x45, 0x2e, 0x97, 0xeb, 0x30, 0x27, 0x4a,
|
||||||
0x17, 0x10, 0x6d, 0x64, 0xe3, 0xeb, 0x15, 0x21, 0x39, 0xe8, 0x9d, 0xbb, 0x2d, 0x2d, 0x2d, 0x29,
|
0xa6, 0xde, 0xf3, 0x22, 0x10, 0x89, 0xe4, 0x44, 0x4e, 0x0c, 0x36, 0x47, 0x4f, 0xc6, 0x3b, 0x8a,
|
||||||
0xd1, 0xbb, 0x34, 0x3f, 0xf6, 0x28, 0xb1, 0x30, 0xff, 0x07, 0xd3, 0x89, 0xa7, 0xa7, 0xa7, 0x31,
|
0x1d, 0x0e, 0xc7, 0x22, 0x76, 0x25, 0xde, 0xea, 0xec, 0xec, 0x1c, 0x41, 0x73, 0x36, 0x1e, 0x82,
|
||||||
0x35, 0x35, 0x05, 0x93, 0xc9, 0x04, 0xa3, 0xd1, 0x78, 0x2c, 0x86, 0xa7, 0x7e, 0xc7, 0x2d, 0xf3,
|
0x08, 0x2d, 0x02, 0x41, 0x24, 0x93, 0x05, 0xa6, 0x44, 0x44, 0x2b, 0x12, 0xe9, 0xc5, 0x98, 0xa8,
|
||||||
0xfb, 0xf8, 0x6d, 0xb6, 0x07, 0x1d, 0x1d, 0x1d, 0x2f, 0x44, 0xc9, 0x7d, 0xde, 0xde, 0xde, 0xee,
|
0x77, 0xa2, 0x73, 0x3f, 0x2d, 0x2d, 0x6d, 0xaa, 0x5e, 0xaf, 0xcf, 0xcf, 0xcb, 0xcb, 0xf3, 0xdb,
|
||||||
0x6b, 0x6b, 0x6b, 0x4b, 0xb0, 0x80, 0x24, 0xad, 0xad, 0xad, 0x99, 0x48, 0xb0, 0xb0, 0x45, 0x44,
|
0xed, 0xf6, 0x00, 0xc2, 0x66, 0xb3, 0xd5, 0x58, 0xad, 0xd6, 0x5a, 0x8b, 0xc5, 0xb2, 0x3b, 0x2b,
|
||||||
0xd9, 0x29, 0x11, 0xf9, 0xbc, 0x96, 0x9b, 0x9b, 0xfb, 0x0e, 0x8f, 0xcf, 0x8d, 0x55, 0x57, 0x57,
|
0x2b, 0x6b, 0x1d, 0x3f, 0x74, 0x9f, 0x04, 0x11, 0x41, 0xb8, 0xa7, 0x45, 0xe7, 0x48, 0x6b, 0x5e,
|
||||||
0x43, 0x7c, 0x59, 0x8c, 0x85, 0x85, 0x05, 0x08, 0x85, 0xc2, 0x63, 0x41, 0x4f, 0xb9, 0xa4, 0x46,
|
0x82, 0x89, 0xfa, 0xfe, 0xe4, 0x25, 0x84, 0xdb, 0x2a, 0xec, 0x22, 0x10, 0x44, 0x0a, 0xb5, 0x7e,
|
||||||
0x42, 0x8e, 0x41, 0x35, 0xdd, 0xc5, 0x77, 0xf3, 0xf2, 0xf2, 0x72, 0x49, 0xee, 0xd7, 0x0f, 0x8b,
|
0x29, 0x27, 0x52, 0x68, 0xe8, 0x42, 0x85, 0x86, 0x3a, 0x87, 0x89, 0x40, 0x4e, 0x50, 0x27, 0xd9,
|
||||||
0xb2, 0x08, 0x6f, 0x16, 0x97, 0x9c, 0x57, 0x97, 0x95, 0x97, 0xc4, 0xcb, 0x2b, 0x4a, 0x77, 0x36,
|
0xf2, 0xf3, 0x27, 0x2b, 0x59, 0xa9, 0xa5, 0x0e, 0xb0, 0xe1, 0x4f, 0x05, 0xc9, 0x28, 0xe4, 0x00,
|
||||||
0x36, 0x36, 0xb0, 0xbc, 0xbc, 0x7c, 0x2c, 0xe8, 0x7b, 0x49, 0x20, 0xe0, 0xc5, 0x49, 0x8e, 0xed,
|
0xfb, 0xd9, 0x2c, 0x43, 0x15, 0x88, 0x24, 0x51, 0xd9, 0xa3, 0xc9, 0x8a, 0xd8, 0x9b, 0xbb, 0xca,
|
||||||
0x0b, 0x25, 0x45, 0x77, 0xe8, 0x9c, 0xc9, 0x2b, 0x23, 0xbd, 0x1f, 0x91, 0xca, 0x72, 0x72, 0x72,
|
0xef, 0x21, 0x09, 0xb2, 0xf8, 0x78, 0xdd, 0x8c, 0xd8, 0x34, 0xd7, 0xcc, 0xb1, 0x28, 0x95, 0xe6,
|
||||||
0xde, 0x2e, 0x2d, 0x2d, 0x1e, 0x25, 0xd5, 0xed, 0xf2, 0x05, 0xbc, 0x3d, 0xc1, 0xc5, 0x7d, 0x48,
|
0xe9, 0x7f, 0xf3, 0xbd, 0xee, 0x07, 0xad, 0x9c, 0x79, 0xf1, 0x33, 0xfc, 0xbe, 0xc6, 0x00, 0x00,
|
||||||
0x0f, 0x4b, 0x64, 0x80, 0xee, 0x71, 0x74, 0x15, 0x28, 0x2d, 0x2b, 0x99, 0xa3, 0x73, 0xd0, 0xb9,
|
0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||||
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,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const BITMAP_OPAQUE plot_xpm[1] = {{ png, sizeof( png ), "plot_xpm" }};
|
const BITMAP_OPAQUE plot_xpm[1] = {{ png, sizeof( png ), "plot_xpm" }};
|
||||||
|
|
|
@ -1,336 +1,178 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
<svg
|
<svg
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
height="26"
|
width="64"
|
||||||
width="26"
|
height="64"
|
||||||
version="1.0"
|
|
||||||
id="svg2"
|
id="svg2"
|
||||||
inkscape:version="0.48.3.1 r9886"
|
version="1.1"
|
||||||
|
inkscape:version="0.48.4 r9939"
|
||||||
sodipodi:docname="plot.svg">
|
sodipodi:docname="plot.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4">
|
||||||
|
<filter
|
||||||
|
color-interpolation-filters="sRGB"
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="filter3945">
|
||||||
|
<feGaussianBlur
|
||||||
|
inkscape:collect="always"
|
||||||
|
stdDeviation="0.05617153"
|
||||||
|
id="feGaussianBlur3947" />
|
||||||
|
</filter>
|
||||||
|
<filter
|
||||||
|
color-interpolation-filters="sRGB"
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="filter3941">
|
||||||
|
<feGaussianBlur
|
||||||
|
inkscape:collect="always"
|
||||||
|
stdDeviation="0.05617153"
|
||||||
|
id="feGaussianBlur3943" />
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="10.511069"
|
||||||
|
inkscape:cx="16.516904"
|
||||||
|
inkscape:cy="36.797954"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1441"
|
||||||
|
inkscape:window-height="789"
|
||||||
|
inkscape:window-x="384"
|
||||||
|
inkscape:window-y="19"
|
||||||
|
inkscape:window-maximized="0">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid3940"
|
||||||
|
empspacing="5"
|
||||||
|
visible="true"
|
||||||
|
enabled="true"
|
||||||
|
snapvisiblegridlinesonly="true" />
|
||||||
|
</sodipodi:namedview>
|
||||||
<metadata
|
<metadata
|
||||||
id="metadata249">
|
id="metadata7">
|
||||||
<rdf:RDF>
|
<rdf:RDF>
|
||||||
<cc:Work
|
<cc:Work
|
||||||
rdf:about="">
|
rdf:about="">
|
||||||
<dc:format>image/svg+xml</dc:format>
|
<dc:format>image/svg+xml</dc:format>
|
||||||
<dc:type
|
<dc:type
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
<dc:title></dc:title>
|
<dc:title />
|
||||||
</cc:Work>
|
</cc:Work>
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
</metadata>
|
</metadata>
|
||||||
<sodipodi:namedview
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1600"
|
|
||||||
inkscape:window-height="849"
|
|
||||||
id="namedview247"
|
|
||||||
showgrid="true"
|
|
||||||
inkscape:snap-grids="false"
|
|
||||||
inkscape:snap-to-guides="false"
|
|
||||||
inkscape:zoom="19.416417"
|
|
||||||
inkscape:cx="8.3256187"
|
|
||||||
inkscape:cy="15.933751"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="29"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="svg2">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid3230"
|
|
||||||
empspacing="5"
|
|
||||||
visible="true"
|
|
||||||
enabled="true"
|
|
||||||
snapvisiblegridlinesonly="true" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<defs
|
|
||||||
id="defs4">
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient7612">
|
|
||||||
<stop
|
|
||||||
id="stop7614"
|
|
||||||
style="stop-color:black;stop-opacity:1"
|
|
||||||
offset="0" />
|
|
||||||
<stop
|
|
||||||
id="stop7616"
|
|
||||||
style="stop-color:black;stop-opacity:0"
|
|
||||||
offset="1" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient8589">
|
|
||||||
<stop
|
|
||||||
id="stop8591"
|
|
||||||
style="stop-color:#fefefe;stop-opacity:1"
|
|
||||||
offset="0" />
|
|
||||||
<stop
|
|
||||||
id="stop8593"
|
|
||||||
style="stop-color:#bebebe;stop-opacity:1"
|
|
||||||
offset="1" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient4559">
|
|
||||||
<stop
|
|
||||||
id="stop4561"
|
|
||||||
style="stop-color:silver;stop-opacity:1"
|
|
||||||
offset="0" />
|
|
||||||
<stop
|
|
||||||
id="stop4563"
|
|
||||||
style="stop-color:#949492;stop-opacity:1"
|
|
||||||
offset="1" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient6866">
|
|
||||||
<stop
|
|
||||||
id="stop6868"
|
|
||||||
style="stop-color:#828282;stop-opacity:1"
|
|
||||||
offset="0" />
|
|
||||||
<stop
|
|
||||||
id="stop6870"
|
|
||||||
style="stop-color:#aaa;stop-opacity:1"
|
|
||||||
offset="1" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient6842">
|
|
||||||
<stop
|
|
||||||
id="stop6844"
|
|
||||||
style="stop-color:white;stop-opacity:1"
|
|
||||||
offset="0" />
|
|
||||||
<stop
|
|
||||||
id="stop6846"
|
|
||||||
style="stop-color:white;stop-opacity:0"
|
|
||||||
offset="1" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient6828">
|
|
||||||
<stop
|
|
||||||
id="stop6830"
|
|
||||||
style="stop-color:#6e6e6e;stop-opacity:1"
|
|
||||||
offset="0" />
|
|
||||||
<stop
|
|
||||||
id="stop6832"
|
|
||||||
style="stop-color:#1e1e1e;stop-opacity:1"
|
|
||||||
offset="1" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient2366">
|
|
||||||
<stop
|
|
||||||
id="stop2368"
|
|
||||||
style="stop-color:#2e3436;stop-opacity:1"
|
|
||||||
offset="0" />
|
|
||||||
<stop
|
|
||||||
id="stop2370"
|
|
||||||
style="stop-color:#555753;stop-opacity:1"
|
|
||||||
offset="1" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient2463">
|
|
||||||
<stop
|
|
||||||
id="stop2465"
|
|
||||||
style="stop-color:white;stop-opacity:1"
|
|
||||||
offset="0" />
|
|
||||||
<stop
|
|
||||||
id="stop2467"
|
|
||||||
style="stop-color:white;stop-opacity:0"
|
|
||||||
offset="1" />
|
|
||||||
</linearGradient>
|
|
||||||
<radialGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient2463"
|
|
||||||
id="radialGradient3363"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.34597801,-0.00249102,0.00146451,0.18254759,3.4976504,10.233464)"
|
|
||||||
cx="11.537243"
|
|
||||||
cy="15.279687"
|
|
||||||
fx="11.537243"
|
|
||||||
fy="15.279687"
|
|
||||||
r="13" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient6828"
|
|
||||||
id="linearGradient3366"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.48487278,0,0,0.45905421,1.3755554,1.6651282)"
|
|
||||||
x1="21.919418"
|
|
||||||
y1="21"
|
|
||||||
x2="22.007805"
|
|
||||||
y2="33" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient2366"
|
|
||||||
id="linearGradient3368"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.48487278,0,0,0.45905421,1.3755554,1.6651282)"
|
|
||||||
x1="15.600636"
|
|
||||||
y1="33"
|
|
||||||
x2="15.335471"
|
|
||||||
y2="21" />
|
|
||||||
<radialGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient6842"
|
|
||||||
id="radialGradient3371"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.46478332,0.00764214,-0.00586981,0.27402266,1.926003,10.140931)"
|
|
||||||
cx="3.7590685"
|
|
||||||
cy="11.918329"
|
|
||||||
fx="3.7590685"
|
|
||||||
fy="11.918329"
|
|
||||||
r="21" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient8589"
|
|
||||||
id="linearGradient3374"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.48929015,0,0,0.50164024,1.2695365,1.2507085)"
|
|
||||||
x1="11.519291"
|
|
||||||
y1="20"
|
|
||||||
x2="11.50602"
|
|
||||||
y2="37" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient6866"
|
|
||||||
id="linearGradient3376"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.48929015,0,0,0.50164024,1.2695366,1.2507185)"
|
|
||||||
x1="20.561552"
|
|
||||||
y1="36.999981"
|
|
||||||
x2="20.278992"
|
|
||||||
y2="19.999981" />
|
|
||||||
<radialGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient7612"
|
|
||||||
id="radialGradient3384"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.62941178,0,0,0.16148867,-2.0933823,14.074183)"
|
|
||||||
cx="24"
|
|
||||||
cy="41.875"
|
|
||||||
fx="24"
|
|
||||||
fy="41.875"
|
|
||||||
r="19.125" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient8589"
|
|
||||||
id="linearGradient3386"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.3707081,0,0,0.3548465,-0.8566575,-0.04895116)"
|
|
||||||
x1="32.892288"
|
|
||||||
y1="8.0590115"
|
|
||||||
x2="36.358372"
|
|
||||||
y2="5.4565363" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient4559"
|
|
||||||
id="linearGradient3388"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.6844293,0,0,0.6820072,-0.2131519,0.1569169)"
|
|
||||||
x1="17.288921"
|
|
||||||
y1="2.184907"
|
|
||||||
x2="15.179585"
|
|
||||||
y2="5.8214641" />
|
|
||||||
</defs>
|
|
||||||
<path
|
|
||||||
style="opacity:0.7;fill:url(#radialGradient3384);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible"
|
|
||||||
id="path3087"
|
|
||||||
d="m 25.05,20.836527 c 0,1.705716 -5.389372,3.088473 -12.0375,3.088473 -6.6481279,0 -12.03749995,-1.382757 -12.03749995,-3.088473 0,-1.705717 5.38937205,-3.088474 12.03749995,-3.088474 6.648128,0 12.0375,1.382757 12.0375,3.088474 l 0,0 z"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<rect
|
|
||||||
style="fill:#505050;fill-opacity:1;stroke:#3c3d3a;stroke-width:0.97643673;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
|
||||||
id="rect2315"
|
|
||||||
y="6.3444996"
|
|
||||||
x="5.4891047"
|
|
||||||
ry="0.34386581"
|
|
||||||
rx="0.29248512"
|
|
||||||
height="10.453215"
|
|
||||||
width="15.046791" />
|
|
||||||
<g
|
<g
|
||||||
|
inkscape:label="Calque 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
id="layer1"
|
id="layer1"
|
||||||
transform="matrix(1.003125,0,0,0.95029949,4.9875,2.0681112)">
|
transform="translate(0,-988.36218)">
|
||||||
<path
|
<path
|
||||||
style="fill:#f4f4f4;fill-opacity:1;stroke:#b5b6b2;stroke-width:0.9952535;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
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"
|
||||||
id="rect2594"
|
d="m 17.002107,1026.8886 11.090925,12.7083 -2.114472,-8.0173 z"
|
||||||
d="m 1.4976268,0.49762721 c 2.980045,0 4.9376418,0 7.9176887,0 0.522766,0.16184396 4.3536885,2.61362219 5.0870585,3.89029659 0,3.907463 0,7.2069842 0,11.1144502 -4.334914,0 -8.6698338,0 -13.0047472,0 0,-5.001584 0,-10.0031638 0,-15.00474679 z"
|
id="path3009"
|
||||||
inkscape:connector-curvature="0" />
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccc" />
|
||||||
<path
|
<path
|
||||||
style="fill:url(#linearGradient3386);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3388);stroke-width:0.9952535;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
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"
|
||||||
id="path12038"
|
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"
|
||||||
d="M 9.5,0.4979205 C 9.5,2.041279 9.5,4.5 9.5,4.5 c 0,0 4.080603,0 5.00208,0 0,-1.9018156 -3.00574,-4.0020795 -5.00208,-4.0020795 z"
|
id="path3784-1"
|
||||||
inkscape:connector-curvature="0" />
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#263450;fill-opacity:1;stroke:#31301f;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 4.8409543,1014.4098 6.8644757,0 0.326879,30.3113 1.413176,1.3935 3.354621,0.3087 0.0221,3.5389 -16.4997807,0 0,-3.5181 3.0475729,-0.2267 1.3075192,-1.4969 z"
|
||||||
|
id="path3784"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#94965a;fill-opacity:1;stroke:#31301f;stroke-width:3.14142156;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 1.5627572,998.69949 c -0.115116,15.76081 0,15.47331 0,15.59551 0,0.1222 60.9743798,0 60.9743798,0 l -0.115116,-15.83981 -2.370672,-2.56571 -55.4439697,-0.10732 z"
|
||||||
|
id="path3770"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="csccccc" />
|
||||||
|
<rect
|
||||||
|
style="opacity:0.86666667;fill:#000000;fill-opacity:1;stroke:#813333;stroke-width:0;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
id="rect3768"
|
||||||
|
width="48"
|
||||||
|
height="5.0951352"
|
||||||
|
x="8.0951376"
|
||||||
|
y="1002.2205" />
|
||||||
|
<path
|
||||||
|
style="fill:#ededed;fill-opacity:1;stroke:#2c2c2c;stroke-width:1.01575553;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 16,1004.3622 31.53081,0.4152 -0.0627,35.7326 -16.186945,-0.016 -2.602111,-1.0754 -1.766453,-2.1849 -0.866085,-2.6812 -0.04652,-3.1903 -4,-1 -2.440352,-1.3616 -2.413562,-2.2059 L 16,1023.3622 z"
|
||||||
|
id="path3772"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccccccccccc" />
|
||||||
|
<g
|
||||||
|
transform="matrix(0.80589226,0,0,0.73295435,21.519982,1009.0252)"
|
||||||
|
id="g3872">
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path2990"
|
||||||
|
d="M 5,2 5,24 21.5,13 z"
|
||||||
|
style="fill:#fafafa;fill-opacity:1;stroke:#800000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3760"
|
||||||
|
d="m 7.5,10.43551 4.5,0"
|
||||||
|
style="fill:#f0f0f0;fill-opacity:1;stroke:#800000;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<path
|
||||||
|
style="fill:#f0f0f0;fill-opacity:1;stroke:#800000;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 7.5,15.5 4.5,0"
|
||||||
|
id="path3762"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3766"
|
||||||
|
d="M 21.5,13 25,13"
|
||||||
|
style="fill:#f0f0f0;fill-opacity:1;stroke:#800000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3768"
|
||||||
|
d="M 5,9 1,9"
|
||||||
|
style="fill:#f0f0f0;fill-opacity:1;stroke:#800000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3770-7"
|
||||||
|
d="M 5,17 1,17"
|
||||||
|
style="fill:#f0f0f0;fill-opacity:1;stroke:#800000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<path
|
||||||
|
style="opacity:0.75;fill:none;stroke:#800000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter3945)"
|
||||||
|
d="M 12.265694,2.5 23.5,13.734306"
|
||||||
|
id="path3767"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3813"
|
||||||
|
d="m 9.6628978,13.25 0,4.5"
|
||||||
|
style="fill:#f0f0f0;fill-opacity:1;stroke:#800000;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="cc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3769"
|
||||||
|
d="M 23.5,2.5 12.265694,13.734306"
|
||||||
|
style="opacity:0.75;fill:none;stroke:#800000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter3941)" />
|
||||||
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<path
|
|
||||||
style="fill:#505050;fill-opacity:1;stroke:#3c3d3a;stroke-width:0.97607064;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
|
||||||
id="rect6333"
|
|
||||||
d="m 3.4902373,19.648515 c 0.0372,0.492312 -0.096322,1.022083 0.1178052,1.478207 0.4016867,0.578915 1.2882102,0.388557 1.88102,0.421686 0.010697,0.341741 0.043493,0.869308 0.5015625,0.942 4.838952,0.01854 9.204246,0.0027 14.04375,0.008 0.499416,0.01509 0.517708,-0.551924 0.501563,-0.911739 0.163104,-0.08864 0.62666,-0.01312 0.851906,-0.0382 0.557337,0.07746 1.238803,-0.313401 1.145931,-0.963311 0,-0.312193 0,-0.62439 0,-0.936581 -6.347846,0 -12.6956916,0 -19.0435377,0 z"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<path
|
|
||||||
style="fill:url(#linearGradient3374);fill-opacity:1;stroke:url(#linearGradient3376);stroke-width:1.0025059;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
|
||||||
id="rect2313"
|
|
||||||
d="m 3.5099795,11.534333 19.0050395,0 c 0.563539,0 1.017219,0.465131 1.017219,1.042893 l 0,6.98335 -21.0394761,0 0,-6.98335 c 0,-0.577762 0.4536792,-1.042893 1.0172176,-1.042893 z"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<path
|
|
||||||
style="opacity:0.9;fill:none;stroke:url(#radialGradient3371);stroke-width:0.97626287;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
|
||||||
id="rect2374"
|
|
||||||
d="m 3.94763,12.996511 18.129739,0 c 0.24118,0 0.464866,0.195974 0.464866,0.407279 l 0,5.294608 -19.0594698,0 0,-5.294608 c 0,-0.211305 0.223685,-0.407279 0.4648648,-0.407279 z"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<rect
|
|
||||||
style="fill:url(#linearGradient3366);fill-opacity:1;stroke:url(#linearGradient3368);stroke-width:0.94357365;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
|
||||||
id="rect2319"
|
|
||||||
y="11.534793"
|
|
||||||
x="6.4667187"
|
|
||||||
height="5.0495954"
|
|
||||||
width="13.091562" />
|
|
||||||
<rect
|
|
||||||
style="opacity:0.3;fill:none;stroke:url(#radialGradient3363);stroke-width:0.97617936;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
|
||||||
id="rect2459"
|
|
||||||
y="12.996471"
|
|
||||||
x="7.4952221"
|
|
||||||
height="2.8510695"
|
|
||||||
width="11.034554" />
|
|
||||||
<path
|
|
||||||
style="fill:#4de304;fill-opacity:1;stroke:none"
|
|
||||||
id="path2764"
|
|
||||||
d="m 22.794417,17.581559 c 5.67e-4,0.646248 -0.523919,1.170436 -1.171098,1.170436 -0.647182,0 -1.171667,-0.524188 -1.171099,-1.170436 -5.68e-4,-0.646251 0.523917,-1.170439 1.171099,-1.170439 0.647179,0 1.171665,0.524188 1.171098,1.170439 l 0,0 z"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<path
|
|
||||||
style="fill:#e6e6e6;fill-opacity:1;stroke:none"
|
|
||||||
id="rect6331"
|
|
||||||
d="m 20.034375,20.123802 0,1.663024 c 0,0.131617 -0.09787,0.237575 -0.219434,0.237575 l -13.6048824,0 c -0.1215662,0 -0.2194336,-0.105958 -0.2194336,-0.237575 l 0,-1.663024 14.04375,0 z"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<rect
|
|
||||||
style="fill:#323232;fill-opacity:1;stroke:none"
|
|
||||||
id="rect6329"
|
|
||||||
y="20.123802"
|
|
||||||
x="6.9937501"
|
|
||||||
height="0.95029944"
|
|
||||||
width="12.0375" />
|
|
||||||
<g
|
|
||||||
transform="scale(0.84648552,1.1813551)"
|
|
||||||
style="font-size:19.81988144px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#183f51;fill-opacity:1;stroke:#fdf8f1;stroke-width:1.06046307;stroke-miterlimit:4;stroke-opacity:1;font-family:Sans"
|
|
||||||
id="text3097">
|
|
||||||
<path
|
|
||||||
d="m 0.62596119,0.43464328 6.18403531,0 c 1.8387487,1.445e-5 3.2484625,0.40970234 4.2291445,1.22906492 0.98711,0.8129372 1.480671,1.9742572 1.480685,3.4839635 -1.4e-5,1.5161776 -0.493575,2.6839494 -1.480685,3.5033189 -0.980682,0.8129303 -2.3903958,1.2193923 -4.2291445,1.2193872 l -2.4581299,0 0,5.0130362 -3.72590541,0 0,-14.44877072 M 4.3518666,3.134715 l 0,4.0355911 2.0613451,0 C 7.1358032,7.1703138 7.693882,6.9961158 8.0874498,6.6477116 8.4809989,6.292872 8.6777782,5.7928592 8.677788,5.1476717 8.6777782,4.5025037 8.4809989,4.0057168 8.0874498,3.6573095 7.693882,3.3089248 7.1358032,3.1347268 6.4132117,3.134715 l -2.0613451,0"
|
|
||||||
style="font-weight:bold;fill:#515450;stroke:#fdf8f1;-inkscape-font-specification:Sans Bold;fill-opacity:1"
|
|
||||||
id="path3032" />
|
|
||||||
</g>
|
|
||||||
<path
|
|
||||||
sodipodi:type="arc"
|
|
||||||
style="fill:#fdf8f1;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
|
||||||
id="path3030"
|
|
||||||
sodipodi:cx="5.7425632"
|
|
||||||
sodipodi:cy="6.0684133"
|
|
||||||
sodipodi:rx="1.6738412"
|
|
||||||
sodipodi:ry="2.2146208"
|
|
||||||
d="m 7.4164045,6.0684133 a 1.6738412,2.2146208 0 1 1 -3.3476825,0 1.6738412,2.2146208 0 1 1 3.3476825,0 z"
|
|
||||||
transform="matrix(1.1846154,0,0,1,-1.5236908,-0.10300562)" />
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 7.7 KiB |
|
@ -319,9 +319,9 @@ void DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties()
|
||||||
m_CostRot180Ctrl->SetValue( m_CurrentModule->GetPlacementCost180() );
|
m_CostRot180Ctrl->SetValue( m_CurrentModule->GetPlacementCost180() );
|
||||||
|
|
||||||
// Initialize 3D parameters
|
// Initialize 3D parameters
|
||||||
m_3D_Scale = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeScale );
|
m_3D_Scale = new S3DPOINT_VALUE_CTRL( m_Panel3D, m_bSizerShapeScale );
|
||||||
m_3D_Offset = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeOffset );
|
m_3D_Offset = new S3DPOINT_VALUE_CTRL( m_Panel3D, m_bSizerShapeOffset );
|
||||||
m_3D_Rotation = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeRotation );
|
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 is not empty, preselect first 3D shape
|
||||||
if( m_3D_ShapeNameListBox->GetCount() > 0 )
|
if( m_3D_ShapeNameListBox->GetCount() > 0 )
|
||||||
|
@ -352,8 +352,7 @@ void DIALOG_MODULE_BOARD_EDITOR::Transfert3DValuesToDisplay(
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
S3D_VERTEX dummy_vertex;
|
S3DPOINT dummy_vertex( 1.0, 1.0, 1.0 );
|
||||||
dummy_vertex.x = dummy_vertex.y = dummy_vertex.z = 1.0;
|
|
||||||
m_3D_Scale->SetValue( dummy_vertex );
|
m_3D_Scale->SetValue( dummy_vertex );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,9 +20,9 @@ private:
|
||||||
TEXTE_MODULE* m_ValueCopy;
|
TEXTE_MODULE* m_ValueCopy;
|
||||||
std::vector <S3D_MASTER*> m_Shapes3D_list;
|
std::vector <S3D_MASTER*> m_Shapes3D_list;
|
||||||
int m_LastSelected3DShapeIndex;
|
int m_LastSelected3DShapeIndex;
|
||||||
VERTEX_VALUE_CTRL * m_3D_Scale;
|
S3DPOINT_VALUE_CTRL * m_3D_Scale;
|
||||||
VERTEX_VALUE_CTRL * m_3D_Offset;
|
S3DPOINT_VALUE_CTRL * m_3D_Offset;
|
||||||
VERTEX_VALUE_CTRL * m_3D_Rotation;
|
S3DPOINT_VALUE_CTRL * m_3D_Rotation;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -161,9 +161,9 @@ void DIALOG_MODULE_MODULE_EDITOR::initModeditProperties()
|
||||||
m_CostRot180Ctrl->SetValue( m_currentModule->GetPlacementCost180() );
|
m_CostRot180Ctrl->SetValue( m_currentModule->GetPlacementCost180() );
|
||||||
|
|
||||||
// Initialize 3D parameters
|
// Initialize 3D parameters
|
||||||
m_3D_Scale = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeScale );
|
m_3D_Scale = new S3DPOINT_VALUE_CTRL( m_Panel3D, m_bSizerShapeScale );
|
||||||
m_3D_Offset = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeOffset );
|
m_3D_Offset = new S3DPOINT_VALUE_CTRL( m_Panel3D, m_bSizerShapeOffset );
|
||||||
m_3D_Rotation = new VERTEX_VALUE_CTRL( m_Panel3D, m_bSizerShapeRotation );
|
m_3D_Rotation = new S3DPOINT_VALUE_CTRL( m_Panel3D, m_bSizerShapeRotation );
|
||||||
|
|
||||||
// Initialize dialog relative to masks clearances
|
// Initialize dialog relative to masks clearances
|
||||||
m_NetClearanceUnits->SetLabel( GetAbbreviatedUnitsLabel( g_UserUnit ) );
|
m_NetClearanceUnits->SetLabel( GetAbbreviatedUnitsLabel( g_UserUnit ) );
|
||||||
|
@ -222,8 +222,7 @@ void DIALOG_MODULE_MODULE_EDITOR::Transfert3DValuesToDisplay( S3D_MASTER * aStru
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
S3D_VERTEX dummy_vertex;
|
S3DPOINT dummy_vertex( 1.0, 1.0, 1.0 );
|
||||||
dummy_vertex.x = dummy_vertex.y = dummy_vertex.z = 1.0;
|
|
||||||
m_3D_Scale->SetValue( dummy_vertex );
|
m_3D_Scale->SetValue( dummy_vertex );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,9 +23,9 @@ private:
|
||||||
TEXTE_MODULE* m_valueCopy;
|
TEXTE_MODULE* m_valueCopy;
|
||||||
std::vector <S3D_MASTER*> m_shapes3D_list;
|
std::vector <S3D_MASTER*> m_shapes3D_list;
|
||||||
int m_lastSelected3DShapeIndex;
|
int m_lastSelected3DShapeIndex;
|
||||||
VERTEX_VALUE_CTRL * m_3D_Scale;
|
S3DPOINT_VALUE_CTRL * m_3D_Scale;
|
||||||
VERTEX_VALUE_CTRL * m_3D_Offset;
|
S3DPOINT_VALUE_CTRL * m_3D_Offset;
|
||||||
VERTEX_VALUE_CTRL * m_3D_Rotation;
|
S3DPOINT_VALUE_CTRL * m_3D_Rotation;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -1936,7 +1936,7 @@ void LEGACY_PLUGIN::load3D( MODULE* aModule )
|
||||||
|
|
||||||
else if( TESTLINE( "Sc" ) ) // Scale
|
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.x,
|
||||||
&t3D->m_MatScale.y,
|
&t3D->m_MatScale.y,
|
||||||
&t3D->m_MatScale.z );
|
&t3D->m_MatScale.z );
|
||||||
|
@ -1944,7 +1944,7 @@ void LEGACY_PLUGIN::load3D( MODULE* aModule )
|
||||||
|
|
||||||
else if( TESTLINE( "Of" ) ) // Offset
|
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.x,
|
||||||
&t3D->m_MatPosition.y,
|
&t3D->m_MatPosition.y,
|
||||||
&t3D->m_MatPosition.z );
|
&t3D->m_MatPosition.z );
|
||||||
|
@ -1952,7 +1952,7 @@ void LEGACY_PLUGIN::load3D( MODULE* aModule )
|
||||||
|
|
||||||
else if( TESTLINE( "Ro" ) ) // Rotation
|
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.x,
|
||||||
&t3D->m_MatRotation.y,
|
&t3D->m_MatRotation.y,
|
||||||
&t3D->m_MatRotation.z );
|
&t3D->m_MatRotation.z );
|
||||||
|
|
Loading…
Reference in New Issue