Commit Graph

95 Commits

Author SHA1 Message Date
Cirilo Bernardo b09f079ab4 3D file name resolver improvements.
* Add a Help button and text to the 3D alias configuration dialog
* Display KISYS3DMOD and internally defined KiCad path env vars
* Add a button to bring up the "Configure Paths" (env vars) dialog
* Remove the file name mapping feature from the resolver; this results in
  the resolver always using the current definition rather than a possibly
  outdated cache value.
2016-06-12 18:46:00 -04:00
Mário Luzeiro f25d12f571 Footprint 3D properties dialog panel: fixes a bug on the offset of 3D Settings (Footprint) (the value range of the offset parameters were not set so it was not able to enter values <-10)
Also make some small layout changes on the orientation parameters in order to make it vertical smaller.
2016-06-09 14:27:58 +02:00
Cirilo Bernardo e0a7f0041a Better 3D filename resolution 2016-06-09 07:48:49 +02:00
jean-pierre charras f1c9f284fd Dialog 3D path config: fix incorrect grid cells sizes when opening the dialog, and incorrect min size dialog. 2016-05-28 11:33:20 +02:00
jean-pierre charras 3c0859686b Gerbview: fix a stupid mistake I made in rev 6829 (crash when reading a gbr file). 3d path config dialog: make it resizable. 2016-05-26 18:58:32 +02:00
Maciej Suminski da312db7a4 Fixed a wxWidgets assertion. Newer wxWidgets (3.1) display a message saying that horizontal alignment flags are ignored with wxEXPAND. 2016-05-02 15:56:12 +02:00
Cirilo Bernardo 6120472d60 3D file name resolver improvements.
* Paths defined via pcbnew->Preferences->Configure Paths are now included in
  the 3D file browser's drop-down list except for KICAD_PTEMPLATES, KIGITHUB,
  KISYSMOD, any paths resembling a URL, and any non-existent paths. When an
  absolute path is shortened using one of these path aliases, let's say
  'KISYS3DMOD' then the name appears in the pcb file as "${KISYS3DMOD}/blah.wrl".
  If a user defines and actual environment variable with the same name, then
  that user defined variable will have precedence over the internally defined
  variable.

* Paths relative to the current project directory are no longer represented
  as "some/path/to/file.wrl".  For compatibility with previous KiCad versions
  it shall always be stored as ${KIPRJMOD}/some/path/to/file.wrl.

* Various restrictions on alias path values have been removed since the
  imposed restrictions could result in corrupted user data as aliases are
  silently dropped.

* Overall the patch should improve back-compatibility by providing a ${ENV_VAR}
  mechanism for supporting different model root directories and ensuring that
  paths relative to KIPRJMOD are expressed in a way that is compatible with
  earlier KiCad versions. This allows users more flexibility and the ability
  to work in a way that ensures 3D model files can be correctly resolved in
  earlier versions of KiCad. Users who do not care about back-compatibility
  may prefer to use the newer alias system.
2016-04-17 18:35:32 -04:00
Cirilo Bernardo 973786d75d Fix 3D Coverity issue, other minor fixes
* CID 143740:  Null pointer dereferences  (NULL_RETURNS)
A few minor cut/paste and style issues in the 3D code are also fixed.
2016-04-07 18:54:14 -04:00
Cirilo Bernardo c2a60d14d7 3D: fix issues reported by Coverity scan
*** CID 143752:  Incorrect expression  (USELESS_CALL)
*** CID 143751:  Incorrect expression  (UNUSED_VALUE)
*** CID 143749:  Uninitialized members  (UNINIT_CTOR)
*** CID 143748:  Uninitialized members  (UNINIT_CTOR)
*** CID 143747:  Uninitialized members  (UNINIT_CTOR)
*** CID 143746:  Uninitialized members  (UNINIT_CTOR)
*** CID 143745:  Uninitialized members  (UNINIT_CTOR)
*** CID 143744:  Uninitialized members  (UNINIT_CTOR)
*** CID 143740:  Null pointer dereferences  (NULL_RETURNS)
*** CID 143739:  Memory - corruptions  (MISMATCHED_ITERATOR)
*** CID 143735:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)
*** CID 143734:  Error handling issues  (CHECKED_RETURN)
2016-04-06 21:41:52 -04:00
Cirilo Bernardo 80f8e74797 Make changes to GLM header includes as per suggestions by Mario Luzeiro 2016-03-21 18:39:25 +11:00
Mário Luzerio d4655020f9 Fix zoom issue on MSWin (wxCanvas requires focus) 2016-03-02 07:50:32 +11:00
Cirilo Bernardo 9195451e12 Switched SG* classes and plugin loader logging code from stderr to wxLogTrace 2016-02-23 17:46:22 +11:00
Cirilo Bernardo 68dde1f16f Fixed inappropriate model scale limitation in 3D Footprint Properties dialogs 2016-02-04 12:31:37 +11:00
Cirilo Bernardo bf3d2b252e Fixed VRML normals calculations 2016-02-03 11:44:48 +11:00
Cirilo Bernardo cd831d9a8a Removed include directives for wx/wx.h within 3D cache code 2016-01-28 17:12:41 +11:00
Cirilo Bernardo 1028535561 Small improvements to 3D file selector UI 2016-01-26 11:50:01 +11:00
Cirilo Bernardo cb8ccb5882 Small UI improvements 2016-01-25 16:59:45 +11:00
Cirilo Bernardo cc906ec12e Removed deprecated header 2016-01-25 15:58:24 +11:00
Cirilo Bernardo 3eca3fe75d Implemented new 3D file selector with preview 2016-01-25 15:55:36 +11:00
Cirilo Bernardo ff07ad3f05 Fixed bug: 3D model selector sets scale values to zero 2016-01-24 08:37:28 +11:00
Cirilo Bernardo 20f97f34c3 Temporarily disabled some 3D data transfer code due to cross-platform differences in wxFileDialog 2016-01-23 20:36:39 +11:00
Cirilo Bernardo 31af6d7dbc Fixed GUI issues related to setting scale/offset/rotation 2016-01-23 20:07:58 +11:00
Cirilo Bernardo fa37f233ef Added 'Change' button to 3D file selector to improve UI usability 2016-01-23 16:24:12 +11:00
Cirilo Bernardo 3a80de107d + Improved 3D file resolution behavior with respect to duplicated paths
+ Added versioning to the 3D search path configuration file
2016-01-20 08:36:26 +11:00
Cirilo Bernardo ec9acfd410 + Changed wxT macro from _T() to _()
+ Added hints to 3d_filename_resolver to help transition from
  legacy 3D model resolver behavior.
