KiCad PCB EDA Suite
KICAD_PLUGIN_LDR_3D Class Reference

#include <pluginldr3D.h>

Inheritance diagram for KICAD_PLUGIN_LDR_3D:
KICAD_PLUGIN_LDR

Public Member Functions

 KICAD_PLUGIN_LDR_3D ()
 
virtual ~KICAD_PLUGIN_LDR_3D ()
 
bool Open (const wxString &aFullFileName) override
 Function Open opens a plugin of the given class, performs version compatibility checks, and links all required functions. More...
 
void Close (void) override
 Function Close cleans up and closes/unloads the plugin. More...
 
void GetLoaderVersion (unsigned char *Major, unsigned char *Minor, unsigned char *Revision, unsigned char *Patch) const override
 Function GetLoaderVersion returns the version information of the Plugin Loader for plugin compatibility checking. More...
 
int GetNExtensions (void)
 
char const * GetModelExtension (int aIndex)
 
int GetNFilters (void)
 
char const * GetFileFilter (int aIndex)
 
bool CanRender (void)
 
SCENEGRAPHLoad (char const *aFileName)
 
std::string GetLastError (void) const
 Function GetLastError returns the value of the internal error string. More...
 
char const * GetKicadPluginClass (void)
 
bool GetClassVersion (unsigned char *Major, unsigned char *Minor, unsigned char *Patch, unsigned char *Revision)
 
bool CheckClassVersion (unsigned char Major, unsigned char Minor, unsigned char Patch, unsigned char Revision)
 
const char * GetKicadPluginName (void)
 
bool GetVersion (unsigned char *Major, unsigned char *Minor, unsigned char *Patch, unsigned char *Revision)
 
void GetPluginInfo (std::string &aPluginInfo)
 

Protected Member Functions

bool open (const wxString &aFullFileName, const char *aPluginClass)
 Function open opens a plugin of the specified class and links the extensions required by kicad_plugin. More...
 
void close (void)
 Function close nullifies internal pointers in preparation for closing the plugin. More...
 
bool reopen (void)
 Function reopen reopens a plugin and returns true on success. More...
 

Protected Attributes

std::string m_error
 
wxDynamicLibrary m_PluginLoader
 

Private Attributes

bool ok
 
PLUGIN_3D_GET_N_EXTENSIONS m_getNExtensions
 
PLUGIN_3D_GET_MODEL_EXTENSION m_getModelExtension
 
PLUGIN_3D_GET_N_FILTERS m_getNFilters
 
PLUGIN_3D_GET_FILE_FILTER m_getFileFilter
 
PLUGIN_3D_CAN_RENDER m_canRender
 
PLUGIN_3D_LOAD m_load
 

Detailed Description

Definition at line 51 of file pluginldr3D.h.

Constructor & Destructor Documentation

◆ KICAD_PLUGIN_LDR_3D()

KICAD_PLUGIN_LDR_3D::KICAD_PLUGIN_LDR_3D ( )

Definition at line 38 of file pluginldr3D.cpp.

39 {
40  ok = false;
45  m_canRender = NULL;
46  m_load = NULL;
47 
48  return;
49 }
PLUGIN_3D_CAN_RENDER m_canRender
Definition: pluginldr3D.h:59
PLUGIN_3D_GET_MODEL_EXTENSION m_getModelExtension
Definition: pluginldr3D.h:56
PLUGIN_3D_GET_N_EXTENSIONS m_getNExtensions
Definition: pluginldr3D.h:55
PLUGIN_3D_GET_N_FILTERS m_getNFilters
Definition: pluginldr3D.h:57
#define NULL
PLUGIN_3D_GET_FILE_FILTER m_getFileFilter
Definition: pluginldr3D.h:58
PLUGIN_3D_LOAD m_load
Definition: pluginldr3D.h:60

References m_canRender, m_getFileFilter, m_getModelExtension, m_getNExtensions, m_getNFilters, m_load, NULL, and ok.

◆ ~KICAD_PLUGIN_LDR_3D()

KICAD_PLUGIN_LDR_3D::~KICAD_PLUGIN_LDR_3D ( )
virtual

Definition at line 52 of file pluginldr3D.cpp.

53 {
54  Close();
55 
56  return;
57 }
void Close(void) override
Function Close cleans up and closes/unloads the plugin.

References Close().

Member Function Documentation

◆ CanRender()

bool KICAD_PLUGIN_LDR_3D::CanRender ( void  )

Definition at line 399 of file pluginldr3D.cpp.

400 {
401  m_error.clear();
402 
403  if( !ok && !reopen() )
404  {
405  if( m_error.empty() )
406  m_error = "[INFO] no open plugin / plugin could not be opened";
407 
408  return false;
409  }
410 
411  if( NULL == m_canRender )
412  {
413  m_error = "[BUG] CanRender is not linked";
414 
415  #ifdef DEBUG
416  std::ostringstream ostr;
417  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
418  ostr << " * " << m_error;
419  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
420  #endif
421 
422  return false;
423  }
424 
425  return m_canRender();
426 }
PLUGIN_3D_CAN_RENDER m_canRender
Definition: pluginldr3D.h:59
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
#define NULL
bool reopen(void)
Function reopen reopens a plugin and returns true on success.
Definition: pluginldr.cpp:298

References m_canRender, KICAD_PLUGIN_LDR::m_error, MASK_PLUGINLDR, NULL, ok, and KICAD_PLUGIN_LDR::reopen().

◆ CheckClassVersion()

bool KICAD_PLUGIN_LDR::CheckClassVersion ( unsigned char  Major,
unsigned char  Minor,
unsigned char  Patch,
unsigned char  Revision 
)
inherited

Definition at line 409 of file pluginldr.cpp.

