Editing User:GregoryLi/GSoC2023/DevLog

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
=Deliverables=
 
 
Now I have committed 3 pull requests for the **Brep Editing Support in BRL-CAD** project. The final report, which summarizes the features and provides a vision for the future, is also attached at the following link.
 
 
[https://github.com/BRL-CAD/brlcad/pull/80 Nurbs editing Milestone 1: Curve operations]
 
 
[https://github.com/BRL-CAD/brlcad/pull/92 Nurbs editing Milestone 2: Surface operations]
 
 
[https://github.com/BRL-CAD/brlcad/pull/97 Nurbs editing Milestone 3: topology operations]
 
 
[https://brlcad.org/wiki/User:GregoryLi/GSoC2023/FinalReport Final Report for NURBS Editing]
 
 
 
=Development Logs=
 
=Development Logs=
  
Line 124: Line 112:
 
==Thursday, June 29th, 2023==
 
==Thursday, June 29th, 2023==
 
* Implement local cubic spline curve interpolation in BRL-CAD.
 
* Implement local cubic spline curve interpolation in BRL-CAD.
 
==Saturday, July 1st, 2023==
 
* Try to implement local cubic spline curve with variable number of points and last point coordinates.
 
* Fix errors in PR.
 
 
==Monday, July 3rd, 2023==
 
* Add ''curve remove'' function.
 
* Add ''surface remove'' function.
 
* Add ''curve split'' function.
 
* Add ''surface split'' function.
 
 
==Tuesday, July 4th, 2023==
 
* Want to implement curve interporation like Rhino. Reconsider about data Structures and functions.
 
* Read ''typein'' about asking more arguments. ''GED_MORE'' is not supported in ''brep'' cmd yet.
 
 
==Saturday, July 8th, 2023==
 
* Learn about ''surface interporation'' in ''The NURBS book''.
 
 
==Sunday, July 9th, 2023==
 
* Learn about tensor product surface, as well as implemention in OpenNURBS.
 
* Add ''brep .. surface tensor ..'' function.
 
 
==Monday, July 11th-18th, 2023==
 
* One week away for meeting.
 
* Update wiki about NURBS editing operations.
 
 
==Friday, July 21th, 2023==
 
* Add ''surface revolution''function to create a NURBS surface by rotating a curve around an axis by an angle.
 
 
==Saturday, July 22th, 2023==
 
* Learn about ''surface interporation'' in ''The NURBS book''.
 
 
==Tuesday, July 25th, 2023==
 
* Learn about the relationship between curve/surface continuity and knot multiplicity.
 
* Learn about knot vector of cubic curve, check previous curve interpolation functions.
 
 
==Wensday, July 26th, 2023==
 
* Implement u/v knot vector caculation of surface interpolation.
 
 
==Friday, July 28th, 2023==
 
* Caculate du/dv of each given vertices.
 
* Read math formula about Duv, edge span. They are really confusing.
 
 
==Saturday, July 29th, 2023==
 
* Read math formula about global curve interpolation. It can achieve C2 continuity between knots.
 
* Read math formula about global surface interpolation.
 
 
==Sunday, July 30th, 2023==
 
* Implement global cubic curve interpolation.
 
* Read math formula about global surface interpolation.
 
 
==Monday, July 31th, 2023==
 
* Caculate knot vector while interpolating bicubic surface.
 
* Implement some functions of global surface interpolation.
 
 
==Tuesday, Augest 1st, 2023==
 
* Implement global surface interpolation with C2 continuity.
 
* fix get_nurbs_surf.
 
 
==Wensday, Augest 2nd, 2023==
 
* Write two shell script to test new features of milestone 2.
 
* submit PR of milestone 2.
 
 
==Thursday, Augest 3rd, 2023==
 
* Check code format according to HACKING.
 
 
==Monday, Augest 7th, 2023==
 
* Run and check source codes of Ayma about NURBS operations.
 
 
==Thursday, Auguest 10th, 2023==
 
* Check code logic about running "kill" after NURBS operations.
 
* Configuring the environment on a new computer.
 
 
==Friday, Auguest 11th, 2023==
 
* fix bugs, remove "kill" after NURBS operations. Do some tests.
 
* fix bugs, fix memory management.
 
 
==Sunday, Auguest 13th, 2023==
 
* Check topology cmds to be implemented and examples.
 
* Add topology editing module.
 
* Add create vertex cmd. (is a geometric operation, but is temporarily in the topology subcommand)
 
 
==Monday, Auguest 14th, 2023==
 
* Fix error in curve id judgement.
 
* Add create topology edge cmd.
 
 
==Tuesday, Auguest 16th, 2023==
 
* Read codes about creating loops.
 
* Write test code about triangular prism
 
 
==Wensday, Auguest 17th, 2023==
 
* Create topo faces
 
* Implement 'create loop' function
 
* Write test code about triangular prism
 
 
==Thursday, Auguest 18th, 2023==
 
* Add 'brep .. surface extract_curve ..' function
 
* Add 'brep .. surface ext_v ..' function
 
* Add 'brep .. topo create_l ..' function
 
* Some code refactor
 
 
==Saturday, Auguest 20th, 2023==
 
* Try to understand operations in parameter space.
 
* Add 'brep .. curve make_2dline ..' cmd.
 
 
==Sunday, Auguest 21th, 2023==
 
* Add 'brep .. topo create_l ..' function
 
* Add 'brep .. topo create_t ..' function
 
* Write test code about cube with a piece cut out
 
 
==Monday, Auguest 22th, 2023==
 
* Reclassify nurbs editing operations into geometric and topological operations
 
* Create 'brep .. geo' subcmd
 
* Move 'create_v' cmd to geo subcmd
 
* Write test code about cube with a piece cut out
 
 
==Tuesday, Auguest 23th, 2023==
 
* Move all geometry commands to 'brep .. geo ..'
 
* Move all topology commands to 'brep .. topo ..'
 
* Add remove functions for curve2d,vertex
 
* Some code refactor
 
* Write test code about cube with a piece cut out
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)