Editing User:Plussai/GSoC 2012 log

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 15: Line 15:
 
     ON_BrepTrimArray m_T;//trims
 
     ON_BrepTrimArray m_T;//trims
 
     ON_BrepVertexArray m_V;//vertexs
 
     ON_BrepVertexArray m_V;//vertexs
[[Image:brep.jpg]]   
+
    figure:[http://brlcad.org/w/images/5/5e/Brep.jpg]
figure:[http://brlcad.org/w/images/5/5e/Brep.jpg]
 
  
 
== 9 May 2012 ==
 
== 9 May 2012 ==
Line 82: Line 81:
 
*implement RT_ADD_VLIST(vhead, pt1, BN_VLIST_POINT_DRAW) in src/libdm/dm-ogl.c and upload the patch.
 
*implement RT_ADD_VLIST(vhead, pt1, BN_VLIST_POINT_DRAW) in src/libdm/dm-ogl.c and upload the patch.
 
*make progress for subcommand 'plot SCV' in mged.The patch can display not only the control net,but the control point.
 
*make progress for subcommand 'plot SCV' in mged.The patch can display not only the control net,but the control point.
 
==''Week 3''==
 
  
 
=== 4 June 2012 ===
 
=== 4 June 2012 ===
Line 100: Line 97:
 
*add 'info TB' 'SB' to display information piecewise bezier of trimcurve and surface.patch has been upload
 
*add 'info TB' 'SB' to display information piecewise bezier of trimcurve and surface.patch has been upload
 
*add 'plot TESS index plotres' to draw the trimesh of a nurbs surface. the tess has not taken apporimmation into consideration and just simply subdivide u,v  into plotres steps;
 
*add 'plot TESS index plotres' to draw the trimesh of a nurbs surface. the tess has not taken apporimmation into consideration and just simply subdivide u,v  into plotres steps;
 
==''Week 4''==
 
  
 
=== 12 June 2012 ===
 
=== 12 June 2012 ===
Line 131: Line 126:
 
           bool setFace(ON_BrepFace* face, bool removeTrimmed);
 
           bool setFace(ON_BrepFace* face, bool removeTrimmed);
 
           BBNode* createBezierTreeNode();
 
           BBNode* createBezierTreeNode();
 
==''Week 5''==
 
  
 
=== 18 June 2014 ===
 
=== 18 June 2014 ===
Line 174: Line 167:
 
       bool insertInEdge(TrimNode* pos, TrimNode* n);//insert a new node
 
       bool insertInEdge(TrimNode* pos, TrimNode* n);//insert a new node
 
       TrimNode* travelLoop(TrimNode* n,int step);//travel from a trimnode to form a close loop
 
       TrimNode* travelLoop(TrimNode* n,int step);//travel from a trimnode to form a close loop
 
==''Week 6''==
 
  
 
=== 26 June 2012 ===
 
=== 26 June 2012 ===
Line 196: Line 187:
 
   bool containsUVClose(const ON_2dPoint& uv);
 
   bool containsUVClose(const ON_2dPoint& uv);
 
*debug for doTrimming() by subdivide  plane surface manually in BBNode* SurfaceTree::subdivideSurface()
 
*debug for doTrimming() by subdivide  plane surface manually in BBNode* SurfaceTree::subdivideSurface()
 
==''Week 7''==
 
  
 
=== 2 July 2012 ===
 
=== 2 July 2012 ===
Line 219: Line 208:
 
*add member function into class BVNode<BV> to insert adjacent subdivide hit  
 
*add member function into class BVNode<BV> to insert adjacent subdivide hit  
 
     void insertAdjacentHit();
 
     void insertAdjacentHit();
 
=== 6 July 2012 ===
 
*add a trimcurve for ell.brep and hyp.brep manually to test trimming
 
*ell:left:top view,right:left view
 
[[Image:Ell1.png]]  [[Image:Ell2.png]]
 
*ell:left:local view,right:uv region
 
[[Image:Ell3.png]]        [[Image:Ell4.png]]
 
 
*hyp:
 
[[Image:HYP1.png]]        [[Image:HYP2.png]]
 
[[Image:HYP3.png]]        [[Image:HYP4.png]]
 
 
=== 8 July 2012 ===
 
*continue to debug 'doTrimming'.There exists a situation that some trim leafs'  bboxings overlap and it is difficult  to find the  nearest  trim  leaf above a surface leaf's bboxing in uv. Function 'prepTrim' mark the surface leaf in such situation as 'm_checkTrim = true'.But in some cases, the surface leaf is trimmed out.I changed the subdivision depth to 10 manually and tested the rhino0.s in mged.Some surface leaves which should be trimmed out are still remain.So, need a more accuracy method to check it.
 
*image: some BBoxing in uv which should be trimmed are still remain(right bottom conner).
 
[[Image:rhino.png]]        [[Image:rhino1.png]]
 
 
=== 10 July 2012 ===
 
*find a algorithm for 'TrimLoop' triangulation,algorithm has the steps below:
 
a) make the node in 'TrimLoop' to form a linked list.
 
 
b)for each triangle form by p0,p1,p2 successive in linked list,calculate the minimum inside angle.
 
 
c)find the triangle which has the max minimum inside angle, then record  the  triangle and remove the point p1 in the triangle
 
 
d)come to (a) until there only exists three points in the linked list
 
 
=== 12 July 2012 ===
 
*Update my patches.
 
 
==''Week 10''==
 
 
=== 1 Augest 2012 ===
 
*because of pressure of my paper schedule, I need to leave for a long time.I must
 
say sorry that I will not complete the final-evaluation for gsoc.
 
 
==''Week 11''==
 
 
=== 6 Augest 2012 ===
 
*I'v package my patch into three part after cleaning up and adding some comments.
 
I think the subdividion is OK some more test must be done to ensure my trimming algorithm is accurate enough.
 
*because of large amount of code need to be cleaned up and test but time is up, I decide to handle my paper firstly.
 
*But I will come back and complete my work finally.
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)