Stream: brlcad

Topic: gsoc


view this post on Zulip Anwesha (Mar 16 2019 at 06:20):

Hi! I am new to opensourse and have working knowledge of C++. Is it sufficient for this project or should I learn something new? If yes, what should I learn? Also, how can I start contributing

view this post on Zulip Anwesha (Mar 16 2019 at 06:20):

Hi! I am new to opensourse and have working knowledge of C++. Is it sufficient for this project or should I learn something new? If yes, what should I learn?

view this post on Zulip Chetan Shinde (Mar 18 2019 at 08:59):

pasted image

I was looking at the last year's project contribution, is there any better way on sourceforge to visualise the changes made to the files?

Right now i have to manually download each patch and open it in gedit.

view this post on Zulip Daniel Rossberg (Mar 18 2019 at 09:17):

I recommend to check out the source code with Subversion (https://brlcad.org/wiki/SVN) and to explore the revision history with its tools. There are some Subversion plug-ins for file managers available which provide a GUI for the most important tasks.

view this post on Zulip Chetan Shinde (Mar 18 2019 at 15:18):

Facing this error anyone can help to fix it?
db_recurse() rt_db_get_internal(annot_test) FAIL
rt_db_external5_to_internal5(annot_test): unable to import non-BRL-CAD object, major=255 minor=42

view this post on Zulip Daniel Rossberg (Mar 18 2019 at 15:24):

At which context? If I had to guess, I would say you tried to open a file which isn't a binary BRL-CAD database. (But, I'm not sure here.)

view this post on Zulip Chetan Shinde (Mar 18 2019 at 15:28):

actually i was following following the first tutorial of this documentation https://brlcad.org/wiki/Annot

view this post on Zulip Chetan Shinde (Mar 18 2019 at 15:29):

can you tell from where are we suppose to load the circle which is been shown in the first image given in the tutorial.

view this post on Zulip Daniel Rossberg (Mar 18 2019 at 15:44):

You can create it by yourself, e.g. as a cylinder: https://brlcad.org/wiki/BRL-CAD_Primitives#rcc
You can find example geometries in the directory, where your BRL-CAD installation is, under share/db.
In general, I recommend to go through the BRL-CAD tutorial (https://brlcad.org/w/images/c/cf/Introduction_to_MGED.pdf), at least the first chapters, to become familiar with mged.

view this post on Zulip Chetan Shinde (Mar 18 2019 at 23:53):

The current approach in the "annot" module of brlcad takes the coordinates as input from the user, through the in command, do the further implementation of other annotation should be implement in the similar manner or can we have mouse click approach in selecting the coordinates to be annoted.

To explain further i have tried to implement the annotation of an angle. in this for annotating any angle the mouse click event is been used to get the coordinates of the points which are to be annotated. https://github.com/css911/Prototypes-for-BRLCAD

We also need to discuss the feasibility of this approach for 3d space and can it be implemented in gsoc period.

view this post on Zulip Chetan Shinde (Mar 18 2019 at 23:55):

Image_example-were-image-annotation-coordinates-are-selected-from-mouse.png

This is the screenshot of the output of the code.(the code is written in python just for a faster Proof of concept discussion :) )

view this post on Zulip Daniel Rossberg (Mar 19 2019 at 08:00):

Yes, no, maybe.
It has to have a command line interface. This is compulsory. Not every use of BRL-CAD is via a GUI.

The support of BRL-CAD element manipulation with the mouse opens a new chapter. This would be something for the New BRL-CAD GUI project. It requires for example the determination of all elements near the mouse pointer.

However, I'm surprised that you haven't found any fault with the current implementation of annotations.

view this post on Zulip Shubham Rathore (Mar 19 2019 at 08:29):

Hello shubham! Chetan here. Please can you assign some issue which is of a beginner level and will help me in writing proposal for annotation idea.

It'll be good if you could go through the tutorial series as mentioned by Daniel previously. Once you get familiar with the basic primitives and the workflow, it'll be easier to proceed further. Regarding the 'mouse click' approach, the annot primitive currently has a lot of issues relating to projections, scaling etc. Primary task should be to get rid of the bugs rather than focusing on the user experience. Hope this helps.

view this post on Zulip Chetan Shinde (Mar 19 2019 at 08:38):

Yes, no, maybe.
It has to have a command line interface. This is compulsory. Not every use of BRL-CAD is via a GUI.

The support of BRL-CAD element manipulation with the mouse opens a new chapter. This would be something for the New BRL-CAD GUI project. It requires for example the determination of all elements near the mouse pointer.

However, I'm surprised that you haven't found any fault with the current implementation of annotations.

Will focus on understanding the command line interface and will work out how the current implementation can be improved.

view this post on Zulip Daniel Rossberg (Mar 19 2019 at 08:43):

As far as I know, the current implementation works for the X Window mode only. Can you confirm this?

view this post on Zulip Chetan Shinde (Mar 19 2019 at 08:46):

As far as I know, the current implementation works for the X Window mode only. Can you confirm this?

Yes!.

view this post on Zulip Sean (Mar 19 2019 at 22:24):

As far as I know, the current implementation works for the X Window mode only. Can you confirm this?

There are 3 aspects to the GUI -- what creates the window (this is done by Tk), 3D context drawing (this is our liddm), and 2D drawing (this is our libfb). Tk pretty much only supports X11 on Linux so, by extension, we do too. That said, BRL-CAD's dm/fb interfaces can be seen in src/libdm/dm-.c and src/libfb/fb-.c respectively. One of the goals we have had for a while is a Qt or OSG-based dm & fb interface, then replacing Tk windowing with Qt windowing.

view this post on Zulip Sean (Mar 19 2019 at 22:25):

Alternatively, leave dm/fb to old GUI usage and just run with a completely new Qt-based GUI. Also fine. :)

view this post on Zulip Chetan Shinde (Mar 19 2019 at 22:33):

As far as I know, the current implementation works for the X Window mode only. Can you confirm this?

There are 3 aspects to the GUI -- what creates the window (this is done by Tk), 3D context drawing (this is our liddm), and 2D drawing (this is our libfb). Tk pretty much only supports X11 on Linux so, by extension, we do too. That said, BRL-CAD's dm/fb interfaces can be seen in src/libdm/dm-.c and src/libfb/fb-.c respectively. One of the goals we have had for a while is a Qt or OSG-based dm & fb interface, then replacing Tk windowing with Qt windowing.