411 {
412  m_error.clear();
413 
414  if( !ok && !reopen() )
415  {
416  if( m_error.empty() )
417  m_error = "[INFO] no open plugin / plugin could not be opened";
418 
419  return false;
420  }
421 
422  if( NULL == m_checkClassVersion )
423  {
424  m_error = "[BUG] CheckClassVersion is not linked";
425 
426  #ifdef DEBUG
427  std::ostringstream ostr;
428  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
429  ostr << " * " << m_error;
430  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
431  #endif
432 
433  return false;
434  }
435 
436  return m_checkClassVersion( Major, Minor, Patch, Revision );
437 }
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
#define NULL
bool reopen(void)
Function reopen reopens a plugin and returns true on success.
Definition: pluginldr.cpp:298
CHECK_CLASS_VERSION m_checkClassVersion
Definition: pluginldr.h:65

References KICAD_PLUGIN_LDR::m_checkClassVersion, KICAD_PLUGIN_LDR::m_error, MASK_PLUGINLDR, NULL, KICAD_PLUGIN_LDR::ok, and KICAD_PLUGIN_LDR::reopen().

◆ Close()

void KICAD_PLUGIN_LDR_3D::Close ( void  )
overridevirtual

Function Close cleans up and closes/unloads the plugin.

Implements KICAD_PLUGIN_LDR.

Definition at line 234 of file pluginldr3D.cpp.

235 {
236  #ifdef DEBUG
237  if( ok )
238  {
239  std::ostringstream ostr;
240  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
241  ostr << " * [INFO] closing plugin";
242  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
243  }
244  #endif
245 
246  ok = false;
251  m_canRender = NULL;
252  m_load = NULL;
253  close();
254 
255  return;
256 }
PLUGIN_3D_CAN_RENDER m_canRender
Definition: pluginldr3D.h:59
PLUGIN_3D_GET_MODEL_EXTENSION m_getModelExtension
Definition: pluginldr3D.h:56
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
PLUGIN_3D_GET_N_EXTENSIONS m_getNExtensions
Definition: pluginldr3D.h:55
PLUGIN_3D_GET_N_FILTERS m_getNFilters
Definition: pluginldr3D.h:57
#define NULL
PLUGIN_3D_GET_FILE_FILTER m_getFileFilter
Definition: pluginldr3D.h:58
void close(void)
Function close nullifies internal pointers in preparation for closing the plugin.
Definition: pluginldr.cpp:284
PLUGIN_3D_LOAD m_load
Definition: pluginldr3D.h:60

References KICAD_PLUGIN_LDR::close(), m_canRender, m_getFileFilter, m_getModelExtension, m_getNExtensions, m_getNFilters, m_load, MASK_PLUGINLDR, NULL, and ok.

Referenced by S3D_PLUGIN_MANAGER::loadPlugins(), Open(), and ~KICAD_PLUGIN_LDR_3D().

◆ close()

void KICAD_PLUGIN_LDR::close ( void  )
protectedinherited

Function close nullifies internal pointers in preparation for closing the plugin.

Definition at line 284 of file pluginldr.cpp.

285 {
286  ok = false;
291  m_getVersion = NULL;
292  m_PluginLoader.Unload();
293 
294  return;
295 }
wxDynamicLibrary m_PluginLoader
Definition: pluginldr.h:96
GET_CLASS_VERSION m_getClassVersion
Definition: pluginldr.h:64
GET_PLUGIN_CLASS m_getPluginClass
Definition: pluginldr.h:63
#define NULL
GET_VERSION m_getVersion
Definition: pluginldr.h:67
CHECK_CLASS_VERSION m_checkClassVersion
Definition: pluginldr.h:65
GET_PLUGIN_NAME m_getPluginName
Definition: pluginldr.h:66

References KICAD_PLUGIN_LDR::m_checkClassVersion, KICAD_PLUGIN_LDR::m_getClassVersion, KICAD_PLUGIN_LDR::m_getPluginClass, KICAD_PLUGIN_LDR::m_getPluginName, KICAD_PLUGIN_LDR::m_getVersion, KICAD_PLUGIN_LDR::m_PluginLoader, NULL, and KICAD_PLUGIN_LDR::ok.

Referenced by Close(), KICAD_PLUGIN_LDR::open(), and KICAD_PLUGIN_LDR::~KICAD_PLUGIN_LDR().

◆ GetClassVersion()

bool KICAD_PLUGIN_LDR::GetClassVersion ( unsigned char *  Major,
unsigned char *  Minor,
unsigned char *  Patch,
unsigned char *  Revision 
)
inherited

Definition at line 347 of file pluginldr.cpp.

349 {
350  m_error.clear();
351 
352  if( Major )
353  *Major = 0;
354 
355  if( Minor )
356  *Minor = 0;
357 
358  if( Patch )
359  *Patch = 0;
360 
361  if( Revision )
362  *Revision = 0;
363 
364  unsigned char major;
365  unsigned char minor;
366  unsigned char patch;
367  unsigned char revno;
368 
369  if( !ok && !reopen() )
370  {
371  if( m_error.empty() )
372  m_error = "[INFO] no open plugin / plugin could not be opened";
373 
374  return false;
375  }
376 
377  if( NULL == m_checkClassVersion )
378  {
379  m_error = "[BUG] CheckClassVersion is not linked";
380 
381  #ifdef DEBUG
382  std::ostringstream ostr;
383  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
384  ostr << " * " << m_error;
385  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
386  #endif
387 
388  return false;
389  }
390 
391  m_getClassVersion( &major, &minor, &patch, &revno );
392 
393  if( Major )
394  *Major = major;
395 
396  if( Minor )
397  *Minor = minor;
398 
399  if( Patch )
400  *Patch = patch;
401 
402  if( Revision )
403  *Revision = revno;
404 
405  return true;
406 }
GET_CLASS_VERSION m_getClassVersion
Definition: pluginldr.h:64
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
#define NULL
bool reopen(void)
Function reopen reopens a plugin and returns true on success.
Definition: pluginldr.cpp:298
CHECK_CLASS_VERSION m_checkClassVersion
Definition: pluginldr.h:65

