User:GregoryLi/GSoC2023/DevLog
From BRL-CAD
Contents
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.