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

From BRL-CAD
(Created page with "<h1>Final Report</h1> The project implemented some basic geometric and topological functions. Now BRL-CAD is able to create some basic polyhedrons. The final report lists the...")
 
Line 6: Line 6:
  
 
<h3>geometric operations</h3>
 
<h3>geometric operations</h3>
 +
 
1. v_create: create a new vertex
 
1. v_create: create a new vertex
 +
 
2. v_remove: remove a vertex
 
2. v_remove: remove a vertex
 +
 
3. c2_create_line: create a 2D parameter space geometric line
 
3. c2_create_line: create a 2D parameter space geometric line
 +
 
4. c2_remove: remove a 2D parameter space geometric curve
 
4. c2_remove: remove a 2D parameter space geometric curve
 +
 
5. c3_create: create a new NURBS curve
 
5. c3_create: create a new NURBS curve
 +
 
6. c3_in: create a new NURBS curve given a detailed description
 
6. c3_in: create a new NURBS curve given a detailed description
 +
 
7. c3_interp: create a new NURBS curve by interpolating given control vertices
 
7. c3_interp: create a new NURBS curve by interpolating given control vertices
 +
 
8. c3_copy: copy a NURBS curve
 
8. c3_copy: copy a NURBS curve
 +
 
9. c3_remove: remove a NURBS curve
 
9. c3_remove: remove a NURBS curve
 +
 
10. c3_move: move a NURBS curve to a specified position
 
10. c3_move: move a NURBS curve to a specified position
 +
 
11. c3_set_cv: set the control vertex of a NURBS curve
 
11. c3_set_cv: set the control vertex of a NURBS curve
 +
 
12. c3_flip: flip the direction of a NURBS curve
 
12. c3_flip: flip the direction of a NURBS curve
 +
 
13. c3_insert_knot: insert a knot into a NURBS curve
 
13. c3_insert_knot: insert a knot into a NURBS curve
 +
 
14. c3_trim: trim a NURBS curve using start and end parameters
 
14. c3_trim: trim a NURBS curve using start and end parameters
 +
 
15. c3_split: split a NURBS curve into two at a parameter
 
15. c3_split: split a NURBS curve into two at a parameter
 +
 
16. c3_join: join end of curve 1 to start of curve 2
 
16. c3_join: join end of curve 1 to start of curve 2
 +
 
17. s_create: create a new NURBS surface
 
17. s_create: create a new NURBS surface
 +
 
18. s_interp: create a new NURBS surface
 
18. s_interp: create a new NURBS surface
 +
 
19. s_copy: copy a NURBS surface
 
19. s_copy: copy a NURBS surface
 +
 
20. s_birail: create a new NURBS surface using two curves
 
20. s_birail: create a new NURBS surface using two curves
 +
 
21. s_remove: remove a NURBS surface
 
21. s_remove: remove a NURBS surface
 +
 
22. s_move: move a NURBS surface to a specified position
 
22. s_move: move a NURBS surface to a specified position
 +
 
23. s_set_cv: set a control vertex of a NURBS surface to a specified position
 
23. s_set_cv: set a control vertex of a NURBS surface to a specified position
 +
 
24. s_trim: trim a NURBS surface using start and end parameters
 
24. s_trim: trim a NURBS surface using start and end parameters
 +
 
25. s_split: split a NURBS surface into two given a parameter value
 
25. s_split: split a NURBS surface into two given a parameter value
 +
 
26. s_tensor: create a new NURBS surface by extruding the first curve along the second curve
 
26. s_tensor: create a new NURBS surface by extruding the first curve along the second curve
 +
 
27. s_revolution: create a new NURBS surface by rotating a curve around an axis by an angle
 
27. s_revolution: create a new NURBS surface by rotating a curve around an axis by an angle
 +
 
28. s_ext_v: extract a vertex from a NURBS surface
 
28. s_ext_v: extract a vertex from a NURBS surface
 +
 
29. s_ext_c3: extract a curve from a NURBS surface
 
29. s_ext_c3: extract a curve from a NURBS surface

Revision as of 20:30, 28 August 2023

Final Report

The project implemented some basic geometric and topological functions. Now BRL-CAD is able to create some basic polyhedrons. The final report lists the functionality implemented by this project, as well as the future directions that need to be implemented.

operations implemented

geometric operations

1. v_create: create a new vertex

2. v_remove: remove a vertex

3. c2_create_line: create a 2D parameter space geometric line

4. c2_remove: remove a 2D parameter space geometric curve

5. c3_create: create a new NURBS curve

6. c3_in: create a new NURBS curve given a detailed description

7. c3_interp: create a new NURBS curve by interpolating given control vertices

8. c3_copy: copy a NURBS curve

9. c3_remove: remove a NURBS curve

10. c3_move: move a NURBS curve to a specified position

11. c3_set_cv: set the control vertex of a NURBS curve

12. c3_flip: flip the direction of a NURBS curve

13. c3_insert_knot: insert a knot into a NURBS curve

14. c3_trim: trim a NURBS curve using start and end parameters

15. c3_split: split a NURBS curve into two at a parameter

16. c3_join: join end of curve 1 to start of curve 2

17. s_create: create a new NURBS surface

18. s_interp: create a new NURBS surface

19. s_copy: copy a NURBS surface

20. s_birail: create a new NURBS surface using two curves

21. s_remove: remove a NURBS surface

22. s_move: move a NURBS surface to a specified position

23. s_set_cv: set a control vertex of a NURBS surface to a specified position

24. s_trim: trim a NURBS surface using start and end parameters

25. s_split: split a NURBS surface into two given a parameter value

26. s_tensor: create a new NURBS surface by extruding the first curve along the second curve

27. s_revolution: create a new NURBS surface by rotating a curve around an axis by an angle

28. s_ext_v: extract a vertex from a NURBS surface

29. s_ext_c3: extract a curve from a NURBS surface