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

From BRL-CAD
(13 intermediate revisions by the same user not shown)
Line 57: Line 57:
 
==Wednesday, June 29, 2022==
 
==Wednesday, June 29, 2022==
 
* Reorganize and test ''brep_arbintersection'' project
 
* Reorganize and test ''brep_arbintersection'' project
 +
 +
==Thursday, June 30, 2022==
 +
* Compare the code stack difference between archer and my test case about ''_brep_cmd_brep''
 +
 +
==Friday, July 1, 2022==
 +
* Compare the code stack difference between archer and my test case about ''_brep_cmd_brep''
 +
* Rewrite brep test case
 +
 +
==Monday, July 4, 2022==
 +
* Solve build errors after git pull.
 +
* ebug brep using file output system.
 +
 +
==Tuesday, July 5, 2022==
 +
* Debug brep using file output system.
 +
 +
==Wednesday, July 6, 2022==
 +
* Ditto
 +
 +
==Thursday, July 7, 2022==
 +
* Solve the inconsistent problem about converting brep in test case and Archer
 +
* Debug brep using file output system.
 +
 +
==Monday, July 11, 2022==
 +
* Reread NURBS Development Guide
 +
 +
==Tuesday, July 12, 2022==
 +
* 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==
 +
* 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==
 +
* Find where introduced the error in main branch.
 +
* Test and compare different brep cases cross different code versions.
 +
 +
==Friday, July 15, 2022==
 +
* Find where introduced the error in main branch using bisect.  --around *1583360* commit
 +
* Read codes about primitives convert to brep.
 +
 +
==Saturday, July 16, 2022==
 +
* Check map from old dplot command to brep.
 +
 +
==Monday, July 18, 2022==
 +
* generate 125 arb union cases then convert them to brep.
 +
 +
==Tuesday, July 19, 2022==
 +
* append intersection and subtraction test cases (125 * 2).
 +
 +
==Wednesday, July 20, 2022==
 +
* Test intersection and subtraction test cases using commands.
 +
* learn to use nirt command.
 +
 +
==Thursday, July 21, 2022==
 +
* Reposition test cases to a grid.
 +
* Formal objects' names.
 +
 +
==Friday, July 22, 2022==
 +
* Test to convert primitives to brep, record issues.
 +
 +
==Monday, July 25, 2022==
 +
* Create a new project to convert primitives to brep format.  --abandoned later
 +
 +
==Tuesday, July 26, 2022==
 +
* Use shell to convert primitives to brep format.
 +
* Shot the primitives and breps using nirt.
 +
 +
==Wednesday, July 27, 2022==
 +
* Try to evaluate brep obj using nirt.
 +
 +
==Thursday, July 28, 2022==
 +
* Try to evaluate brep obj using nirt.
 +
* Test and understand rhc primitive.
 +
 +
==Friday, July 29, 2022==
 +
* Ask for leave
 +
 +
==Monday, August 1, 2022==
 +
* 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==
 +
* Look into code call stack while converting rhc to brep and curve drawing.
 +
* Read and understand formula of bezier curve.
 +
 +
==Wednesday, August 3, 2022==
 +
* sleuth source code on the math.
 +
* Look into memory changes while plotting bezier curve.
 +
 +
==Thursday, August 4, 2022==
 +
* Test with using relative coordinates while scaling the position of a vertex on the curve.
 +
 +
==Friday, August 5, 2022==
 +
* Test reshape the bottom by changing source code according to formula.
 +
 +
==Monday, August 8, 2022==
 +
* Sleuth the formula by openNURBS source code.
 +
* Monitor variables change while drawing curcve of rhc_brep.
 +
 +
==Tuesday, August 9, 2022==
 +
* Solve the problem by changing the codes of openNURBS: mourning Casteljau, just caculate using NURBS.
 +
[[File:rhc_brep_bottom_v0.png|300px]]
 +
 +
==Wednesday, August 10, 2022==
 +
* sleuth source code on the math.
 +
* Look into memory changes while plotting bezier curve.
 +
 +
==Thursday, August 11, 2022==
 +
* debug creating rhc_brep's side face and top face.
 +
 +
==Friday, August 12, 2022==
 +
* Look into Casteljau algorithm for NURBS.(It's used for openNURBS drawing curve)
 +
[[File:rhc_brep_bottom_v1.png|300px]]
 +
[[File:rhc_brep_bottom_v1_rt.png|300px]]
 +
 +
for picture 1, the left obj is rhc primitive, the right is rhc_brep

Revision as of 00:06, 16 August 2022

Development Logs

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

  • 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

  • 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

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

Saturday, June 18, 2022

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

Monday, June 20, 2022

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

Tuesday, June 21, 2022

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

Wednesday, June 22, 2022

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

Thursday, June 23, 2022

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

Friday, June 24, 2022

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

Monday, June 27, 2022

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

Tuesday, June 28, 2022

  • Read codes related to brep and try debugging

Wednesday, June 29, 2022

  • Reorganize and test brep_arbintersection project

Thursday, June 30, 2022

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

Friday, July 1, 2022

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

Monday, July 4, 2022

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

Tuesday, July 5, 2022

  • Debug brep using file output system.

Wednesday, July 6, 2022

  • Ditto

Thursday, July 7, 2022

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

Monday, July 11, 2022

  • Reread NURBS Development Guide

Tuesday, July 12, 2022

  • 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

  • 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

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

Friday, July 15, 2022

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

Saturday, July 16, 2022

  • Check map from old dplot command to brep.

Monday, July 18, 2022

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

Tuesday, July 19, 2022

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

Wednesday, July 20, 2022

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

Thursday, July 21, 2022

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

Friday, July 22, 2022

  • Test to convert primitives to brep, record issues.

Monday, July 25, 2022

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

Tuesday, July 26, 2022

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

Wednesday, July 27, 2022

  • Try to evaluate brep obj using nirt.

Thursday, July 28, 2022

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

Friday, July 29, 2022

  • Ask for leave

Monday, August 1, 2022

  • 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

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

Wednesday, August 3, 2022

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

Thursday, August 4, 2022

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

Friday, August 5, 2022

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

Monday, August 8, 2022

  • Sleuth the formula by openNURBS source code.
  • Monitor variables change while drawing curcve of rhc_brep.

Tuesday, August 9, 2022

  • Solve the problem by changing the codes of openNURBS: mourning Casteljau, just caculate using NURBS.

Rhc brep bottom v0.png

Wednesday, August 10, 2022

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

Thursday, August 11, 2022

  • debug creating rhc_brep's side face and top face.

Friday, August 12, 2022

  • Look into Casteljau algorithm for NURBS.(It's used for openNURBS drawing curve)

Rhc brep bottom v1.png Rhc brep bottom v1 rt.png

for picture 1, the left obj is rhc primitive, the right is rhc_brep