Difference between revisions of "Deuces"
(Removed completed UI tasks) |
(Removed completed outreach/research tasks.) |
||
Line 349: | Line 349: | ||
---- | ---- | ||
''Tasks related to community management, outreach/marketing, studying problems, and recommending solutions'' | ''Tasks related to community management, outreach/marketing, studying problems, and recommending solutions'' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | ||
Line 499: | Line 381: | ||
Building on the previous GCI task work, take it to the next step. Try setting a vector to 1/3, 1/3, 1/3 and 0.1, 0.1, 0.1 and get proper values to print. Change the V3ARGS() macro if needed. If that all works, try to get bn_dist_pt3_pt3() to work. Report and discuss your progress. | Building on the previous GCI task work, take it to the next step. Try setting a vector to 1/3, 1/3, 1/3 and 0.1, 0.1, 0.1 and get proper values to print. Change the V3ARGS() macro if needed. If that all works, try to get bn_dist_pt3_pt3() to work. Report and discuss your progress. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Revision as of 23:34, 7 November 2014
This is a list of succinct tasks that are expected to take most people familiar with the prerequisites less than two hours to complete. It's a great starting point for anyone interested in contributing to BRL-CAD.
The tasks are all roughly the same complexity with no prior BRL-CAD experience expected. A description is provided along with a list of references and files you'll probably need to edit. Can we make it any easier?
Getting Started
Contact us (via IRC or brlcad-devel mailing list) if you have questions, comments, or ideas of your own you'd like to suggest.
We've made an awesome virtual disk image that has everything you need preconfigured and ready to go:
- Download our BRL-CAD Virtual Machine (VM) disk image.
- Install VirtualBox.
- Import and start the VM, log in (the password is "Brlcad!" without the quotes).
- Run "svn up brlcad-svn-trunk" and get started!
Pick a Task
We break down all tasks into one of five categories. Don't be worried if the tasks all sound confusing to you. Just pick one and start reading the references we've provided. Join IRC or our mailing list and ask questions.
- Code (programming)
- Documentation and Training (writing)
- Outreach and Research (graphics)
- Quality Assurance (testing)
- User Interface (designing)
Contents
- 1 Getting Started
- 2 Pick a Task
- 2.1 Code
- 2.2 Documentation and Training
- 2.2.1 Add missing documentation (for any ONE command)
- 2.2.2 Write an article "BRL-CAD for dummies"
- 2.2.3 Write a "BRL-CAD Commands Quick Reference" document
- 2.2.4 Doxygen cleanup
- 2.2.5 Write up Wiki page tutorial on our Volumetric Primitive
- 2.2.6 Write a wiki tutorial on how to create a polygonal mesh (NMG) manually
- 2.2.7 Fix Image Formatting in BRL-CAD's DocBook Documentation (any ONE large document or 4 smaller documents)
- 2.3 Outreach and Research
- 2.3.1 Profile NURBS prep performance
- 2.3.2 Continue investigating GMP integration
- 2.3.3 Design a T-Shirt for BRL-CAD
- 2.3.4 Design a coffee mug for BRL-CAD
- 2.3.5 Design BRL-CAD sticker
- 2.3.6 Design BRL-CAD phone/tablet back cover
- 2.3.7 Design a wallpaper set for BRL-CAD
- 2.3.8 Create Iron Man Arc Reactor Model in BRL-CAD
- 2.4 Quality Assurance
- 2.5 User Interface
- 2.5.1 Create an ISST screenshot or animation
- 2.5.2 Categorize all of BRL-CAD's commands into a spreadsheet
- 2.5.3 Design a Cover Photo for Facebook page (and other social networks)
- 2.5.4 Design a banner ad for BRL-CAD
- 2.5.5 Creating Motion Typography video for BRL-CAD
- 2.5.6 Create a screen-cast for BRL-CAD
- 2.5.7 Loading Google charts from API
- 3 When You're Done
Code
Tasks related to writing or refactoring code
See the When You're Done section above for details on submitting your changes.
Fix bounding box function for our polygonal mesh (BoT) primitiveBRL-CAD provides functions for its geometric primitives that define a bounding box - a box that completely encloses the volume described by the primitive. Ideally, these boxes are as small as possible while still enclosing the primitive. Currently the routine for BoTs is incorrect. You can use stl-g, obj-g, or any of our other *-g converters to import BoT geometry for testing. This task involves studying the current code for the function rt_bot_bbox() and determining what is causing the current inaccuracies (the mged 'bb' command is a good way to visualize primitive bounding boxes). Make changes to produce a more optimal bounding box. Reimplement it from scratch if you like. The raytracing prep code in rt_bot_prep does prepare a better bounding box, so that is one place to check. Code:
|
Close MGED when both windows are closedBRL-CAD has an interactive geometry editor called MGED. It's often the starting point for beginners and allows creation and manipulation of models using commands. When mged is run, it creates 2 windows: a text-console command window and an interactive graphics window. When the user closes one of those windows, there is a bug. Closing the graphics window closes the command window. This task involves fixing this behavior so that ONLY closing both windows terminates the process properly and that closing either window does not take the other along with it. Code:
|
|}
Implement a primitive centroid functionBRL-CAD provides more than two dozen types of geometry "primitives" such as ellipsoids, boxes, and cones. Every primitive is described by a collection of callback functions, for example rt_ell_bbox() returns the bounding box dimensions for an ellipsoid. Wikipedia, Wolfram Mathworld, and various other math sites (and research papers) around the web include the equations for most of our basic primitives while others are a little more tricky to compute. This task involves writing a new callback function that takes an rt_db_internal object and calculates its centroid (as a point_t 3D point). There are numerous examples in our code where we compute centroids for other primtiives. The primitives that do not already have a centroid callback are itemized in following. References:
Code:
Documentation and TrainingTasks related to creating/editing documents and helping others learn more about BRL-CAD
Outreach and ResearchTasks related to community management, outreach/marketing, studying problems, and recommending solutions
Quality AssuranceTasks related to testing and ensuring code is of high quality
User InterfaceTasks related to user experience research or user interface design and interaction
When You're DoneFor non-code, just send us your file(s). For code changes, you will be expected to provide a patch file. Make sure you read your patch file before submitting it. Make sure your patch file will apply cleanly to an unmodified checkout of BRL-CAD: svn co https://brlcad.svn.sourceforge.net/svnroot/brlcad/brlcad/trunk brlcad.edit cd brlcad.edit # make changes svn diff > ~/my.patch # read ~/my.patch file with text editor cd .. svn co https://brlcad.svn.sourceforge.net/svnroot/brlcad/brlcad/trunk brlcad.fresh cd brlcad.fresh patch -p0 < ~/my.patch # submit your patch file to our patches tracker
|