References KICAD_PLUGIN_LDR::m_checkClassVersion, KICAD_PLUGIN_LDR::m_error, KICAD_PLUGIN_LDR::m_getClassVersion, MASK_PLUGINLDR, NULL, KICAD_PLUGIN_LDR::ok, and KICAD_PLUGIN_LDR::reopen().

◆ GetFileFilter()

char const * KICAD_PLUGIN_LDR_3D::GetFileFilter ( int  aIndex)

Definition at line 369 of file pluginldr3D.cpp.

370 {
371  m_error.clear();
372 
373  if( !ok && !reopen() )
374  {
375  if( m_error.empty() )
376  m_error = "[INFO] no open plugin / plugin could not be opened";
377 
378  return NULL;
379  }
380 
381  if( NULL == m_getFileFilter )
382  {
383  m_error = "[BUG] GetFileFilter is not linked";
384 
385  #ifdef DEBUG
386  std::ostringstream ostr;
387  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
388  ostr << " * " << m_error;
389  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
390  #endif
391 
392  return NULL;
393  }
394 
395  return m_getFileFilter( aIndex );
396 }
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
#define NULL
PLUGIN_3D_GET_FILE_FILTER m_getFileFilter
Definition: pluginldr3D.h:58
bool reopen(void)
Function reopen reopens a plugin and returns true on success.
Definition: pluginldr.cpp:298

References KICAD_PLUGIN_LDR::m_error, m_getFileFilter, MASK_PLUGINLDR, NULL, ok, and KICAD_PLUGIN_LDR::reopen().

Referenced by S3D_PLUGIN_MANAGER::loadPlugins().

◆ GetKicadPluginClass()

char const * KICAD_PLUGIN_LDR::GetKicadPluginClass ( void  )
inherited

Definition at line 317 of file pluginldr.cpp.

318 {
319  m_error.clear();
320 
321  if( !ok && !reopen() )
322  {
323  if( m_error.empty() )
324  m_error = "[INFO] no open plugin / plugin could not be opened";
325 
326  return NULL;
327  }
328 
329  if( NULL == m_getPluginClass )
330  {
331  m_error = "[BUG] GetPluginClass is not linked";
332 
333  #ifdef DEBUG
334  std::ostringstream ostr;
335  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
336  ostr << " * " << m_error;
337  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
338  #endif
339 
340  return NULL;
341  }
342 
343  return m_getPluginClass();
344 }
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
GET_PLUGIN_CLASS m_getPluginClass
Definition: pluginldr.h:63
#define NULL
bool reopen(void)
Function reopen reopens a plugin and returns true on success.
Definition: pluginldr.cpp:298

References KICAD_PLUGIN_LDR::m_error, KICAD_PLUGIN_LDR::m_getPluginClass, MASK_PLUGINLDR, NULL, KICAD_PLUGIN_LDR::ok, and KICAD_PLUGIN_LDR::reopen().

◆ GetKicadPluginName()

const char * KICAD_PLUGIN_LDR::GetKicadPluginName ( void  )
inherited

Definition at line 440 of file pluginldr.cpp.

441 {
442  m_error.clear();
443 
444  if( !ok && !reopen() )
445  {
446  if( m_error.empty() )
447  m_error = "[INFO] no open plugin / plugin could not be opened";
448 
449  return NULL;
450  }
451 
452  if( NULL == m_getPluginName )
453  {
454  m_error = "[BUG] GetKicadPluginName is not linked";
455 
456  #ifdef DEBUG
457  std::ostringstream ostr;
458  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
459  ostr << " * " << m_error;
460  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
461  #endif
462 
463  return NULL;
464  }
465 
466  return m_getPluginName();
467 }
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
#define NULL
bool reopen(void)
Function reopen reopens a plugin and returns true on success.
Definition: pluginldr.cpp:298
GET_PLUGIN_NAME m_getPluginName
Definition: pluginldr.h:66

References KICAD_PLUGIN_LDR::m_error, KICAD_PLUGIN_LDR::m_getPluginName, MASK_PLUGINLDR, NULL, KICAD_PLUGIN_LDR::ok, and KICAD_PLUGIN_LDR::reopen().

Referenced by KICAD_PLUGIN_LDR::open().

◆ GetLastError()

std::string KICAD_PLUGIN_LDR::GetLastError ( void  ) const
inherited

Function GetLastError returns the value of the internal error string.

Definition at line 311 of file pluginldr.cpp.

312 {
313  return m_error;
314 }
std::string m_error
Definition: pluginldr.h:73

References KICAD_PLUGIN_LDR::m_error.

◆ GetLoaderVersion()

void KICAD_PLUGIN_LDR_3D::GetLoaderVersion ( unsigned char *  Major,
unsigned char *  Minor,
unsigned char *  Patch,
unsigned char *  Revision 
) const
overridevirtual

Function GetLoaderVersion returns the version information of the Plugin Loader for plugin compatibility checking.

Implements KICAD_PLUGIN_LDR.

Definition at line 259 of file pluginldr3D.cpp.

261 {
262  if( Major )
263  *Major = PLUGIN_3D_MAJOR;
264 
265  if( Minor )
266  *Minor = PLUGIN_3D_MINOR;
267 
268  if( Patch )
269  *Patch = PLUGIN_3D_PATCH;
270 
271  if( Revision )
272  *Revision = PLUGIN_3D_REVISION;
273 
274  return;
275 }
#define PLUGIN_3D_REVISION
Definition: pluginldr3D.cpp:35
#define PLUGIN_3D_PATCH
Definition: pluginldr3D.cpp:34
#define PLUGIN_3D_MAJOR
Definition: pluginldr3D.cpp:32
#define PLUGIN_3D_MINOR
Definition: pluginldr3D.cpp:33