2016-01-19 11:05:40 +11:00
Cirilo Bernardo 625ce3cb69 Fix accidental application of filters to all cells of 3D search path GUI 2016-01-19 10:11:09 +11:00
Cirilo Bernardo 54940002f9 Implemented 3D search path configuration GUI 2016-01-18 19:53:35 +11:00
Cirilo Bernardo 7848b2a52e Implemented new 3D searchpath configurator 2016-01-18 16:59:06 +11:00
Cirilo Bernardo 9aeaf4a71b Prevent unresolved path expansions from appearing as blank entries in 3D path list 2016-01-18 08:34:21 +11:00
Cirilo Bernardo 2ed89c29d2 Work in progress: transition to new 3D name resolution with nicknames 2016-01-15 11:28:28 +11:00
Cirilo Bernardo 3a5110f74a Work in progress: checking debug output messages, internationalizing user info messages 2016-01-12 17:09:04 +11:00
Cirilo Bernardo c81a0d0f2f Moved data transfer from OnOK to TransferDataFromWindow() and removed all instances of OnOK and OnExit 2016-01-11 16:14:35 +11:00
Cirilo Bernardo c24c07962b Fixed bug in display of Footprint Properties rotation (text too long) 2016-01-08 18:53:45 +11:00
Cirilo Bernardo 979edc4f9f Improved VRML1 conformance to spec 2016-01-08 16:23:42 +11:00
Cirilo Bernardo e8593d177c Change 'class S3D_INFO' declarations to 'struct S3D_INFO' 2016-01-07 19:54:39 +11:00
Cirilo Bernardo 6b873ed46b Work in progress: implementing SG translation for VRML1 models 2016-01-06 15:34:14 +11:00
Cirilo Bernardo 97d4c33a9f Fixed preview pane resizing 2016-01-04 09:15:53 +11:00
Cirilo Bernardo eab70be17b Changed cache->Prepare() to cache->GetModel() 2015-12-17 09:21:30 +11:00
Cirilo Bernardo c0fcb15e3a + Rework S3D_CACHE::Prepare() to take only a filename and return
non-transformed S3DMODEL for rendering.
+ S3D_CACHE now caches S3DMODEL and returns a pointer to a single
  instance of the S3DMODEL for repeated calls to Prepare()
+ Beginning the VRML Plugin
2015-12-16 20:01:44 +11:00
Cirilo Bernardo b46451ec81 Introducing the IDF 3D plugin and reorganizing directories 2015-12-11 08:34:52 +11:00
Cirilo Bernardo 210416aca4 Attempting to improve the file selector path list combo box 2015-12-10 15:02:05 +11:00
Cirilo Bernardo ac3acb0061 Moving headers to facilitate support for building 3D plugins out-of-tree 2015-12-09 18:30:48 +11:00
Cirilo Bernardo a0597c4614 GUI improvements including interactive update of model orientation/position 2015-12-09 16:43:30 +11:00
Cirilo Bernardo 47f40def0c GUI improvements including control of panel sizes and resizing of GL canvas in preview 2015-12-09 10:38:25 +11:00
Mario Luzeiro 69cc788e8e + Removed glm source from kicad tree (Maciej / Cirilo)
+ Added renderer for 3D model preview (Mario)
+ Added 3d_cache including name resolver and modifications to 3D model dialogs (Cirilo)
2015-12-08 18:31:57 +11:00