User:GregoryLi/GSoC2023/DevLog
From BRL-CAD
Contents
- 1 Development Logs
- 2 Community Bonding Period
- 3 Work Period
- 3.1 Monday, May 29th, 2023
- 3.2 Tuesday, May 30th, 2023
- 3.3 Wednesday, May 31th, 2023
- 3.4 Thursday, June 1st, 2023
- 3.5 Saturday, June 3rd, 2023
- 3.6 Monday, June 5th, 2023
- 3.7 Tuesday, June 6th, 2023
- 3.8 Wednesday, June 7th, 2023
- 3.9 Monday, June 12th, 2023
- 3.10 Tuesday, June 13th, 2023
- 3.11 Wednesday, June 14th, 2023
Development Logs
Community Bonding Period
- Learn about brep_cube brep_simple brep_surface examples in proc-db.
- Learn about NURBS editing support of Ayam and Blender.
- Create a brep object with a single NURBS curve in proc-db.
- Add create [name] brep command to create an empty brep object.
Work Period
Monday, May 29th, 2023
- Add brep <objname> create_curve <x> <y> <z> to create a template NURBS curve.
- Add brep [options] <objname> move_curve_CV <curve_id> <CV_id> <x> <y> <z> <w>" to move control vertex of a NURBS curve.
Tuesday, May 30th, 2023
- Add the entry and judgment for the number of parameters of brep [options] <objname> in_curve <is_rational> <order> <CV_count> <cv1_x> <cv1_y> <cv1_z> <cv_w>(if rational) ... Use in_curve for create NURBS curve with detailed info.
- Learn the code of in command, hope users could input parameters step by step like in command.
Wednesday, May 31th, 2023
- Use uniform knot vector for in_curve. Now the created curve by in is valid.
- add brep [name] curve entry. Add libged/brep/curve.cpp.
- Optimize feedback of wrong parameter number of in_curve cmd.
Thursday, June 1st, 2023
- Have a short meeting with Daniel. The brep/NURBS editing operations shall be implemented in libbrep instead of librt. Refer to nmg_mm() function and ON_boolean().
Saturday, June 3rd, 2023
- Add brep_create_empty_brep() in libbrep and use it in make command.
- Remove rt_brep_create_brep() in librt.
Monday, June 5th, 2023
- Create ON_Brep instead of rt_brep_interval in libbrep.
- Fix errors codes and file headers.
- Track brep subcommands to see parameter passing and call stacks.
Tuesday, June 6th, 2023
- Solve function declarations in libbrep/edit.h. brep_create() shall be accessed by c files. brep_make_curve() shall be accessed by cpp files and compiled as C++. Because it uses openNURBS.
- Reorganize brep [name] curve make [other infos] and brep [name] curve in [other infos] to libbrep.
Wednesday, June 7th, 2023
- Move curve move_cv function to libbrep.
- Add curve flip function.
- Reconsider about data structure from libged to libbrep. Use more specific ON_Brep and other entities instead of argc and argv.
Monday, June 12th, 2023
- Add curve insert_knot function.
- Add curve trim function.
- Add surface subcommand of brep.
- Add surface create command to create a nurbs surface.
Tuesday, June 13th, 2023
- Add curve move function.
- Add surface move function.
- Add surface move_cv function.
- Add surface trim function.
Wednesday, June 14th, 2023
- Refactor args passed to libged/edit. All args like (ON_brep* , ...)
- Look Ayma about functions to be added. (https://ayam.sourceforge.net/docs/ayam-5.html)