References PLUGIN_3D_MAJOR, PLUGIN_3D_MINOR, PLUGIN_3D_PATCH, and PLUGIN_3D_REVISION.

◆ GetModelExtension()

char const * KICAD_PLUGIN_LDR_3D::GetModelExtension ( int  aIndex)

Definition at line 309 of file pluginldr3D.cpp.

310 {
311  m_error.clear();
312 
313  if( !ok && !reopen() )
314  {
315  if( m_error.empty() )
316  m_error = "[INFO] no open plugin / plugin could not be opened";
317 
318  return NULL;
319  }
320 
321  if( NULL == m_getModelExtension )
322  {
323  m_error = "[BUG] GetModelExtension is not linked";
324 
325  #ifdef DEBUG
326  std::ostringstream ostr;
327  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
328  ostr << " * " << m_error;
329  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
330  #endif
331 
332  return NULL;
333  }
334 
335  return m_getModelExtension( aIndex );
336 }
PLUGIN_3D_GET_MODEL_EXTENSION m_getModelExtension
Definition: pluginldr3D.h:56
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
#define NULL
bool reopen(void)
Function reopen reopens a plugin and returns true on success.
Definition: pluginldr.cpp:298

References KICAD_PLUGIN_LDR::m_error, m_getModelExtension, MASK_PLUGINLDR, NULL, ok, and KICAD_PLUGIN_LDR::reopen().

Referenced by S3D_PLUGIN_MANAGER::addExtensionMap().

◆ GetNExtensions()

int KICAD_PLUGIN_LDR_3D::GetNExtensions ( void  )

Definition at line 279 of file pluginldr3D.cpp.

280 {
281  m_error.clear();
282 
283  if( !ok && !reopen() )
284  {
285  if( m_error.empty() )
286  m_error = "[INFO] no open plugin / plugin could not be opened";
287 
288  return 0;
289  }
290 
291  if( NULL == m_getNExtensions )
292  {
293  m_error = "[BUG] GetNExtensions is not linked";
294 
295  #ifdef DEBUG
296  std::ostringstream ostr;
297  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
298  ostr << " * " << m_error;
299  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
300  #endif
301 
302  return 0;
303  }
304 
305  return m_getNExtensions();
306 }
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
PLUGIN_3D_GET_N_EXTENSIONS m_getNExtensions
Definition: pluginldr3D.h:55
#define NULL
bool reopen(void)
Function reopen reopens a plugin and returns true on success.
Definition: pluginldr.cpp:298

References KICAD_PLUGIN_LDR::m_error, m_getNExtensions, MASK_PLUGINLDR, NULL, ok, and KICAD_PLUGIN_LDR::reopen().

Referenced by S3D_PLUGIN_MANAGER::addExtensionMap().

◆ GetNFilters()

int KICAD_PLUGIN_LDR_3D::GetNFilters ( void  )

Definition at line 339 of file pluginldr3D.cpp.

340 {
341  m_error.clear();
342 
343  if( !ok && !reopen() )
344  {
345  if( m_error.empty() )
346  m_error = "[INFO] no open plugin / plugin could not be opened";
347 
348  return 0;
349  }
350 
351  if( NULL == m_getNFilters )
352  {
353  m_error = "[BUG] GetNFilters is not linked";
354 
355  #ifdef DEBUG
356  std::ostringstream ostr;
357  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
358  ostr << " * " << m_error;
359  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
360  #endif
361 
362  return 0;
363  }
364 
365  return m_getNFilters();
366 }
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
PLUGIN_3D_GET_N_FILTERS m_getNFilters
Definition: pluginldr3D.h:57
#define NULL
bool reopen(void)
Function reopen reopens a plugin and returns true on success.
Definition: pluginldr.cpp:298

References KICAD_PLUGIN_LDR::m_error, m_getNFilters, MASK_PLUGINLDR, NULL, ok, and KICAD_PLUGIN_LDR::reopen().

Referenced by S3D_PLUGIN_MANAGER::loadPlugins().

◆ GetPluginInfo()

void KICAD_PLUGIN_LDR::GetPluginInfo ( std::string &  aPluginInfo)
inherited

Definition at line 503 of file pluginldr.cpp.

504 {
505  aPluginInfo = m_pluginInfo;
506 }
std::string m_pluginInfo
Definition: pluginldr.h:70

References KICAD_PLUGIN_LDR::m_pluginInfo.

◆ GetVersion()

bool KICAD_PLUGIN_LDR::GetVersion ( unsigned char *  Major,
unsigned char *  Minor,
unsigned char *  Patch,
unsigned char *  Revision 
)
inherited

Definition at line 470 of file pluginldr.cpp.

472 {
473  m_error.clear();
474 
475  if( !ok && !reopen() )
476  {
477  if( m_error.empty() )
478  m_error = "[INFO] no open plugin / plugin could not be opened";
479 
480  return false;
481  }
482 
483  if( NULL == m_getVersion )
484  {
485  m_error = "[BUG] GetKicadPluginName is not linked";
486 
487  #ifdef DEBUG
488  std::ostringstream ostr;
489  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
490  ostr << " * " << m_error;
491  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
492  #endif
493 
494  return false;
495  }
496 
497  m_getVersion( Major, Minor, Patch, Revision );
498 
499  return true;
500 }
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
#define NULL
bool reopen(void)
Function reopen reopens a plugin and returns true on success.
Definition: pluginldr.cpp:298
GET_VERSION m_getVersion
Definition: pluginldr.h:67