Hey! thanks @Sean It will help me to understand the code as i was not knowing about the structural breakdown and plus locate in which file the code related to tk is been written.

view this post on Zulip Sean (Mar 19 2019 at 22:42):

Glad to help -- a good starting point is probably in seeing main() in src/mged/ged.c -- from there, it eventually tells Tk to run (and a "gui" command displays everything)

view this post on Zulip Chetan Shinde (Mar 19 2019 at 22:45):

Glad to help -- a good starting point is probably in seeing main() in src/mged/ged.c -- from there, it eventually tells Tk to run (and a "gui" command displays everything)

@Sean can you please tell me what is the macro HIDDEN means, i identified it in dm-X.c file, i tried to find its definition by performing a grep search in the terminal, but because of the extensive use i was not able to determine it can you please help me with it. Its usually written as a prefix term for data types such as for example HIDDEN int

view this post on Zulip Chetan Shinde (Mar 19 2019 at 23:14):

Glad to help -- a good starting point is probably in seeing main() in src/mged/ged.c -- from there, it eventually tells Tk to run (and a "gui" command displays everything)

Sean can you please tell me what is the macro HIDDEN means, i identified it in dm-X.c file, i tried to find its definition by performing a grep search in the terminal, but because of the extensive use i was not able to determine it can you please help me with it. Its usually written as a prefix term for data types such as for example HIDDEN int

I meant because of the extensive list from the grep search i was not able to determine it.

view this post on Zulip Sean (Mar 20 2019 at 02:43):

@Chetan Shinde HIDDEN == static

view this post on Zulip Sean (Mar 20 2019 at 02:44):

that's a simple define so functions can be optionally compiled as static or non-static easily.

view this post on Zulip Sean (Mar 20 2019 at 02:44):

it's done for portability and debugging

view this post on Zulip Sean (Mar 20 2019 at 02:45):

you can find its definition in the include directory, I believe it's in the main common.h header

view this post on Zulip Mohit Pandey (Dec 09 2019 at 16:15):

Hello everyone, I am student of 2nd year and i am willing to participate in GSOC with ZULIP. Please tell me from where i should start?

view this post on Zulip Sumagna Das (Dec 09 2019 at 16:17):

from gsoc registration

view this post on Zulip Sumagna Das (Dec 09 2019 at 16:17):

not joking

view this post on Zulip Sumagna Das (Dec 09 2019 at 16:21):

sean can u help me with my question?(see above)

view this post on Zulip Sean (Dec 09 2019 at 21:53):

Hello everyone, I am student of 2nd year and i am willing to participate in GSOC with ZULIP. Please tell me from where i should start?

Hello Mohit. You're a little early for GSoC and you're in the wrong place if you want to work with the Zulip organization. This chat is for the BRL-CAD project (a computer graphics code).

view this post on Zulip Sean (Dec 09 2019 at 21:55):

sean can u help me with my question?(see above)

I see no question from you @Sumagna Das in this general "gsoc" thread. If you're referring to some other thread or not about GSoC, then your messages here are in the wrong thread (called topic hijacking).

view this post on Zulip Himanshu (Jan 18 2022 at 20:40):

GSoC 2022 gonna start from February. I am very much interested to contribute. :grinning:

view this post on Zulip Himanshu (Jan 25 2022 at 12:16):

GSoC 2022 timeline arrived. https://developers.google.com/open-source/gsoc/timeline

view this post on Zulip Himanshu (Jan 25 2022 at 12:16):

@Sean @Daniel Rossberg Are we participating? I am interested for this.

view this post on Zulip Himanshu (Jan 25 2022 at 12:19):

Wow @Sean I am just watching some GSoC videos and here you are in this video https://www.youtube.com/watch?v=YN7uGCg5vLg&ab_channel=GoogleOpenSource :grinning_face_with_smiling_eyes:

view this post on Zulip Sean (Jan 25 2022 at 15:31):

Himanshu Sekhar Nayak said:

GSoC 2022 timeline arrived. https://developers.google.com/open-source/gsoc/timeline

Yes we are participating, and I'm glad to hear you're interested! Are you thinking to participate as a mentor or coder? What are your main interests?

That video was put together a few years ago -- I was invited onsite along with the others in that video over the span of a couple days. It was a formal studio production.

view this post on Zulip Himanshu (Jan 25 2022 at 17:02):

Sean said:

Himanshu Sekhar Nayak said:

GSoC 2022 timeline arrived. https://developers.google.com/open-source/gsoc/timeline

Yes we are participating, and I'm glad to hear you're interested! Are you thinking to participate as a mentor or coder? What are your main interests?

That video was put together a few years ago -- I was invited onsite along with the others in that video over the span of a couple days. It was a formal studio production.

I am interested as a coder. Currently I am working on https://github.com/opencax/GSoC/issues/28 with @Daniel Rossberg.

view this post on Zulip Himanshu (Jan 25 2022 at 17:05):

I am very much excited and interested to always be a part of learning process from my mentors. I always wanted to be a part of an organization where I can learn and implement.

view this post on Zulip Himanshu (Jan 25 2022 at 17:14):

I actually love to solve problems using data structures and algorithms in C++ and now I very much interested to contribute and be a part of learning process.

view this post on Zulip Sean (Jan 26 2022 at 16:43):

Okay, thanks for the background! I wasn't sure since you were our GCI grand prize winner back in 2019.. that makes you eligible for participating as a mentor or coder. ;)

view this post on Zulip Sean (Jan 26 2022 at 16:44):

I've been watching the PR, I'm the other commenter. It's pretty good and you picked a bit of a complex bit of coding to start with.

view this post on Zulip Sean (Jan 26 2022 at 16:45):

Aside from the general learning process.. I meant what are your interests coding-wise. What are you thinking of in terms of a project? Have you thought about that yet?

view this post on Zulip Himanshu (Jan 26 2022 at 18:08):

Sean said:

Okay, thanks for the background! I wasn't sure since you were our GCI grand prize winner back in 2019.. that makes you eligible for participating as a mentor or coder. :wink:

:sweat_smile: It's okay. I know you remembered me. :smiley:

view this post on Zulip Himanshu (Jan 26 2022 at 19:55):

Sean said:

Aside from the general learning process.. I meant what are your interests coding-wise. What are you thinking of in terms of a project? Have you thought about that yet?

I love to solve coding problems like DSA questions and currently I am working on a image filter project which basically filters the effects of an image to blur, sepia, grey etc. and working as a team leader. I had looked into the previous project which needs more support to annotations and I think this project will be a great start to learn and work. So far I have managed to draw text with user input of size and angle.

view this post on Zulip Divyanshu Garg (Jan 27 2022 at 19:41):

Hey there,
My name is Divyanshu Garg, a student from India
I have experience in MERN stack, MeteorJS, Angular 11 and have a good hand in CSS. I am currently learning React Native.

I am interested in participating in GSOC.
Can you point me to projects that can match my skillset?

view this post on Zulip Daniel Rossberg (Jan 29 2022 at 18:12):

Hi @Divyanshu Garg, how about the Online Geometry Viewer OGV (last years project idea description: https://github.com/opencax/GSoC/issues/26 and source code: https://github.com/BRL-CAD/OGV-meteor).

view this post on Zulip Divyanshu Garg (Jan 31 2022 at 08:14):

Hi @Daniel Rossberg , thank you for sharing
I will start with the project setup and grab an issue asap

view this post on Zulip Amanjot Singh (Jan 31 2022 at 17:16):

Hey @Divyanshu Garg if you run into any trouble. You can share that here in the channel. I can help you if you need me.

view this post on Zulip Divyanshu Garg (Jan 31 2022 at 17:24):

Sure i will, Thanks @Amanjot Singh

view this post on Zulip Aviii (Feb 03 2022 at 12:45):

Hello!
This is Archit Gosain, a second-year student from IIT Roorkee, and I am interested in contributing to this org.
I am confident in C++, java and javascript. I also have a vague idea of the graphics pipeline.

Can you please point to me some issues to get started?

view this post on Zulip Daniel Rossberg (Feb 03 2022 at 17:31):

Hi @Aviii, you should start with installing BRL-CAD (https://sourceforge.net/projects/brlcad/files/) and going through the mged tutorial (https://brlcad.org/w/images/c/cf/Introduction_to_MGED.pdf).

view this post on Zulip Sean (Feb 06 2022 at 04:20):

Divyanshu Garg said:

Hey there,
My name is Divyanshu Garg, a student from India
I have experience in MERN stack, MeteorJS, Angular 11 and have a good hand in CSS. I am currently learning React Native.

I am interested in participating in GSOC.
Can you point me to projects that can match my skillset?

Hi @Divyanshu Garg FYI, another project we may end up with on our list is a complete rebuild of our project website (using CaI and integrated with CI/CD).

view this post on Zulip Divyanshu Garg (Feb 07 2022 at 06:41):

Hey @Sean, Thank you for sharing
I will definitely take a look at it once it is listed

view this post on Zulip Dashamir Hoxha (Feb 07 2022 at 13:29):

Sean said:

Hi Divyanshu Garg FYI, another project we may end up with on our list is a complete rebuild of our project website (using CaI and integrated with CI/CD).

What is Cal? Never heard of it. I would suggest Hugo or something similar.

view this post on Zulip Sean (Feb 07 2022 at 15:57):

Dashamir Hoxha said:

What is Cal? Never heard of it. I would suggest Hugo or something similar.

lol, sorry - I meant "IaC" .. "Infrastructure as Code". I don't know why my brain swapped them. I.e., having the website exist in a repo and get compiled/generated/installed/etc automatically via committed files, so that it all works together and generated products come from primary sources, etc. A start is just making sure the whole website lives in revision control (which it partially does now) and applies the same theme.

I love Hugo. :)

view this post on Zulip Dashamir Hoxha (Feb 09 2022 at 14:40):

For all the people that are new to BRL-CAD, I would like to kindly suggest to use these docs as well: https://brl-cad.github.io/docs/ They are not better or more complete than the other docs, but the formatting maybe is a bit better and more user-friendly.

If you notice any mistakes in the docs, you can also contribute any corrections (look at the link "Edit this Page" on the top-right corner). After making any corrections you can submit a pull-request.

You may also give a try to the new Wiki site: https://brl-cad.github.io/wiki/
There are a lot of things here that may need to be corrected. The workflow is the same: you click on the Edit button and submit a pull request with your modifications.

view this post on Zulip Himanshu (Feb 10 2022 at 19:34):

@starseeker any idea why the latest build is failing in Visual Studio 2022? Screenshot-1.png

view this post on Zulip Dashamir Hoxha (Feb 11 2022 at 04:46):

Himanshu Sekhar Nayak said:

starseeker any idea why the latest build is failing in Visual Studio 2022? Screenshot-1.png

This page has some info about installation:
https://brl-cad.github.io/docs/wiki/Newbie.html#_installation

However I think that a separate page of the docs is needed, that describes the installation steps.

For the time being, this has some more details:
https://github.com/BRL-CAD/brlcad/blob/main/INSTALL

view this post on Zulip Himanshu (Feb 11 2022 at 13:37):

Dashamir Hoxha said:

Himanshu Sekhar Nayak said:

starseeker any idea why the latest build is failing in Visual Studio 2022? Screenshot-1.png

This page has some info about installation:
https://brl-cad.github.io/docs/wiki/Newbie.html#_installation

However I think that a separate page of the docs is needed, that describes the installation steps.

For the time being, this has some more details:
https://github.com/BRL-CAD/brlcad/blob/main/INSTALL

Ahh my bad, I posted here instead of general. It is able to build in 2019 version of vs but not now in 2022 version? https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c5105?view=msvc-170

view this post on Zulip starseeker (Feb 12 2022 at 16:22):

I've not attempted a Visual Studio 2022 build, so it wouldn't be too surprising if there are issues. That screenshot does not show the errors - you'll want to check the output window. Sort in build order, and look for the first error.

view this post on Zulip James (Feb 13 2022 at 11:52):

@starseeker I would like to use BRL-CAD for raytracing, is there any performance data available such as how many ray can be traced per second? Further more, is that possible for me to get a relative stand-alone lib for ray tracing so i can call it from my own program?

view this post on Zulip starseeker (Feb 13 2022 at 21:18):

librt and its dependencies are the core of the raytracing engine - you can extract those for your own application. As for performance data, you'll want to ask @Sean about that - he's the one with the best info.

view this post on Zulip Sean (Feb 14 2022 at 15:45):

@starseeker our build appears to be in a sad state for msvc 2019... of our 10 tamu students, I think 4 encountered *unique build errors (out of 6-7 failures total, iirc). A couple resolved themselves by "trying again" and it mysteriously working. I'm getting log files from them to see if any can be traced down, so the build can be made more robust.

view this post on Zulip Sean (Feb 14 2022 at 15:51):

@James raytracing performance of course will vary immensely depending on the geometry type being ray traced and what shotline information is needed (e.g., first hit vs full path). BRL-CAD's "librt" library is the ray tracing library and is such a library specifically designed for embedding into programs like you're suggesting (it relies on 3 other librariesL libbu, libbn, libg for utility, numerics, and geometry respectively).

In general, you can except most models to be on the order of 1-100M rays/s depending on the type of geometry and number of cores. NURBS will be the slowest, triangle meshes ray traced with our ADRT method are the fastest, and CSG Booleaned implicit geometry is typically in the middle.

view this post on Zulip starseeker (Feb 15 2022 at 02:50):

@Sean That (Windows build failures) may be something to do with some of the generated files in the stepcode build. I've had a heck of a time getting those things to write reliably before compiling - some of the clang static analyzer build failures appear to be due to that, but I'm at something of a loss as to what else I can do to ensure they are fully generated... I thought I had sentinel files being written after the generated files to try and ensure the main files are fully written before the build system thinks it is OK to continue. I may have missed one, or maybe that mechanism isn't sufficient...

view this post on Zulip Daniel Rossberg (Feb 15 2022 at 07:44):

@James, does this: https://sourceforge.net/projects/brlcad/files/BRL-CAD%20Runtime%20Libraries/7.32.0/ meet your requirements regarding the stand-alone library?

view this post on Zulip Himanshu (Mar 08 2022 at 18:58):

@Sean I am comfortable with C++11-14, OOP, STL, Data structure and algorithms. Currently I am learning Qt. And I saw https://github.com/opencax/GSoC/issues/27. This project can be perfect suit for me I guess.

view this post on Zulip Himanshu (Mar 08 2022 at 19:00):

Thanks @Daniel Rossberg too :grinning: for always helping me out. I should get started and start exploring.

view this post on Zulip Sean (Mar 09 2022 at 15:04):

@Himanshu Sekhar Nayak and here I thought you were more interested in annotations, heh. no problem though, any area of interest is good! note that the ideas list are just ideas. any continuation of a prior GSoC project is also a good idea, and that's a long list. ideas from participants can also work if they are specific and well-researched.

view this post on Zulip Himanshu (Mar 09 2022 at 15:17):

Sean said:

Himanshu Sekhar Nayak and here I thought you were more interested in annotations, heh. no problem though, any area of interest is good! note that the ideas list are just ideas. any continuation of a prior GSoC project is also a good idea, and that's a long list. ideas from participants can also work if they are specific and well-researched.

Yes, I was working in annotations project but I saw requirements is vector mathematics and I thought I may be not able to contribute on that area. And @Daniel Rossberg helped me out to recognize projects which will suit to my area of interest.

view this post on Zulip Aniket Johri (Mar 15 2022 at 08:18):

Hello mentors @Sean and @Daniel Rossberg .I am Aniket johri ,i read the Python Bindings repos given on github for gsoc'22 and found some very good work ,especially the tcl scripting repo. I wanted to ask if this year's task would revolve around existing work or will it be different?

view this post on Zulip Sean (Mar 15 2022 at 14:57):

Hi @Aniket Johri! What tcl scripting repo? This year's task will be whatever you propose. For python bindings, it makes sense to leverage some of the progress made in either/both of the prior python efforts, but you can scope it to your interests.

view this post on Zulip Sean (Mar 15 2022 at 15:00):

For example, I'd want to focus on getting script objects working, so you can define entities with a script (python, ged, etc) and have them generate and raytrace automatically, but that's just me. Others have been working on making a pure Python API for creating geometry. Another looked at developing a python workbench in FreeCAD for BRL-CAD. A long while back, there was initial effort to try and use SWIG. There's lots of different directions that could be taken.

view this post on Zulip Aniket Johri (Mar 15 2022 at 16:10):

Sean said:

Hi Aniket Johri! What tcl scripting repo? This year's task will be whatever you propose. For python bindings, it makes sense to leverage some of the progress made in either/both of the prior python efforts, but you can scope it to your interests.

i was talking about this tcl scripting
repo https://github.com/nmz787/python-brlcad-tcl

view this post on Zulip paul (Mar 16 2022 at 14:30):

hii i wanted to work upon Simple Library Manager / Downloader for OpenSCAD scripts #57 discovering and installing libraries Arduino IDEs Library Manager and installed Arduino , bridge library, took some overall idea, now can we discuss regarding its details, though it was there but very I needed some good overview of the technical approach and a development timeline.

view this post on Zulip Sean (Mar 16 2022 at 15:54):

@paul you'll want to join openscads IRC channel for your discussion with their community.

view this post on Zulip Tambe Salome (Mar 17 2022 at 20:50):

Hello there,
I'm Tambe Salome, I'm interested in contributing to BRL-CAD during this period of GSOC. I have been programming in C for a while, but I have not had the opportunity to work on any real world project so, I think this would be a great start. I generally have an interest in Algorithms and Data structures and I'm very open to learning. I'm interested in the BRL-CAD annotation support enhancement project. I'll appreciate if I can be pointed to any microprojects that can help me better understand this project and also help setting up.

Thanks

view this post on Zulip Daniel Rossberg (Mar 19 2022 at 15:16):

Hi @Tambe Salome, welcome at the BRL-CAD project!

BRL-CAD is indeed a software well suited to improve your capabilities in C. Especially if you want to work on the kernel (as the annotation project would be), I recommend to start with learning how BRL-CAD works:

Install BRL-CAD. You can find the necessary installation packages at https://sourceforge.net/projects/brlcad/files/ This will install over 200 programs. Most of them are small command line tools. The most interesting for you are our old but still heavily used GUI mged and the more modern GUI archer. Go through the mged tutorial https://brlcad.org/w/images/c/cf/Introduction_to_MGED.pdf

Gain an overview of the existing documentation at https://brlcad.org/wiki/Main_Page

To start with programming download the source code from https://github.com/BRL-CAD/brlcad and compile and install the programs (https://brlcad.org/wiki/Compiling).

Regarding the annotations, you can create some in mged with in <object name> annot ... to see the current state of usability and explore how they are implemented, e.g. in src/librt/primitives/annot/annot.c.

view this post on Zulip Tambe Salome (Mar 19 2022 at 18:56):

Hi @Daniel Rossberg , thank you for this.
I will make sure to set up, understand what is happening and start contributing

view this post on Zulip Anuj Kumar (Mar 22 2022 at 18:20):

hello,i am Anuj
I would like to work on cabinet tool for the arch workbench.I am a mechanical engineering student and thus would love to contribute to this project :)

