Editing User:Clouddrift/GSoC2014

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 31: Line 31:
 
==== Codes in nmg.h ====
 
==== Codes in nmg.h ====
  
:Core NMG structure and relevant macros are defined in this file. Including:
+
:Core NMG structure as well as relevant macros are defined in this file. Including:
 
:*'''NMG elements (7):''' The basic parts of Radial Edge Data Structure, containing model, region, shell, face, loop, edge and vertex.
 
:*'''NMG elements (7):''' The basic parts of Radial Edge Data Structure, containing model, region, shell, face, loop, edge and vertex.
 
:*'''NMG using elements (4):''' The using parts of Radial Edge Data Structure, containing faceuse, loopuse, edgeuse and vertexuse.
 
:*'''NMG using elements (4):''' The using parts of Radial Edge Data Structure, containing faceuse, loopuse, edgeuse and vertexuse.
Line 46: Line 46:
 
:* '''Print:''' Give some information about the specific NMG element in form of string.
 
:* '''Print:''' Give some information about the specific NMG element in form of string.
 
:* '''Classification:''' Compute the relationship between two NMG elements, such as point and face, point and solid, and so on.
 
:* '''Classification:''' Compute the relationship between two NMG elements, such as point and face, point and solid, and so on.
:* '''Intersection:''' Compute the intersection result between two NMG elements, such as getting a point from two edges or a line from two faces.
+
:* '''Intersection:''' Compute the intersection result between two NMG elements, such as getting a point from two edges or a lines from two faces.
 
:* '''Count:''' Count the specific element in a NMG element.
 
:* '''Count:''' Count the specific element in a NMG element.
 
:* '''Other Functions'''.
 
:* '''Other Functions'''.
Line 76: Line 76:
 
:According to the experience from other developers in community, it is absolute that lots of bugs are hidden in LIBNMG. So it is necessary to write a systematic set of test case. With more bugs discovered and fixed, the new-built library will be more readable and stable.
 
:According to the experience from other developers in community, it is absolute that lots of bugs are hidden in LIBNMG. So it is necessary to write a systematic set of test case. With more bugs discovered and fixed, the new-built library will be more readable and stable.
  
:There is some similar work done in src/libbu/tests. Finishing the test cases by consulting these samples will help me avoid many unnecessary mistakes. And what's more important, it must be assured that they can operate normally in CMake which BRL-CAD use to build system.
+
:There are some similar work done in src/libbu/tests. Finishing the test cases by consulting these samples will help me avoid many unnecessary mistakes. And what's more important, it must be assured that they can operate normally in CMake which BRL-CAD use to build system.
  
 
=== Add Euler Operation ===
 
=== Add Euler Operation ===
Line 107: Line 107:
  
 
== Schedule ==
 
== Schedule ==
:*Preparation Step 1 (1 April - 18 April): Deeply understanding current logic relationship and program architecture concerning NMG.
 
 
:*Preparation Step 2 (19 April - 18 May): Discuss with mentors/developers about the solution for removing redundant structs, moving into a stand-alone library, and so on. Try as much as possible to test and verify all possibilities.
 
 
 
:*Week 1 (19 May - 25 May): Estimate completely the influence of removing abundant structs. Make sure nothing misses attention.
 
:*Week 1 (19 May - 25 May): Estimate completely the influence of removing abundant structs. Make sure nothing misses attention.
  
Line 130: Line 126:
  
 
== Brief background ==
 
== Brief background ==
:I am a graduate student in State Key Lab of CAD & CG, School of Computer Science, Zhejiang University, China. I have 3 years' work experience in programming a CAD module for an Optical Critical Dimension system in a conductor measurement company using Open Cascade. Now, my main research direction is something about hexahedral mesh.
+
:I am a graduate student in State Key Lab of CAD & CG, School of CS, Zhejiang University, China. I have 3-year work experience in programming a CAD module for an Optical Critical Dimension system in a conductor measurement company using Open Cascade. Now, my main research direction is something about hexahedral mesh.
  
 
== Why BRL-CAD ==
 
== Why BRL-CAD ==
:There is no doubt that an amount of commercial CAD software is outstanding and amazing, but their high price of each copy decides that not everyone could get such a CAD tool to try and improve their unconstrained idea. We need open source software to make people free, free, and free more. I like this open source CAD system and community. I believe it is worthy to contribute efforts for BRL-CAD. At the meantime, I can learn rich and irreplaceable experience in connection with CAD from this project and other developers.
+
:It's no doubt that much commercial CAD software is outstanding and amazing, but their high price of each copy decides that not everyone could get such a CAD tool to try and improve their unconstrained idea. We need open source software to make people free, free, and free more. I like this open source CAD system and community. I believe it is worthy to contribute efforts for BRL-CAD. At the meantime, I can learn rich and irreplaceable experience in connection with CAD from this project and other developers.
  
 
== Why me ==
 
== Why me ==
:I'm a graduate student of Zhejiang University, which is famous for its reputation in the field of CAD&CG research. I have good background in CAD theories and programming skills. Moreover, this project is mainly about NMG mesh which is to a large extent related to my research and work experience. I have written a CAD module for an optical measurement system, whose user-friendly interface promoted the company's sales. I am sure it is no problem for me to finish it with high quality in time.
+
:I'm a graduate student of Zhejiang University, which is famous for its reputation in the field of CAD&CG research. I have good background in CAD theory and programming skills. What's more important, this project is mainly about NMG mesh that is more or less related to my research and work experience. I have written a CAD module for an optical measurement system, whose user-friendly interface promoted the company's sales. I am sure it is no problem for me to finish it with high quality in time.
  
 
:And, I make sure I can dedicate at least 40 hours per week in this summer holiday. I understand clearly the importance of adequate communication with other experienced developers and theory experts, whose valuable suggestions can enormously save twists and turns.
 
:And, I make sure I can dedicate at least 40 hours per week in this summer holiday. I understand clearly the importance of adequate communication with other experienced developers and theory experts, whose valuable suggestions can enormously save twists and turns.

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)