References KICAD_PLUGIN_LDR::m_error, KICAD_PLUGIN_LDR::m_getVersion, MASK_PLUGINLDR, NULL, KICAD_PLUGIN_LDR::ok, and KICAD_PLUGIN_LDR::reopen().

Referenced by KICAD_PLUGIN_LDR::open().

◆ Load()

SCENEGRAPH * KICAD_PLUGIN_LDR_3D::Load ( char const *  aFileName)

Definition at line 429 of file pluginldr3D.cpp.

430 {
431  m_error.clear();
432 
433  if( !ok && !reopen() )
434  {
435  if( m_error.empty() )
436  m_error = "[INFO] no open plugin / plugin could not be opened";
437 
438  return NULL;
439  }
440 
441  if( NULL == m_load )
442  {
443  m_error = "[BUG] Load is not linked";
444 
445  #ifdef DEBUG
446  std::ostringstream ostr;
447  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
448  ostr << " * " << m_error;
449  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
450  #endif
451 
452  return NULL;
453  }
454 
455  return m_load( aFileName );
456 }
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
#define NULL
bool reopen(void)
Function reopen reopens a plugin and returns true on success.
Definition: pluginldr.cpp:298
PLUGIN_3D_LOAD m_load
Definition: pluginldr3D.h:60

References KICAD_PLUGIN_LDR::m_error, m_load, MASK_PLUGINLDR, NULL, ok, and KICAD_PLUGIN_LDR::reopen().

◆ Open()

bool KICAD_PLUGIN_LDR_3D::Open ( const wxString &  aFullFileName)
overridevirtual

Function Open opens a plugin of the given class, performs version compatibility checks, and links all required functions.

Returns
true on success, otherwise false and a message may be accessible via GetLastError()

Implements KICAD_PLUGIN_LDR.

Definition at line 60 of file pluginldr3D.cpp.

61 {
62  m_error.clear();
63 
64  if( ok )
65  Close();
66 
67  if( !open( aFullFileName, PLUGIN_CLASS_3D ) )
68  {
69  if( m_error.empty() )
70  {
71  std::ostringstream ostr;
72  ostr << "Failed to open plugin '" << aFullFileName.ToUTF8() << "'";
73  m_error = ostr.str();
74  }
75 
76  #ifdef DEBUG
77  std::ostringstream ostr;
78  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
79  ostr << " * [INFO] failed on file " << aFullFileName.ToUTF8() << "\n";
80  ostr << " * [INFO] error: " << m_error;
81  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
82  #endif
83 
84  return false;
85  }
86 
87  // the version checks passed and the base KICAD_PLUGIN functions have been linked;
88  // now we link the remaining functions expected by PLUGIN_3D and confirm that the
89  // plugin is loaded
95  LINK_ITEM( m_load, PLUGIN_3D_LOAD, "Load" );
96 
97  #ifdef DEBUG
98  bool fail = false;
99 
100  if( !m_getNExtensions )
101  {
102  std::ostringstream ostr;
103  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
104  wxString errmsg = "incompatible plugin (missing function 'GetNExtensions')";
105  ostr << errmsg.ToUTF8() << "\n";
106  ostr << "'" << aFullFileName.ToUTF8() << "'";
107  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
108  fail = true;
109  }
110 
111  if( !m_getModelExtension )
112  {
113  if( !fail )
114  {
115  std::ostringstream ostr;
116  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
117  wxString errmsg = "incompatible plugin (missing function 'GetModelExtension')";
118  ostr << errmsg.ToUTF8() << "\n";
119  ostr << "'" << aFullFileName.ToUTF8() << "'";
120  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
121  fail = true;
122  }
123  else
124  {
125  std::ostringstream ostr;
126  wxString errmsg = "missing function 'GetModelExtension'";
127  ostr << errmsg.ToUTF8();
128  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
129  }
130  }
131 
132  if( !m_getNFilters )
133  {
134  if( !fail )
135  {
136  std::ostringstream ostr;
137  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
138  wxString errmsg = "incompatible plugin (missing function 'GetNFilters')";
139  ostr << errmsg.ToUTF8() << "\n";
140  ostr << "'" << aFullFileName.ToUTF8() << "'";
141  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
142  fail = true;
143  }
144  else
145  {
146  std::ostringstream ostr;
147  wxString errmsg = "missing function 'GetNFilters'";
148  ostr << errmsg.ToUTF8();
149  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
150  }
151  }
152 
153  if( !m_getFileFilter )
154  {
155  if( !fail )
156  {
157  std::ostringstream ostr;
158  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
159  wxString errmsg = "incompatible plugin (missing function 'GetFileFilter')";
160  ostr << errmsg.ToUTF8() << "\n";
161  ostr << "'" << aFullFileName.ToUTF8() << "'";
162  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
163  fail = true;
164  }
165  else
166  {
167  std::ostringstream ostr;
168  wxString errmsg = "missing function 'GetFileFilter'";
169  ostr << errmsg.ToUTF8();
170  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
171  }
172  }
173 
174  if( !m_canRender )
175  {
176  if( !fail )
177  {
178  std::ostringstream ostr;
179  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
180  wxString errmsg = "incompatible plugin (missing function 'CanRender')";
181  ostr << errmsg.ToUTF8() << "\n";
182  ostr << "'" << aFullFileName.ToUTF8() << "'";
183  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
184  fail = true;
185  }
186  else
187  {
188  std::ostringstream ostr;
189  wxString errmsg = "missing function 'CanRender'";
190  ostr << errmsg.ToUTF8();
191  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
192  }
193  }
194 
195  if( !m_load )
196  {
197  if( !fail )
198  {
199  std::ostringstream ostr;
200  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
201  wxString errmsg = "incompatible plugin (missing function 'Load')";
202  ostr << errmsg.ToUTF8() << "\n";
203  ostr << "'" << aFullFileName.ToUTF8() << "'";
204  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
205  }
206  else
207  {
208  std::ostringstream ostr;
209  wxString errmsg = "missing function 'Load'";
210  ostr << errmsg.ToUTF8();
211  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
212  }
213  }
214 
215  #endif
216 
218  || !m_getFileFilter || !m_canRender || !m_load )
219  {
220  Close();
221 
222  std::ostringstream ostr;
223  ostr << "Failed to open plugin '" << aFullFileName.ToUTF8() << "'; missing functions";
224  m_error = ostr.str();
225 
226  return false;
227  }
228 
229  ok = true;
230  return true;
231 }
PLUGIN_3D_CAN_RENDER m_canRender
Definition: pluginldr3D.h:59
bool(* PLUGIN_3D_CAN_RENDER)(void)
Definition: pluginldr3D.h:46
void Close(void) override
Function Close cleans up and closes/unloads the plugin.
PLUGIN_3D_GET_MODEL_EXTENSION m_getModelExtension
Definition: pluginldr3D.h:56
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
std::string m_error
Definition: pluginldr.h:73
PLUGIN_3D_GET_N_EXTENSIONS m_getNExtensions
Definition: pluginldr3D.h:55
char const *(* PLUGIN_3D_GET_MODEL_EXTENSION)(int aIndex)
Definition: pluginldr3D.h:40
bool open(const wxString &aFullFileName, const char *aPluginClass)
Function open opens a plugin of the specified class and links the extensions required by kicad_plugin...
Definition: pluginldr.cpp:54
PLUGIN_3D_GET_N_FILTERS m_getNFilters
Definition: pluginldr3D.h:57
PLUGIN_3D_GET_FILE_FILTER m_getFileFilter
Definition: pluginldr3D.h:58
#define PLUGIN_CLASS_3D
Definition: pluginldr3D.cpp:31
SCENEGRAPH *(* PLUGIN_3D_LOAD)(char const *aFileName)
Definition: pluginldr3D.h:48
int(* PLUGIN_3D_GET_N_EXTENSIONS)(void)
Definition: pluginldr3D.h:38
#define LINK_ITEM(funcPtr, funcType, funcName)
Definition: pluginldr.h:41
char const *(* PLUGIN_3D_GET_FILE_FILTER)(int aIndex)
Definition: pluginldr3D.h:44
int(* PLUGIN_3D_GET_N_FILTERS)(void)
Definition: pluginldr3D.h:42
PLUGIN_3D_LOAD m_load
Definition: pluginldr3D.h:60

