Difference between revisions of "User:GregoryLi/GSoC2023/DevLog"

From BRL-CAD
Line 45: Line 45:
 
* 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.
 
* 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''.
 
* 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''

Revision as of 02:21, 7 June 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