view this post on Zulip Sean (Mar 22 2022 at 22:27):

Hi @Anuj Kumar ! It sounds like you're interested in working on FreeCAD? If so, please join their IRC channel linked at https://opencax.github.io

view this post on Zulip Divyanshu Garg (Mar 24 2022 at 17:14):

Hey @Daniel Rossberg @Sean @Amanjot Singh , I have understood the flow for the OGV-Viewer
I have also checked the collections for the backend and I will start working on it soon

view this post on Zulip Divyanshu Garg (Mar 24 2022 at 17:15):

I will keep sharing the progress here

view this post on Zulip Sean (Mar 24 2022 at 17:43):

@Divyanshu Garg Thanks for the update. Please try your best to submit a useful pull request (PR) so we can get a sense of your abilities.

view this post on Zulip Divyanshu Garg (Mar 24 2022 at 17:48):

Yeah, I was thinking about that but I saw this issue https://github.com/opencax/GSoC/issues/26 and found that we are planning a rewrite for the whole project. What if I send a PR with the backend setup?

view this post on Zulip Sean (Mar 25 2022 at 19:50):

@Divyanshu Garg a rewrite is just one possible option -- it's not strictly necessary. You could very well propose a different related development direction. From my perspective, it's most important that there be focus and consistency towards end-user usability, and proposing that requires being familiar with its current status.

