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

From BRL-CAD
Line 63: Line 63:
 
* Add ''surface move_cv'' function.
 
* Add ''surface move_cv'' function.
 
* Add ''surface trim'' 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)

Revision as of 01:17, 14 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.

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