m |
(add link to Martin paper) |
||
Line 57: | Line 57: | ||
Consolidate Owens and Reeves approaches to ray intersection. | Consolidate Owens and Reeves approaches to ray intersection. | ||
* Benefit: improved code maintainability. | * Benefit: improved code maintainability. | ||
+ | |||
+ | Reference: http://www.cs.utah.edu/~shirley/papers/raynurbs.pdf | ||
= BREP/NURBS healing= | = BREP/NURBS healing= |
Implement conversion of implicit primitives to BREP/NURBS primitives. Partially complete, primitives are fixed at origin, some primitives unimplemented.
Implement conversion of BREP/NURBS to NMG.
Identify useful concepts implemented in the old BSPLINE/NURBS code that are not present in openNURBS.
Port any useful BSPLINE/NURBS code to openNURBS data structures and routines.
Implement boolean evaluation of BREP/NURBS surfaces.
Implement plate mode BREP/NURBS objects. Similar, if not identical, to plate mode BoTs, 'brep' objects need the ability to have a thickness described so you could automatically handle non-solid NURBS and sheet-metal style geometry without requiring surface solidity.
Develop test scripts for comparing conversion of implicit CSG to BREP/NURBS CSG
Document the new BREP/NURBS primitive.
Implement data cache objects. Create new LIBRT API routines for storing cache data in a v5 container. This would amount to storing binary data into a 'binunif' object marked as hidden with attributes for date/time stamping and MD5 or SHA256 checksumming.
Cache BREP/NURBS prep results to a specified cache file.
Improve BREP/NURBS wireframe. Investigate using knots on subcurves.
Consolidate Owens and Reeves approaches to ray intersection.
Reference: http://www.cs.utah.edu/~shirley/papers/raynurbs.pdf
Implement an rt_heal(rt_db_internal *dbi); routine. The routine tightens up trimming curves and edge/vertex pairings so that they align perfectly while still preserving the topological structure.