References Close(), LINK_ITEM, m_canRender, KICAD_PLUGIN_LDR::m_error, m_getFileFilter, m_getModelExtension, m_getNExtensions, m_getNFilters, m_load, MASK_PLUGINLDR, ok, KICAD_PLUGIN_LDR::open(), and PLUGIN_CLASS_3D.

Referenced by S3D_PLUGIN_MANAGER::loadPlugins().

◆ open()

bool KICAD_PLUGIN_LDR::open ( const wxString &  aFullFileName,
const char *  aPluginClass 
)
protectedinherited

Function open opens a plugin of the specified class and links the extensions required by kicad_plugin.

Returns true on success otherwise false.

Definition at line 54 of file pluginldr.cpp.

55 {
56  m_error.clear();
57 
58  if( ok )
59  Close();
60 
61  if( aFullFileName.empty() )
62  return false;
63 
64  m_fileName.clear();
65 
66  m_PluginLoader.Load( aFullFileName, wxDL_LAZY );
67 
68  if( !m_PluginLoader.IsLoaded() )
69  {
70  #ifdef DEBUG
71  std::ostringstream ostr;
72  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
73  ostr << " * could not open file: '" << aFullFileName.ToUTF8() << "'";
74  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
75  #endif
76  return false;
77  }
78 
79  LINK_ITEM( m_getPluginClass, GET_PLUGIN_CLASS, "GetKicadPluginClass" );
80  LINK_ITEM( m_getClassVersion, GET_CLASS_VERSION, "GetClassVersion" );
81  LINK_ITEM( m_checkClassVersion, CHECK_CLASS_VERSION , "CheckClassVersion" );
82  LINK_ITEM( m_getPluginName, GET_PLUGIN_NAME, "GetKicadPluginName" );
83  LINK_ITEM( m_getVersion, GET_VERSION, "GetPluginVersion" );
84 
85  #ifdef DEBUG
86  bool fail = false;
87 
88  if( !m_getPluginClass )
89  {
90  std::ostringstream ostr;
91  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
92  wxString errmsg = "incompatible plugin (missing function 'GetKicadPluginClass')";
93  ostr << errmsg.ToUTF8() << "\n";
94  ostr << "'" << aFullFileName.ToUTF8() << "'";
95  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
96  fail = true;
97  }
98 
99  if( !m_getClassVersion )
100  {
101  if( !fail )
102  {
103  std::ostringstream ostr;
104  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
105  wxString errmsg = "incompatible plugin (missing function 'GetClassVersion')";
106  ostr << errmsg.ToUTF8() << "\n";
107  ostr << "'" << aFullFileName.ToUTF8() << "'";
108  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
109  fail = true;
110  }
111  else
112  {
113  std::ostringstream ostr;
114  wxString errmsg = "missing function 'GetClassVersion'";
115  ostr << errmsg.ToUTF8();
116  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
117  }
118  }
119 
120  if( !m_checkClassVersion )
121  {
122  if( !fail )
123  {
124  std::ostringstream ostr;
125  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
126  wxString errmsg = "incompatible plugin (missing function 'CheckClassVersion')";
127  ostr << errmsg.ToUTF8() << "\n";
128  ostr << "'" << aFullFileName.ToUTF8() << "'";
129  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
130  fail = true;
131  }
132  else
133  {
134  std::ostringstream ostr;
135  wxString errmsg = "missing function 'CheckClassVersion'";
136  ostr << errmsg.ToUTF8();
137  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
138  }
139  }
140 
141  if( !m_getPluginName )
142  {
143  if( !fail )
144  {
145  std::ostringstream ostr;
146  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
147  wxString errmsg = "incompatible plugin (missing function 'GetKicadPluginName')";
148  ostr << errmsg.ToUTF8() << "\n";
149  ostr << "'" << aFullFileName.ToUTF8() << "'";
150  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
151  fail = true;
152  }
153  else
154  {
155  std::ostringstream ostr;
156  wxString errmsg = "missing function 'GetKicadPluginName'";
157  ostr << errmsg.ToUTF8();
158  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
159  }
160  }
161 
162  if( !m_getVersion )
163  {
164  if( !fail )
165  {
166  std::ostringstream ostr;
167  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
168  wxString errmsg = "incompatible plugin (missing function 'GetVersion')";
169  ostr << errmsg.ToUTF8() << "\n";
170  ostr << "'" << aFullFileName.ToUTF8() << "'";
171  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
172  }
173  else
174  {
175  std::ostringstream ostr;
176  wxString errmsg = "missing function 'GetVersion'";
177  ostr << errmsg.ToUTF8() << "\n";
178  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
179  }
180  }
181 
182  #endif
183 
185  || !m_getPluginName || !m_getVersion )
186  {
187  m_error = "incompatible plugin interface (missing functions)";
188  close();
189  return false;
190  }
191 
192  // note: since 'ok' is not yet set at this point we must use the function
193  // pointers directly rather than invoking the functions exposed by this class
194 
195  // check that the Plugin Class matches
196  char const* pclassName = m_getPluginClass();
197 
198  if( !pclassName || strcmp( aPluginClass, pclassName ) )
199  {
200  m_error = "Loader type (";
201  m_error.append( aPluginClass );
202  m_error.append( ") does not match Plugin type (" );
203 
204  if( pclassName )
205  m_error.append( pclassName );
206  else
207  m_error.append( "NULL" );
208 
209  m_error.append( ")" );
210 
211  close();
212  return false;
213  }
214 
215  // perform a universally enforced version check (major number must match)
216  unsigned char lMajor;
217  unsigned char lMinor;
218  unsigned char lPatch;
219  unsigned char lRevno;
220  unsigned char pMajor;
221  unsigned char pMinor;
222  unsigned char pPatch;
223  unsigned char pRevno;
224 
225  m_getClassVersion( &pMajor, &pMinor, &pPatch, &pRevno );
226  GetLoaderVersion( &lMajor, &lMinor, &lPatch, &lRevno );
227 
228  // major version changes by definition are incompatible and
229  // that is enforced here.
230  if( pMajor != lMajor )
231  {
232  std::ostringstream ostr;
233  ostr << "Loader Major version (" << lMajor;
234  ostr << ") does not match Plugin Major version (" << pMajor << ")";
235 
236  m_error = ostr.str();
237  close();
238  return false;
239  }
240 
241  if( !m_checkClassVersion( lMajor, lMinor, lPatch, lRevno ) )
242  {
243  std::ostringstream ostr;
244  ostr << "Plugin Version (" << pMajor << "." << pMinor << "." << pPatch << "." << pRevno;
245  ostr << ") does not support Loader Version (" << pMajor << "." << pMinor;
246  ostr << "." << pPatch << "." << pRevno << ")";
247 
248  m_error = ostr.str();
249  close();
250  return false;
251  }
252 
253  m_fileName = aFullFileName;
254 
255  #ifdef DEBUG
256  do {
257  std::ostringstream ostr;
258  ostr << __FILE__ << ": " << __FUNCTION__ << ": " << __LINE__ << "\n";
259  ostr << " * [INFO] opened plugin " << m_fileName.ToUTF8();
260  char const* cp = m_getPluginName();
261 
262  if( NULL != cp )
263  ostr << " * [INFO] plugin name: '" << cp << "'\n";
264 
265  wxLogTrace( MASK_PLUGINLDR, "%s\n", ostr.str().c_str() );
266  } while( 0 );
267  #endif
268 
269  ok = true;
270 
271  // set the plugin info string
273  std::ostringstream ostr;
274  unsigned char r0, r1, r2, r3;
275  GetVersion( &r0, &r1, &r2, &r3 );
276  ostr << ":" << (unsigned int)r0 << "." << (unsigned int)r1;
277  ostr << "." << (unsigned int)r2 << "." << (unsigned int)r3;
278  m_pluginInfo.append( ostr.str() );
279 
280  return true;
281 }
virtual void GetLoaderVersion(unsigned char *Major, unsigned char *Minor, unsigned char *Patch, unsigned char *Revision) const =0
Function GetLoaderVersion returns the version information of the Plugin Loader for plugin compatibili...
const char * GetKicadPluginName(void)
Definition: pluginldr.cpp:440
wxDynamicLibrary m_PluginLoader
Definition: pluginldr.h:96
GET_CLASS_VERSION m_getClassVersion
Definition: pluginldr.h:64
char const *(* GET_PLUGIN_CLASS)(void)
Definition: pluginldr.h:45
#define MASK_PLUGINLDR
Definition: pluginldr.h:37
void(* GET_CLASS_VERSION)(unsigned char *, unsigned char *, unsigned char *, unsigned char *)
Definition: pluginldr.h:47
std::string m_error
Definition: pluginldr.h:73
bool GetVersion(unsigned char *Major, unsigned char *Minor, unsigned char *Patch, unsigned char *Revision)
Definition: pluginldr.cpp:470
wxString m_fileName
Definition: pluginldr.h:69
const char *(* GET_PLUGIN_NAME)(void)
Definition: pluginldr.h:53
GET_PLUGIN_CLASS m_getPluginClass
Definition: pluginldr.h:63
#define NULL
std::string m_pluginInfo
Definition: pluginldr.h:70
bool(* CHECK_CLASS_VERSION)(unsigned char, unsigned char, unsigned char, unsigned char)
Definition: pluginldr.h:50
GET_VERSION m_getVersion
Definition: pluginldr.h:67
void(* GET_VERSION)(unsigned char *, unsigned char *, unsigned char *, unsigned char *)
Definition: pluginldr.h:55
CHECK_CLASS_VERSION m_checkClassVersion
Definition: pluginldr.h:65
virtual void Close(void)=0
Function Close cleans up and closes/unloads the plugin.
void close(void)
Function close nullifies internal pointers in preparation for closing the plugin.
Definition: pluginldr.cpp:284
#define LINK_ITEM(funcPtr, funcType, funcName)
Definition: pluginldr.h:41
GET_PLUGIN_NAME m_getPluginName
Definition: pluginldr.h:66

