Posts by Praneeth Shetty

Week 16 - Working with Rotations!

Last week my mentors noticed that each DrawShape has its individual rotation_slider which increases redundancy and complexity in setting its visibility on and off. Instead, they suggested moving the rotation_slider to DrawPanel and keeping a common slider for all the shapes.

Read more ...


Week 15 - Highlighting DrawShapes

This week I started with highlighting the shapes. As discussed earlier, I had two ways, but while implementing them, I found out both ways aren’t that good to continue with. The first way in which we thought of creating the scaled shapes in the background had an issue with the stacking. The border(blue rectangle) and the shape(grey rectangle) both seem to look like different shapes just grouped together as shown below.

Read more ...


Week 14 - Updating DrawPanel architecture

This week I continued updating the DrawShape and DrawPanel.

Read more ...


Week 13 - Separating tests and fixing bugs

This week I managed to fix the translation issue in PR #653. This was happening because of the calculation error while repositioning the shapes. Now it works as intended.

Read more ...


Week 12 - Fixing translating issues and updating tests

I started with updating the tests for PR #623 as some of the tests weren’t covering all the aspects in the code. Previously I was just creating the DrawShape and adding it to the scene but now I had to analyze the scene to see whether they were properly added or not.

Read more ...


Week 11 - Creating a base for Freehand Drawing

This week I tried to imitate the working of vtkImageTracer. Previously, I had created a small prototype for freehand drawing by adding points at the mouse position (which you can check out here). As mentioned, there were some drawback of this method. So to overcome these issues, I tried combining both methods. Considering points using the previous method and instead of adding points I tried creating lines between them which looks promising. Below you can see a demo.

Read more ...


Week 10 - Understanding Codes and Playing with Animation

I started working on the PR #645 created last week and tested a few more corner cases such as What happens if the maximum value is exceeded?? What if we give a value less than the minimum value range?? Most of these worked as intended.

Read more ...


Week 9 - Grouping and Transforming Shapes

I started this week by creating a quick PR #645 for the UI sliders. The sliders raised ZeroDivsionError when the min and max values were the same. To solve this, I handled the case where the value_range becomes zero and then manually set the handle position to zero.

Read more ...


Week 8 - Working on the polyline feature

This week I started working on the polyline feature. After a lot of investigating and trying out different things, I found a way to call the dragging event manually without any prior click event. VTK actually captures the mouse movement using the MouseMoveEvent. This event is then modified by FURY to only be called after the click event. So I added a new callback to track the mouse movement and set the current canvas as an active prop because it is required to capture the drag event happening on it.

Read more ...


Week 7 - Working on Rotation PR and Trying Freehand Drawing

I continued PR #623 and fixed the displacement of the shape from its original position when applying rotation. This was happening because most of the calculations resulted in float values, but as the pixel position were integers we had to explicitly convert these values into int. This conversion rounded off the values and as we call this function continuously, each time the round-off would happen, the shape would get displaced.

Read more ...


Week 6 - Supporting Rotation of the Shapes from the Center

This week I started implementing a new feature to rotate the shapes from the center using RingSlider2D. I already had a rotate function that rotates the shape around its pivot vertex, so I updated it to support rotation from the center.

Read more ...


Week 5 - Working on new features

This week I tried to create a base for some upcoming new features. The first thing I updated was the Properties panel which I prototyped in Week 3. So previously, it was just displaying the properties but now after the update, it is able to modify the properties(such as color, position, and rotation) too. This was a quick change to test the callbacks.

Read more ...


Week 4 - Fixing the Clamping Issue

Phew!! This week was a tedious week for me as parallelly my End-Sem exams also started. So as usual I started from where I left off last week, The Clamping Issue. As per the discussion with the mentors, we decided to use the AABB bounding box method to calculate the bounding box around the shape and then reposition or transform respectively, as now we had a fixed reference point. So after doing some calculations with the mouse positions and the bounding box points at last, I was able to clamp all the shapes sucessfully.

Read more ...


Week 3 - Dealing with Problems

This week was full of researching, playing around with things, prototyping ideas, etc. I started with last week’s clamping issue and managed to solve this issue while drawing shapes by clipping the mouse position according to canvas size, but it didn’t solve the problem with translating these shapes. I tried solving this using various approaches, but if one thing would get fixed, other things would raise a new error.

Read more ...


Week 2 - Improving DrawPanel UI

This week I had to refactor and make my code cleaner along with some bug fixing, I started by adding tests and tutorials so that my changes could be tested by everyone. Then I separated the mode for selection so that it would be easy to select an individual element and work along with it. Once the selection mode was complete I started with the deletion of the elements.

Read more ...


Week 1 - Laying the Foundation of DrawPanel UI

This week we started with our first technical meeting in which the weekly tasks were assigned. So I had to start with some background or canvas and draw a line using mouse clicks.

Read more ...


Pre-GSoC Journey

Hello Guys!! I am Praneeth Shetty, currently pursuing Bachelor of Engineering in Computer Engineering, and here is my journey from where I started to the selection into GSoC22.

Read more ...