view this post on Zulip Sean (Mar 25 2022 at 19:51):

As for a PR, it should be something relatively small, meaningful, and complete. Like a bug fix, or a small feature, or some succinctly indepenent reviewable improvement.

view this post on Zulip Sean (Mar 25 2022 at 19:53):

The code has been rewritten at least twice already so that is most definitely not my interest or priority, but then I'm not likely mentoring that project. As I said, if I were, I'd want to know what's going to be done that's different from the previous GSoCs. Rewriting for the sake of a new technology should not be the goal.

view this post on Zulip Amanjot Singh (Mar 26 2022 at 17:14):

@Divyanshu Garg I agree with what Sean said. There are some issues that you can look at in the project repository. You can even open new issues if you see any other than those. I'm also here to help you with that if you face any problems with the project. Looking forward to get reply from you on this.

view this post on Zulip Amanjot Singh (Mar 26 2022 at 17:15):

Our main focus is to make this project live and competitive to the other 3d viewers online.

view this post on Zulip Divyanshu Garg (Mar 26 2022 at 17:51):

Hey @Sean I completely agree
I have found an issue in the latest code related to liking the uploaded model
Peek-2022-03-26-23-16.gif
I am working on a fix and will send a PR asap. Thanks.
CC @Amanjot Singh

view this post on Zulip Amanjot Singh (Mar 26 2022 at 18:00):

That's good to see you were able to install the project and found an issue as well. I would suggest opening the issue on Github before sending the PR. @Divyanshu Garg

view this post on Zulip Divyanshu Garg (Mar 26 2022 at 18:16):

Hey @Amanjot Singh
I have successfully fixed this issue and sent a PR-112
Thanks.

view this post on Zulip Aniket Johri (Mar 27 2022 at 09:26):

can someone help me with running python code for brlcad bindings.I am getting errors while running the code given on github repos.

view this post on Zulip Amanjot Singh (Mar 27 2022 at 15:28):

Aniket Johri said:

can someone help me with running python code for brlcad bindings.I am getting errors while running the code given on github repos.

Can you post your issues you are facing?

view this post on Zulip Divyanshu Garg (Mar 28 2022 at 09:11):

Sean said:

Divyanshu Garg said:

Hey there,
My name is Divyanshu Garg, a student from India
I have experience in MERN stack, MeteorJS, Angular 11 and have a good hand in CSS. I am currently learning React Native.

I am interested in participating in GSOC.
Can you point me to projects that can match my skillset?

Hi Divyanshu Garg FYI, another project we may end up with on our list is a complete rebuild of our project website (using CaI and integrated with CI/CD).

Hey, @Sean I was checking out the idealist, by any chance are we planning to work on this one?

view this post on Zulip Aniket Johri (Mar 29 2022 at 08:29):

Amanjot Singh said:

Aniket Johri said:

can someone help me with running python code for brlcad bindings.I am getting errors while running the code given on github repos.

Can you post your issues you are facing?