References KICAD_PLUGIN_LDR::close(), KICAD_PLUGIN_LDR::Close(), KICAD_PLUGIN_LDR::GetKicadPluginName(), KICAD_PLUGIN_LDR::GetLoaderVersion(), KICAD_PLUGIN_LDR::GetVersion(), LINK_ITEM, KICAD_PLUGIN_LDR::m_checkClassVersion, KICAD_PLUGIN_LDR::m_error, KICAD_PLUGIN_LDR::m_fileName, KICAD_PLUGIN_LDR::m_getClassVersion, KICAD_PLUGIN_LDR::m_getPluginClass, KICAD_PLUGIN_LDR::m_getPluginName, KICAD_PLUGIN_LDR::m_getVersion, KICAD_PLUGIN_LDR::m_pluginInfo, KICAD_PLUGIN_LDR::m_PluginLoader, MASK_PLUGINLDR, NULL, and KICAD_PLUGIN_LDR::ok.

Referenced by Open().

◆ reopen()

bool KICAD_PLUGIN_LDR::reopen ( void  )
protectedinherited

Function reopen reopens a plugin and returns true on success.

Definition at line 298 of file pluginldr.cpp.

299 {
300  m_error.clear();
301 
302  if( m_fileName.empty() )
303  return false;
304 
305  wxString fname = m_fileName;
306 
307  return Open( fname );
308 }
std::string m_error
Definition: pluginldr.h:73
wxString m_fileName
Definition: pluginldr.h:69
virtual bool Open(const wxString &aFullFileName)=0
Function Open opens a plugin of the given class, performs version compatibility checks,...

