What is the deal with pivy?

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: What is the deal with pivy?

Post by looo »

kkremitzki wrote: Thu Aug 22, 2019 2:09 pm If you are trying to build pivy, besides coin you will also need SoQt which depends on coin and is itself a pivy dependency.
I don't think it's mandatory. I recently build a qt4 version of pivy without soqt.
Joel_graff wrote: Thu Aug 22, 2019 1:39 pm Don't feel like it's on you to fix it or even have an idea of how to solve it.
I didn't want to put any pressure on you, but for pivy I guess it's simple the truth. Only freecad depends on pivy, so there won't be many people trying to compile pivy on Gentoo. Also i don't think it's a lot of work to get it done. Simple try some things and find out what's wrong. That is exactly what package-manager do all the time...

Also if no one of us is doing these ugly side projects, where would freecad be. I guess @wmayer has tons of better ideas than fixing annoying bugs... Pivy was a side side project of my self and still I didn't gave up porting it to py3...

So please try to build the suggested versions of coin and pivy, create an issue on GitHub and post all information you have. Currently I am on vacation, but I will have a look once I am back.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: What is the deal with pivy?

Post by triplus »

And as tasks, such as porting Pivy to Py3 and maintaining it in a good compile condition, takes such effort. One can easily imagine, writing Python bindings for a project such as OSG and maintaining it in good compile condition, on all supported platforms, obviously that should end up being a few orders of magnitude larger task. :idea:
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: What is the deal with pivy?

Post by looo »

triplus wrote: Thu Aug 22, 2019 11:15 pm One can easily imagine, writing Python bindings for a project such as OSG and maintaining it in good compile condition, on all supported platforms, obviously that should end up being a few orders of magnitude larger task.
There are some Python bindings for osg available, but these are not as complete as pivy. I posted a link some years ago.

Another recent change in my pivy branch was the swig4.0 support. Not sure which swig version is used for Gentoo, but this is another possible issue which should be fixed on the GitHub repo...
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: What is the deal with pivy?

Post by triplus »

looo wrote: Fri Aug 23, 2019 4:51 am There are some Python bindings for osg available, but these are not as complete as pivy.
If we look at the most frequently discussed options in the past years in my opinion it is safe to say OSG doesn't have Python bindings, hence its not a suitable choice for FreeCAD. VTK does have Python bindings, but AFAIK it isn't as advanced in scene graph area as OSG is. Qt is still finding its way, and if some day, post Qt Widgets era, they will support C++/Python for 2D/3D purposes, that should become a viable option for FreeCAD. Currently therefore if we would have to choose, likely it would make sense to start experimenting with VTK first. But as we don't have to choose just yet, currently Coin3D/Pivy is still a better option, compared to all of the above.

In short, if somebody would like to make some prototypes in code, i imagine VTK can be a good starting point. If somebody feels strongly about OSG/Qt 3D/... fell free to explore that and keep us posted.
User avatar
kkremitzki
Veteran
Posts: 2511
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: What is the deal with pivy?

Post by kkremitzki »

looo wrote: Thu Aug 22, 2019 4:25 pm Only a short comment:

I tried to optimize the configuration of the pivy setup, but this is not yet applied to the bitbucket repo.

I guess this one goes out to @kkremitzky who applied my python3 diff on bitbucket repo, which I never voted for.
What are you trying to say? That there is another patch which should be upstreamed, or that you feel we should be maintaining a fork?
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: What is the deal with pivy?

Post by looo »

kkremitzki wrote: Fri Aug 23, 2019 11:16 pm What are you trying to say? That there is another patch which should be upstreamed, or that you feel we should be maintaining a fork?
As long as bitbucket repo is in the current state (nearly unmaintained) we should simple tell people to use the GitHub repo. This gives us more control and we can faster update to updated deps.

In my eyes upstreaming the diff will simple increase the mess.
User avatar
kkremitzki
Veteran
Posts: 2511
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: What is the deal with pivy?

Post by kkremitzki »

Since Bitbucket is ending Mercurial support something is going to have to change one way or another.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
User avatar
waebbl
Posts: 200
Joined: Thu Aug 16, 2018 3:12 pm

Re: What is the deal with pivy?

Post by waebbl »

ezzieyguywuf wrote: Tue Aug 20, 2019 1:37 pm
jmaustpc wrote: Tue Aug 20, 2019 11:42 am Just curious, what is your OS?
Gentoo. I know there are overlays available with most (if not all) of what I am missing ,however I have a general distrust of these things and prefer to compile things myself that are not available in the official repositories.
You can take a look at my overlay at https://github.com/waebbl/waebbl-gentoo on how I am configuring Coin and SoQt to compile pivy and FreeCAD.
I'm using pivy from the FreeCAD/pivy site at github and only need to remove the NONE from the project line CMakeLists.txt to properly find SoQt and make it build and run.

If you don't want to emerge with those ebuilds, you can use them as a reference for needed commits and cmake options to pass.
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: What is the deal with pivy?

Post by looo »

waebbl wrote: Sun Aug 25, 2019 4:24 pm I'm using pivy from the FreeCAD/pivy site at github and only need to remove the NONE from the project line CMakeLists.txt to properly find SoQt and make it build and run.
As far as I can remember "NONE" was necessary for windows without having a default cmake generator available. Not sure why it doesn't work in your case.
User avatar
looo
Veteran
Posts: 3941
Joined: Mon Nov 11, 2013 5:29 pm

Re: What is the deal with pivy?

Post by looo »

kkremitzki wrote: Sat Aug 24, 2019 4:36 am Since Bitbucket is ending Mercurial support something is going to have to change one way or another.
Ok, so the bitbucket repo might switch to git and syncing our repo with upstream will be easier. I guess at one point we can merge everything back into the bitbucket repo, but better wait for this change and also for a new coin release (if this will ever happen).
Post Reply