/* * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2015 Cirilo Bernardo * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, you may find one here: * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * or you may search the http://www.gnu.org website for the version 2 license, * or you may write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include #include "plugins/3d/3d_plugin.h" #define PLUGIN_3D_DEMO1_MAJOR 1 #define PLUGIN_3D_DEMO1_MINOR 0 #define PLUGIN_3D_DEMO1_PATCH 0 #define PLUGIN_3D_DEMO1_REVNO 0 const char* GetKicadPluginName( void ) { return "PLUGIN_3D_DEMO1"; } void GetPluginVersion( unsigned char* Major, unsigned char* Minor, unsigned char* Patch, unsigned char* Revision ) { if( Major ) *Major = PLUGIN_3D_DEMO1_MAJOR; if( Minor ) *Minor = PLUGIN_3D_DEMO1_MINOR; if( Patch ) *Patch = PLUGIN_3D_DEMO1_PATCH; if( Revision ) *Revision = PLUGIN_3D_DEMO1_REVNO; return; } // number of extensions supported #ifdef _WIN32 #define NEXTS 7 #else #define NEXTS 14 #endif // number of filter sets supported #define NFILS 5 static char ext0[] = "wrl"; static char ext1[] = "x3d"; static char ext2[] = "emn"; static char ext3[] = "iges"; static char ext4[] = "igs"; static char ext5[] = "stp"; static char ext6[] = "step"; #ifdef _WIN32 static char fil0[] = "VRML 1.0/2.0 (*.wrl)|*.wrl"; static char fil1[] = "X3D (*.x3d)|*.x3d"; static char fil2[] = "IDF 2.0/3.0 (*.emn)|*.emn"; static char fil3[] = "IGESv5.3 (*.igs;*.iges)|*.igs;*.iges"; static char fil4[] = "STEP (*.stp;*.step)|*.stp;*.step"; #else static char ext7[] = "WRL"; static char ext8[] = "X3D"; static char ext9[] = "EMN"; static char ext10[] = "IGES"; static char ext11[] = "IGS"; static char ext12[] = "STP"; static char ext13[] = "STEP"; static char fil0[] = "VRML 1.0/2.0 (*.wrl;*.WRL)|*.wrl;*.WRL"; static char fil1[] = "X3D (*.x3d;*.X3D)|*.x3d;*.X3D"; static char fil2[] = "IDF 2.0/3.0 (*.emn;*.EMN)|*.emn;*.EMN"; static char fil3[] = "IGESv5.3 (*.igs;*.iges;*.IGS;*.IGES)|*.igs;*.iges;*.IGS;*.IGES"; static char fil4[] = "STEP (*.stp;*.step;*.STP;*.STEP)|*.stp;*.step;*.STP;*.STEP"; #endif static struct FILE_DATA { char const* extensions[NEXTS]; char const* filters[NFILS]; FILE_DATA() { extensions[0] = ext0; extensions[1] = ext1; extensions[2] = ext2; extensions[3] = ext3; extensions[4] = ext4; extensions[5] = ext5; extensions[6] = ext6; filters[0] = fil0; filters[1] = fil1; filters[2] = fil2; filters[3] = fil3; filters[4] = fil4; #ifndef _WIN32 extensions[7] = ext7; extensions[8] = ext8; extensions[9] = ext9; extensions[10] = ext10; extensions[11] = ext11; extensions[12] = ext12; extensions[13] = ext13; #endif return; } } file_data; int GetNExtensions( void ) { return NEXTS; } char const* GetModelExtension( int aIndex ) { if( aIndex < 0 || aIndex >= NEXTS ) return NULL; return file_data.extensions[aIndex]; } int GetNFilters( void ) { return NFILS; } char const* GetFileFilter( int aIndex ) { if( aIndex < 0 || aIndex >= NFILS ) return NULL; return file_data.filters[aIndex]; } bool CanRender( void ) { // this dummy plugin does not support rendering of any models return false; } SCENEGRAPH* Load( char const* aFileName ) { // this dummy plugin does not support rendering of any models return NULL; }