References KICAD_PLUGIN_LDR::m_error, KICAD_PLUGIN_LDR::m_fileName, and KICAD_PLUGIN_LDR::Open().

Referenced by CanRender(), KICAD_PLUGIN_LDR::CheckClassVersion(), KICAD_PLUGIN_LDR::GetClassVersion(), GetFileFilter(), KICAD_PLUGIN_LDR::GetKicadPluginClass(), KICAD_PLUGIN_LDR::GetKicadPluginName(), GetModelExtension(), GetNExtensions(), GetNFilters(), KICAD_PLUGIN_LDR::GetVersion(), and Load().

Member Data Documentation

◆ m_canRender

PLUGIN_3D_CAN_RENDER KICAD_PLUGIN_LDR_3D::m_canRender
private

Definition at line 59 of file pluginldr3D.h.

Referenced by CanRender(), Close(), KICAD_PLUGIN_LDR_3D(), and Open().

◆ m_error

◆ m_getFileFilter

PLUGIN_3D_GET_FILE_FILTER KICAD_PLUGIN_LDR_3D::m_getFileFilter
private

Definition at line 58 of file pluginldr3D.h.

Referenced by Close(), GetFileFilter(), KICAD_PLUGIN_LDR_3D(), and Open().

◆ m_getModelExtension

PLUGIN_3D_GET_MODEL_EXTENSION KICAD_PLUGIN_LDR_3D::m_getModelExtension
private

Definition at line 56 of file pluginldr3D.h.

Referenced by Close(), GetModelExtension(), KICAD_PLUGIN_LDR_3D(), and Open().

◆ m_getNExtensions

PLUGIN_3D_GET_N_EXTENSIONS KICAD_PLUGIN_LDR_3D::m_getNExtensions
private

Definition at line 55 of file pluginldr3D.h.

Referenced by Close(), GetNExtensions(), KICAD_PLUGIN_LDR_3D(), and Open().

◆ m_getNFilters

PLUGIN_3D_GET_N_FILTERS KICAD_PLUGIN_LDR_3D::m_getNFilters
private

Definition at line 57 of file pluginldr3D.h.

Referenced by Close(), GetNFilters(), KICAD_PLUGIN_LDR_3D(), and Open().

◆ m_load

PLUGIN_3D_LOAD KICAD_PLUGIN_LDR_3D::m_load
private

Definition at line 60 of file pluginldr3D.h.

Referenced by Close(), KICAD_PLUGIN_LDR_3D(), Load(), and Open().

◆ m_PluginLoader

wxDynamicLibrary KICAD_PLUGIN_LDR::m_PluginLoader
protectedinherited

Definition at line 96 of file pluginldr.h.

Referenced by KICAD_PLUGIN_LDR::close(), and KICAD_PLUGIN_LDR::open().

◆ ok

bool KICAD_PLUGIN_LDR_3D::ok
private

The documentation for this class was generated from the following files: