← Back to team overview

kicad-developers team mailing list archive

Re: 3D refactor

 

Hi Cirilo,

I made all the needed changes to support the new 3d plugins on OS X and pushed them to
  lp:~stegmaier/kicad/3d_initial_merge

Most important part is in rev6530 and rev6536.
All other changes starting with rev6529 are cleanups, bugfixes and fixes for clang warnings I came across.
You might want to review them.

Everything seems to be fine so far, at least I can see previews in the various new dialogs.

Two very minor things I have seen:
(1) When the “Select 3D Model” dialog is opened, the Paths combobox shows a correct path - wherever it may come from, is it $KISYS3DMOD?
The path/file sector above shows some (random?) path.
If I click once on the Paths combobox, this path gets selected also in the path/file selector.
I guess there is just a small initialization on opening the dialog missing for both to be consistent from the beginning.
(2) I guess the path mentioned in (1) comes from $KISYS3DMOD. However, the “Configure Paths” shows just an empty table. If $KISYS3DMOD is implicitly used, shouldn’t it somehow also show up in that dialog? Maybe just to not confuse people and make it obvious that $KISYS3DMOD is also taken into account?


Regards,
Bernhard

> On 24.02.2016, at 22:34, Cirilo Bernardo <cirilo.bernardo@xxxxxxxxx> wrote:
> 
> Thanks Bernhard,
> 
>  I appreciate all your work sorting this out on OSX.
> 
> - Cirilo
> 
> On Thu, Feb 25, 2016 at 8:31 AM, Bernhard Stegmaier <stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>> wrote:
> Hi Cirilo,
> 
> thanks for the explanation.
> 
> I am half-way done with OS X adaptions… there were some really nasty pitfalls, it is a little more than just putting in some correct paths.
> As of now, plugins are installed into correct locations and are found from plugin manager.
> 
> I have to figure out how to link 3D plugins with correct library paths against libkicad_3dsg.
> That’s not so easy because everything has to be relocatable, i.e. relative to each other.
> I hope I’ll get that done tomorrow evening.
> 
> I’ll push everything to lp, so that you can pull in the changes.
> 
> 
> Regards,
> Bernhard
> 
>> On 24 Feb 2016, at 22:21, Cirilo Bernardo <cirilo.bernardo@xxxxxxxxx <mailto:cirilo.bernardo@xxxxxxxxx>> wrote:
>> 
>> Hi Bernhard,
>> 
>>  Thanks for testing this.  I don't know anything at all about OSX so I need
>> to rely on OSX users and developers to sort out any issues. The new 3D
>> code has 2 sets of libraries associated:
>> 
>> 1. libkicad_3dsg is a library which both kicad and any 3D plugin must link
>> to at runtime, so this needs to be installed where the OSX dynamic loader
>> will find it.  The install script is in 3d-viewer/3d_cache/CMakeLists.txt and
>> at the moment the destination is ${KICAD_LIB} (defined in the top level
>> CMakeLists.txt) but I can make changes to suit wherever is appropriate
>> for OSX.
>> 
>> 2. 3D plugins: there are currently 2: libs3d_plugin_idf and libs3d_plugin_vrml.
>> These need to be installed somewhere the 3D Plugin Manager will find them,
>> but it is not necessary for them to be in the  search path of the dynamic
>> loader. Plugins are installed to ${KICAD_USER_PLUGIN}/3d - if we change
>> the location of these files I will also need to make changes to the source
>> code.
>> 
>> So, if you can recommend what paths to install to I can make the changes.
>> 
>> - Cirilo
>> 
>> 
>> On Thu, Feb 25, 2016 at 4:26 AM, Bernhard Stegmaier <stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>> wrote:
>> Hi,
>> 
>> I just tried on OS X and plugin handling doesn’t seem to be OK.
>> At least, “make install” does directly (try to) install them to “/Applications/…” which is completely wrong (and also maybe the case why my built binary doesn’t find them?). Also, the path itself under SharedSupport I guess isn’t right.
>> 
>> It also install this here
>> bstegmaier$ ls -al /Applications/kicad.app/Contents/Macos/
>> total 464
>> drwxr-xr-x  4 bstegmaier  admin     136 24 Feb 18:17 .
>> drwxr-xr-x  3 bstegmaier  admin     102 24 Feb 18:17 ..
>> -rwxr-xr-x  1 bstegmaier  admin  231560 24 Feb 18:17 libkicad_3dsg..0.0.dylib
>> lrwxr-xr-x  1 bstegmaier  admin      24 24 Feb 18:17 libkicad_3dsg.dylib -> libkicad_3dsg..0.0.dylib
>> which doesn’t look right, what is it good for?
>> 
>> If you like, I can have a look and try to fix this.
>> 
>> 
>> Regards,
>> Bernhard
>> 
>>> On 23.02.2016, at 22:21, Cirilo Bernardo <cirilo.bernardo@xxxxxxxxx <mailto:cirilo.bernardo@xxxxxxxxx>> wrote:
>>> 
>>> 
>>> 
>>> On Tue, Feb 23, 2016 at 7:37 PM, jp charras <jp.charras@xxxxxxxxxx <mailto:jp.charras@xxxxxxxxxx>> wrote:
>>> Le 23/02/2016 08:56, Cirilo Bernardo a écrit :
>>> > On Tue, Feb 23, 2016 at 3:00 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>
>>> > wrote:
>>> >
>>> >> Cirilo,
>>> >>
>>> >> I have one last change request that I missed in my previous review.
>>> >> Please change your debugging output method.  Windows apps have no
>>> >> concept of stdout even when run from the command line.  wxLogTrace is
>>> >> the preferred method for debugging output.  It solves two problems.  The
>>> >> debugging strings are redirected to the correct output on all supported
>>> >> platforms and the debugging output is turned off by default.  Turning on
>>> >> the debugging output is as simple as:
>>> >>
>>> >> export WXTRACE="SOME_DEBUGGING_OUTPUT_TO_ENABLE"
>>> >>
>>> >> The is handy so I don't have to sift through everyone's debugging output
>>> >> to find what I'm looking for.  You just need to pick a unique string not
>>> >> used by any other kicad wxLogTrace calls to enable tracing of your
>>> >> debugging output.
>>> >>
>>> >>
>>> > The 3d_initial_merge branch has been updated to use wxLogTrace;
>>> > it has also been synchronized to the main branch r6527.  The latest
>>> > revision for the 3d_initial_merge branch is r6527. The branch builds
>>> > successfully and I have tested the previewer with various VRML1/2 and
>>> > X3D models.
>>> >
>>> > - Cirilo
>>> 
>>> Thanks, Cirilo.
>>> Very good work.
>>> 
>>> At least on Windows, 3d_plugin_manager.cpp is missing the line:
>>> #include <wx/filename.h>
>>> 
>>> Without this include, it does not compile.
>>> 
>>> --
>>> Jean-Pierre CHARRAS
>>> 
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>>> 
>>> Thanks Jean-Pierre,
>>> 
>>>  I have added the header and checked that it builds on Windows (W7-64 bit).
>>> 
>>> - Cirilo
>>> 
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>> 
>> 
> 
> 


References