User:GregoryLi/GSoC2022/DevLog

From BRL-CAD

Development Logs[edit]

Community Bonding Period

  • familiar with arb8 convert to brep code
  • Read BRL-CAD NURBS Boolean Evaluation Development Guide.
  • Look into arb8_brep and brep_simple.
  • Test converting arb8 to brep.

Work Period

Wednesday, June 15, 2022[edit]

  • Test converting arb8 into brep format with non-planar faces. -- get the differences of the output of them, but the result of brep_simple.cpp seems confusing.
  • Compare codes of brep_simple.cpp and arb8_brep.cpp. -- mastered brep_simple
  • Replace the input data in brep_simple with arb8. -- a beginning

Thursday, June 16, 2022[edit]

  • Run and analyze the result of examples about brep, record errors found.
  • Write one example about converting arb8 into brep. -- about 75% completion

Friday, June 17, 2022[edit]

  • Write one example about converting arb8 into brep. -- accomplish
  • Read code of current examples about creating and processing object.

Saturday, June 18, 2022[edit]

  • Read code of OpenNURBS.
  • Read code and docs about brep.

Monday, June 20, 2022[edit]

  • Test simple cases of boolean then brep(arb intersection).
  • Read code of OpenNURBS.
  • Reorganize code about example.

Tuesday, June 21, 2022[edit]

  • Test simple cases of boolean then brep(face intersection).
  • Read docs about previous Brep work.

Wednesday, June 22, 2022[edit]

  • Learn about nurb surface usage.(face_g_snurb)
  • Write one project about testing brep simple cases. -- about 65% completion

Thursday, June 23, 2022[edit]

  • Write one project about testing brep simple cases. -- complete
  • Reading docs and codes about brep.

Friday, June 24, 2022[edit]

  • Test surface interesct cases.
  • Reading docs and codes about brep.

Monday, June 27, 2022[edit]

  • Read surfaceinteresct project and try to debug
  • Read codes related to brep(rt_comb_brep ON_Boolean etc)

Tuesday, June 28, 2022[edit]

  • Read codes related to brep and try debugging

Wednesday, June 29, 2022[edit]

  • Reorganize and test brep_arbintersection project

Thursday, June 30, 2022[edit]

  • Compare the code stack difference between archer and my test case about _brep_cmd_brep

Friday, July 1, 2022[edit]

  • Compare the code stack difference between archer and my test case about _brep_cmd_brep
  • Rewrite brep test case

Monday, July 4, 2022[edit]

  • Solve build errors after git pull.
  • ebug brep using file output system.

Tuesday, July 5, 2022[edit]

  • Debug brep using file output system.

Wednesday, July 6, 2022[edit]

  • Ditto

Thursday, July 7, 2022[edit]

  • Solve the inconsistent problem about converting brep in test case and Archer
  • Debug brep using file output system.

Monday, July 11, 2022[edit]

  • Reread NURBS Development Guide

Tuesday, July 12, 2022[edit]

  • Debug: tracking and call stack from test_UNION into ON_Boolean
  • Find multiple outputs with the same operation among three BRL-CAD versions:
   - current main branch             -- missing faces
   - BRL-CAD 7.32.6 release package  -- correct
   - project build with BRL-CAD 7.32.6 source code  -- crashed

Wednesday, July 13, 2022[edit]

  • Compare differences between different branch and commits
   - project build with BRL-CAD 7.32.6 source code in RELEASE mode  - correct for arb_4.r test case, error for arb_3.r
   - project build with BRL-CAD 7.32.6 source code in DEBUG mode  - crash
   - current main branch             -- error for arb_3.r/arb_4.r
   - initial commit of RELEASE branch              -- correct for arb_4.r test case, error for arb_3.r

Thursday, July 14, 2022[edit]

  • Find where introduced the error in main branch.
  • Test and compare different brep cases cross different code versions.

Friday, July 15, 2022[edit]

  • Find where introduced the error in main branch using bisect. --around *1583360* commit
  • Read codes about primitives convert to brep.

Saturday, July 16, 2022[edit]

  • Check map from old dplot command to brep.

Monday, July 18, 2022[edit]

  • generate 125 arb union cases then convert them to brep.

Tuesday, July 19, 2022[edit]

  • append intersection and subtraction test cases (125 * 2).

Wednesday, July 20, 2022[edit]

  • Test intersection and subtraction test cases using commands.
  • learn to use nirt command.

Thursday, July 21, 2022[edit]

  • Reposition test cases to a grid.
  • Formal objects' names.

Friday, July 22, 2022[edit]

  • Test to convert primitives to brep, record issues.

Monday, July 25, 2022[edit]

  • Create a new project to convert primitives to brep format. --abandoned later

Tuesday, July 26, 2022[edit]

  • Use shell to convert primitives to brep format.
  • Shot the primitives and breps using nirt.

Wednesday, July 27, 2022[edit]

  • Try to evaluate brep obj using nirt.

Thursday, July 28, 2022[edit]

  • Try to evaluate brep obj using nirt.
  • Test and understand rhc primitive.

Friday, July 29, 2022[edit]

  • Ask for leave

Monday, August 1, 2022[edit]

  • Solve conficts between main and my dev branch. --error in generating, can't debug. rollback
  • Investigate the call stack of rhc brep.
 - error 1: the bottom of rhc in brep format is larger than rhc in primitive format
 - error 2: the orient of the bottom is not correspond to it's wireframe

Tuesday, August 2, 2022[edit]

  • Look into code call stack while converting rhc to brep and curve drawing.
  • Read and understand formula of bezier curve.

Wednesday, August 3, 2022[edit]

  • sleuth source code on the math.
  • Look into memory changes while plotting bezier curve.

Thursday, August 4, 2022[edit]

  • Test with using relative coordinates while scaling the position of a vertex on the curve.

Friday, August 5, 2022[edit]

  • Test reshape the bottom by changing source code according to formula.