Screenshot-2022-03-29-at-1.38.07-PM.png
I followed the steps given on python tcl repo(https://github.com/nmz787/python-brlcad-tcl) but still getting this error.

view this post on Zulip Sean (Mar 29 2022 at 15:21):

@Divyanshu Garg the idea was not written up and posted, but that does not mean it cannot be proposed. It can and I would welcome such a proposal, particularly if it can describe in depth what would be done.

view this post on Zulip Sean (Mar 29 2022 at 15:29):

@Aniket Johri I'm not familiar with that python effort, but at a glance it looks like there's a brlcad_tcl code right there in that project and that's what it's saying it cannot find. I would think that's some simple search-path issue, however python performs imports.

view this post on Zulip Divyanshu Garg (Mar 29 2022 at 15:34):

Sean said:

Divyanshu Garg the idea was not written up and posted, but that does not mean it cannot be proposed. It can and I would welcome such a proposal, particularly if it can describe in depth what would be done.

That is great.

view this post on Zulip Divyanshu Garg (Mar 29 2022 at 15:35):

But i wanted to ask about some context related to this idea
Like what do we want to build?

view this post on Zulip Divyanshu Garg (Mar 29 2022 at 15:37):

As per my understanding, we are planning to refresh this https://brlcad.org/ site with some new UI/UX.
It would be great if I could know more about what more we want to include and I would love to submit a proposal for this one.
Of course, we also want to include CI/CD for automatic deployment

view this post on Zulip Daniel Rossberg (Mar 29 2022 at 17:59):

Divyanshu Garg said:

Hey Amanjot Singh
I have successfully fixed this issue and sent a PR-112
Thanks.

PR was merged.

view this post on Zulip Aniket Johri (Mar 30 2022 at 19:41):

Sean said:

Aniket Johri I'm not familiar with that python effort, but at a glance it looks like there's a brlcad_tcl code right there in that project and that's what it's saying it cannot find. I would think that's some simple search-path issue, however python performs imports.

also i am getting errors while running the ctypes code available on python brlcad repo
Screenshot-2022-03-31-at-1.10.08-AM.png

view this post on Zulip Sean (Mar 30 2022 at 21:31):

@Aniket Johri like I said, I'm not very familiar with that effort. I'd think you'd almost certainly need to have BRL-CAD compiled and installed if you didn't do that, and then you'd have to generate the ctypes bindings on the BRL-CAD libs (e.g., libwdb, librt, libbu, etc).

view this post on Zulip Aniket Johri (Mar 31 2022 at 08:40):

Sean said:

Aniket Johri like I said, I'm not very familiar with that effort. I'd think you'd almost certainly need to have BRL-CAD compiled and installed if you didn't do that, and then you'd have to generate the ctypes bindings on the BRL-CAD libs (e.g., libwdb, librt, libbu, etc).

i have already installed brlcad and followed the steps given on https://medium.com/@Mr_Jaypee/brl-cads-python-procedural-geometry-990e3c286a63 suggested by you for running python brlcad. This is made for the older versions of brlcad and due to that I am unable to run it on latest version. Can you please guide me if there is any newer version of this python brlcad module that was worked on during gsoc 2018

view this post on Zulip Daniel Rossberg (Apr 03 2022 at 14:43):

@Aniket Johri A lot has changed since 2018, including Python itself, and I'm not aware of a newer version of the BRL-CAD Python bindings. Therefore, we are looking for a contributor who can help us with this. Can python-brlcad be ported to current versions of Python, BRL-CAD and ctypesgen? Or, do you recommend another solution?

view this post on Zulip Aniket Johri (Apr 05 2022 at 05:09):

@Daniel Rossberg @Sean The last Python BRL-CAD module (https://github.com/kanzure/python-brlcad) is not compatible with Python3 and is full of bugs, also is not very well documented. So I am planning on making a new Python BRL-CAD module from scratch which will be compatible with Python3 and well documented.For this I am not sure if using ctypesgen will be beneficial or Tcl scripting ,can you help me on this? Right now I am doing research on this and will try to give you guys a proposal in a few days.

view this post on Zulip Sean (Apr 05 2022 at 05:21):

@Aniket Johri There's a decent overview of all the options at https://realpython.com/python-bindings-overview/

Personally, I would look into SWIG ( https://swig.org ) as it's been around forever as a toolkit for binding C/C++ to other languages, or ctypes to try and keep it runtime pure. I'd probably focus on BRL-CAD's libged library and the ability to call any ged command via python.

view this post on Zulip Aniket Johri (Apr 05 2022 at 05:32):

Sean said:

Aniket Johri There's a decent overview of all the options at https://realpython.com/python-bindings-overview/

Personally, I would look into SWIG ( https://swig.org ) as it's been around forever as a toolkit for binding C/C++ to other languages, or ctypes to try and keep it runtime pure. I'd probably focus on BRL-CAD's libged library and the ability to call any ged command via python.

Thanks, let me work on this and give you a proposal then.

view this post on Zulip Divyanshu Garg (Apr 05 2022 at 07:32):

Hey @Daniel Rossberg @Amanjot Singh
I have sent another PR https://github.com/BRL-CAD/OGV-meteor/issues/124
This fixed a UI issue related to outside clicks for dialogs
Please review

view this post on Zulip Aniket Johri (Apr 09 2022 at 06:38):

@Sean @Daniel Rossberg For the BRL-CAD python Bindings project I am thinking of continuing previous efforts of tcl scripting approach, since it already is compatible with Python3 and I think introducing a new approach or a new solution to this issue would be inefficient for the users.The current tcl scripting module wraps very less amount of primitives as of today. Could i give you a proposal regarding this in 1-2 days? Also if there's any suggestion you guys would like to make are openenly accepted.
Thanks

view this post on Zulip Sean (Apr 09 2022 at 15:13):

@Aniket Johri you'll have to refresh my memory on "previous efforts of tcl scripting approach" and what that means, which coding effort. Maybe even better would be to describe the approach.

view this post on Zulip Sean (Apr 09 2022 at 15:14):

As for proposal, you're welcome to submit that at any time (before the deadline) or to post up drafts if you want feedback.

view this post on Zulip Divyanshu Garg (Apr 09 2022 at 19:20):

Sean said:

Divyanshu Garg the idea was not written up and posted, but that does not mean it cannot be proposed. It can and I would welcome such a proposal, particularly if it can describe in-depth what would be done.

Hey @Sean
I was working on my proposals and I am planning to put one of my proposals for this one as well. But before that, I wanted to confirm some things because I had a vision about what can be done but I don't have clarity about some of the things.

  1. The project site we are referring to is this https://brlcad.org/ this is kind of obvious but just wanted to confirm as you mentioned the Project site at the top, so just wanted to be sure that this is the project site we are referring to.
  2. If this is the site we are referring to, What type of technology do we want like Hugo as it was mentioned earlier or a static site generator with reactjs or vuejs
  3. There could be 2 situations here now, First one is that we might end up using a theme from HUGO, or we can create one of our own, I have a design in my mind for the site, so would a rough wireframe work for the proposal? and things can start to get more concrete during the development.
    Here are few themes which we might refer to, I don't like these a lot but we can take some design suggestions from them and create a new one for us. Preserving the current theme with primary color #d0245e
    https://hugo-fresh.vercel.app/
    https://example.docsy.dev/

What do you suggest, please share your opinion on this one....

view this post on Zulip Aniket Johri (Apr 09 2022 at 19:25):

Sean said:

Aniket Johri you'll have to refresh my memory on "previous efforts of tcl scripting approach" and what that means, which coding effort. Maybe even better would be to describe the approach.

This approach revolves around tcl script and gives output in STL format(3D output). In brief, the python code creates a file with .g extension which further creates a tcl script describing the primitives. This tcl script then provides us with a 3D model in STL format.

view this post on Zulip Sean (Apr 09 2022 at 20:24):

@Divyanshu Garg how many are you working on? Helps to know in case there’s a conflict what your preferences are. To your questions: 1) yes, 2) probably would prefer Hugo but open to ideas — just do not want a cms like Wordpress or Drupal, 3) wireframe sounds fantastic and can be a rough idea that is refined in the bonding period.

view this post on Zulip Sean (Apr 09 2022 at 20:32):

@Aniket Johri that doesn’t sound right to me. Maybe check and see if the python generates and runs a tcl script?

view this post on Zulip Divyanshu Garg (Apr 09 2022 at 20:45):

@Sean Currently i am working on 2
First is OGV and second is this one
About the cms part i personally don't prefer WordPress and Drupal these situations.
About the wireframe, i will start putting one together and get it here asap
Thanks

view this post on Zulip Sean (Apr 09 2022 at 20:55):

From a planning perspective, it’s more important to me that we treat the website like code and plan for staged deployment. A critical requirement will be integrating with the GSoD documentation effort so that docs, api, and other website resources are deployed continuously.

view this post on Zulip Aniket Johri (Apr 10 2022 at 12:00):

@Sean Ohh yes, my bad. python generates a tcl script

view this post on Zulip Aniket Johri (Apr 10 2022 at 12:04):

@Sean @Daniel Rossberg would using tcl scripting and giving a STL format output be a wrong approach towards python bindings? Should I go with a different approach?

view this post on Zulip Divyanshu Garg (Apr 10 2022 at 12:46):

Sean said:

From a planning perspective, it’s more important to me that we treat the website like code and plan for staged deployment. A critical requirement will be integrating with the GSoD documentation effort so that docs, api, and other website resources are deployed continuously.

Yeah, it would be more like in versions of the build because this would be a whole new container so as long as we don't have the version 1.0 we can't use that in production and yes there would be a complete plan for what parts need to be covered first depending on the priority based on code.

As for the GSoD part, We can definitely include that in one of the phases we have in GSoC
I wanted to confirm that https://brlcad.org/wiki/Main_page this it the section where we find GSoD documentation and other stuff
And these are mostly in PDF format so I guess we might integrate pdf viewer in the site to view these document files.
I am planning to have a separate page to showcase all the primary documents with a embedded viewer if that is something we want to do

or if we are planning to integrate md file method to show documentation documents in webpages
thoughts?

view this post on Zulip Divyanshu Garg (Apr 10 2022 at 18:46):

Hey @Sean
I have successfully put together a wireframe
https://www.figma.com/file/nI1IDdPUHRr2vzBNOLIr60/BRL-CAD-Wireframe?node-id=0%3A1
Please let me know how it looks and I will start working on a proposal for this one
I have managed to add existing content in the wireframe with some new sections and modern UI/UX.
Thanks

view this post on Zulip Sean (Apr 11 2022 at 08:20):

@Aniket Johri well that entirely depends what you'd be planning to do to extend the work. I don't find that approach particularly compelling (it's not pure python, it's not coupled to API so it stays in sync, it requires two steps (generate+run script) which means it needs runtime tools, not just libs, ...) but not opposed if there's a good objective defined. What would the goal(s) be?

view this post on Zulip Sean (Apr 11 2022 at 08:29):

@Divyanshu Garg no, the wiki is an aspect of the docs, but it's not the main effort. the docs are in a process of transitioning as they exist in the brlcad repo in doc/ (https://github.com/BRL-CAD/brlcad/tree/main/doc) especially the docbook subdir but started a migration to the brlcad-docs repo (https://github.com/BRL-CAD/brlcad-docs/) . That's the primary starting point for continuation. Can read up more on https://brlcad.org/wiki/Google_Season_of_Docs/Proposal

view this post on Zulip Sean (Apr 11 2022 at 08:34):

a mock up migration of the docs and wiki were even deployed experimentally. the main antora instance is no longer staged, but you can see the wiki at https://github.com/BRL-CAD/brlcad-docs/wiki

view this post on Zulip Divyanshu Garg (Apr 11 2022 at 17:05):

Umm so what I am understanding from this is that we want to integrate this documentation (https://github.com/BRL-CAD/brlcad-docs/wiki) to the main project page right?

view this post on Zulip Sean (Apr 11 2022 at 19:50):

No, not right. Wiki is only one aspect of the docs. There are other aspects. The docs in the brlcad-docs repo are the most important part for integration with any new website refresh.

view this post on Zulip Sean (Apr 11 2022 at 19:52):

the non-wiki docs are curated. the wiki docs are not curated.

view this post on Zulip Aniket Johri (Apr 11 2022 at 20:36):

Sean said:

Aniket Johri well that entirely depends what you'd be planning to do to extend the work. I don't find that approach particularly compelling (it's not pure python, it's not coupled to API so it stays in sync, it requires two steps (generate+run script) which means it needs runtime tools, not just libs, ...) but not opposed if there's a good objective defined. What would the goal(s) be?

well I think a lot can be achieved using this, but like you said it's not the perfect approach. Also I think using script would in general require 2 steps and issue with using ctypes or any other wrapper would require timely changes with respect to original code. If there's any approach you have in mind for this project,please let me know.
Otherwise, using tcl script can result in a really good product.
Thanks

view this post on Zulip Divyanshu Garg (Apr 12 2022 at 07:55):

Sean said:

No, not right. Wiki is only one aspect of the docs. There are other aspects. The docs in the brlcad-docs repo are the most important part for integration with any new website refresh.

So, these are the docs https://github.com/BRL-CAD/brlcad-docs/ which we are targeting to integrate with the main site.
If this time I mentioned the right docs
I suppose we have to do something like https://github.blog/2016-08-22-publish-your-project-documentation-with-github-pages/

view this post on Zulip Sean (Apr 13 2022 at 05:42):

@Aniket Johri I agree a lot can be achieved but you will need to define exactly what that will be.. it can’t be open-ended undefined. The only other approaches are the ones mentioned: generating automatically via swig, or updating to a ctypes approach learning from the prior ctypesgen effort(ie pure python bindings)

view this post on Zulip Sean (Apr 13 2022 at 05:43):

No matter what path you propose, it needs to be interesting and doable to you, and you’ll need to define specific objectives, milestones, and major tasks

view this post on Zulip Sean (Apr 13 2022 at 05:44):

The tcl approach can be perfectly fine if you say in detail what you plan to do, same with swig or any other related proposal

view this post on Zulip Sean (Apr 13 2022 at 05:48):

@Divyanshu Garg that can work or can be used as the test deployment site and brlcad.org is used for the production deployment. It’s flexible. You just will want to have one space for test deployment and a separate for final, and ideally both are editable in some manner (even if the edit button simply sends them to GitHub).

view this post on Zulip Sean (Apr 13 2022 at 05:50):

I want to get to the point that the majority of not all of the website is generated automatically from source doc files, where it generates out a Hugo site that is integrated with antora’s output somehow. Or something else altogether but still integrating the docs

view this post on Zulip Aniket Johri (Apr 13 2022 at 07:43):

Sean said:

Aniket Johri I agree a lot can be achieved but you will need to define exactly what that will be.. it can’t be open-ended undefined. The only other approaches are the ones mentioned: generating automatically via swig, or updating to a ctypes approach learning from the prior ctypesgen effort(ie pure python bindings)

OK, but the ctypes work has been done and the only problem with it is non-compatibility with python3. So i don't think there is much for me to learn or explore in that approach.
let me send you a proposal draft for review .
Thanks

view this post on Zulip Aniket Johri (Apr 13 2022 at 15:08):

@Sean here's my proposal draft for tcl approach for review.Please let me know if I should add something or make changes
https://docs.google.com/document/d/1j3qY5uN1dg9Torh1Bd4CpBk-jUUsTxCAItaCcJ6m-I4/edit#

view this post on Zulip Dashamir Hoxha (Apr 20 2022 at 15:49):

Sean said:

I want to get to the point that the majority of not all of the website is generated automatically from source doc files, where it generates out a Hugo site that is integrated with antora’s output somehow. Or something else altogether but still integrating the docs

The docs are available here:

They just need to be linked from the main website, no other integration is needed.

view this post on Zulip Divyanshu Garg (Apr 20 2022 at 16:59):

Hey @Dashamir Hoxha
Thank you for sharing
So basically we have the documentation site ready and we have to link it with the main site right?
Just a small thing
are https://github.com/BRL-CAD/brlcad-docs/ and https://github.com/BRL-CAD/docs both the same? cause the first one is mentioned by Sean and the second one is mentioned by you, just want to make sure if these are the same

view this post on Zulip Dashamir Hoxha (Apr 20 2022 at 20:45):

The documentation still needs to be improved, of course, but the documentation site is ready.
Both repos are exactly the same. I cloned the first one and created the second one due to some technical reasons.

view this post on Zulip Sean (Apr 20 2022 at 20:52):

The integration would be for the docs to not reside elsewhere, merely linked, but to actually be on brlcad.org so it can be presented uniformly, so content can be managed alongside docs. I think keeping GitHub.io as the dev/staging area or editing are would work, but then there’s at least a little work to deploy mirroring.

view this post on Zulip AKKUL GAUTAM (Dec 06 2022 at 17:34):

Good evening
->I am Akkul currently pursuing my bachelor of technology
(computer science domain)
->I have a good knowledge of c cpp html css and currently learning js
->I am also willing to contribute in gsoc this summer
->I am a beginner in opensource and would love to gain some experience through your organization
->Could anyone please help me to get started??
->I would greatly appreciate it if anyone got back to me soon.
regards

view this post on Zulip Himanshu (Dec 06 2022 at 22:40):

AKKUL GAUTAM said:

Good evening
->I am Akkul currently pursuing my bachelor of technology
(computer science domain)
->I have a good knowledge of c cpp html css and currently learning js
->I am also willing to contribute in gsoc this summer
->I am a beginner in opensource and would love to gain some experience through your organization
->Could anyone please help me to get started??
->I would greatly appreciate it if anyone got back to me soon.
regards

Hi there. Welcome to our organization.

If you have a question, don't hesitate to ask. We will be happy to help.

view this post on Zulip Chandrakant Jena (Dec 07 2022 at 17:40):

Hello Everyone,
I am Chandrakant Jena, currently a Computer Science student at Odisha University of technology and research.I found this organization really interesting as it is an umbrella organization and one of the oldest participating organizations.
My major is c++ and am learning qt and planning to apply for GSoC this year.
May I get some idea list of projects related to qt, I Shall be highly grateful.

view this post on Zulip Daniel Rossberg (Dec 10 2022 at 16:10):

Hi @Chandrakant Jena, sorry for the late reply. Everybody seems to be busy here - including myself.

The BRL-CAD core is mainly written in C, but it has some C++ parts too. Qt us used e.g. in qged and arbalest.

However, you should familiarize yourself first with the basics. See https://brlcad.zulipchat.com/#narrow/stream/104062-general/topic/gsoc/near/314340544 for a how-too. Our (not yet updated) GSoC ideas list is https://github.com/opencax/GSoC/issues?q=is%3Aissue+is%3Aopen+label%3A%22Project%3A+BRL-CAD%22.

view this post on Zulip Chandrakant Jena (Dec 10 2022 at 17:13):

Daniel Rossberg said:

Hi Chandrakant Jena, sorry for the late reply. Everybody seems to be busy here - including myself.

The BRL-CAD core is mainly written in C, but it has some C++ parts too. Qt us used e.g. in qged and arbalest.

However, you should familiarize yourself first with the basics. See https://brlcad.zulipchat.com/#narrow/stream/104062-general/topic/gsoc/near/314340544 for a how-too. Our (not yet updated) GSoC ideas list is https://github.com/opencax/GSoC/issues?q=is%3Aissue+is%3Aopen+label%3A%22Project%3A+BRL-CAD%22.

Thanks @Daniel Rossberg


Last updated: Oct 09 2024 at 00:44 UTC