Create geometry database with one of every primitiveBRL-CAD
Status: ClosedTime to complete: 48 hrs Mentors: SeanTags: modeling, testing, geometry, 3D

BRL-CAD implements 40 different types of 2D, 3D, and non-geometric objects that get stored in a ".g" geometry database file. For numerous debugging and testing purposes, it'd be useful to have a database with all object types included. Our csgbrep procedural geometry database tool creates 21 of them. Ourmged geometry editor application lets users create them manually using the "make" and "in" commands via the command-line interface.

This task involves running the csgbrep to create a starting set of objects and then creating the remaining ones manually. Provide a .g file that contains every possible object type.

References:

Uploaded Work
File name/URLFile sizeDate submitted
allobjects.g282.9 KBNovember 28 2012 16:48 UTC
allobjects.g283.1 KBNovember 28 2012 18:24 UTC
allobjects.g283.7 KBNovember 29 2012 16:16 UTC
allobjects.g284.6 KBDecember 01 2012 09:30 UTC
allobjects.g285.9 KBDecember 02 2012 12:02 UTC
Comments
Donny Mitsovon November 27 2012 15:09 UTCTask Claimed

I would like to work on this task.

Sean on November 27 2012 15:14 UTCTask Assigned

This task has been assigned to Donny Mitsov. You have 48 hours to complete this task, good luck!

Donny Mitsovon November 28 2012 16:48 UTCReady for review

The work on this task is ready to be reviewed.

Harmanpreet Singh on November 29 2012 05:46 UTCTask Needs More Work

One of the mentors has sent this task back for more work. Talk to the mentor(s) assigned to this task to satisfy the requirements needed to complete this task, submit your work again and mark the task as complete once you re-submit your work.

Harmanpreet Singh on November 29 2012 06:04 UTCSome primitives missing

Your database file missing some primitives. These are: grip, pnts, tec, trc


You must check the names of all possible primitives; just run the command 'make' in command window, and you will see list of all possible primitives.


Good luck...!!

Sean on November 29 2012 06:14 UTCmake and 'in'

Even the make command doesn't support creating all primitives (e.g., superell), only those that have a default form described in the implementation.  The 'in' command will create several that 'make' will not.  Here's a bigger list:


#define ID_TOR          1       /** @brief Toroid */


#define ID_TGC          2       /** @brief Generalized Truncated General Cone */


#define ID_ELL          3       /** @brief Ellipsoid */


#define ID_ARB8         4       /** @brief Generalized ARB.  V + 7 vectors */


#define ID_ARS          5       /** @brief ARS */


#define ID_HALF         6       /** @brief Half-space */


#define ID_REC          7       /** @brief Right Elliptical Cylinder [TGC special] */


#define ID_POLY         8       /** @brief Polygonal faceted object */


#define ID_BSPLINE      9       /** @brief B-spline object */


#define ID_SPH          10      /** @brief Sphere */


#define ID_NMG          11      /** @brief n-Manifold Geometry solid */


#define ID_EBM          12      /** @brief Extruded bitmap solid */


#define ID_VOL          13      /** @brief 3-D Volume */


#define ID_ARBN         14      /** @brief ARB with N faces */


#define ID_PIPE         15      /** @brief Pipe (wire) solid */


#define ID_PARTICLE     16      /** @brief Particle system solid */


#define ID_RPC          17      /** @brief Right Parabolic Cylinder  */


#define ID_RHC          18      /** @brief Right Hyperbolic Cylinder  */


#define ID_EPA          19      /** @brief Elliptical Paraboloid  */


#define ID_EHY          20      /** @brief Elliptical Hyperboloid  */


#define ID_ETO          21      /** @brief Elliptical Torus  */


#define ID_GRIP         22      /** @brief Pseudo Solid Grip */


#define ID_JOINT        23      /** @brief Pseudo Solid/Region Joint */


#define ID_HF           24      /** @brief Height Field */


#define ID_DSP          25      /** @brief Displacement map */


#define ID_SKETCH       26      /** @brief 2D sketch */


#define ID_EXTRUDE      27      /** @brief Solid of extrusion */


#define ID_SUBMODEL     28      /** @brief Instanced submodel */


#define ID_CLINE        29      /** @brief FASTGEN4 CLINE solid */


#define ID_BOT          30      /** @brief Bag o' triangles */


#define ID_COMBINATION  31      /** @brief Combination Record */


#define ID_BINUNIF      33      /** @brief Uniform-array binary */


#define ID_SUPERELL     35      /** @brief Superquadratic ellipsoid */


#define ID_METABALL     36      /** @brief Metaball */


#define ID_BREP         37      /** @brief B-rep object */


#define ID_HYP          38      /** @brief Hyperboloid of one sheet */


#define ID_REVOLVE      40      /** @brief Solid of Revolution */


#define ID_PNTS         41      /** @brief Collection of Points */


 

Sean on November 29 2012 06:14 UTCDeadline extended

The deadline of the task has been extended with 2 days and 0 hours.

Donny Mitsovon November 29 2012 07:16 UTCReady for review

The work on this task is ready to be reviewed.

Donny Mitsovon November 29 2012 07:16 UTCReady for review

The work on this task is ready to be reviewed.

Harmanpreet Singh on November 29 2012 17:11 UTCPrimitives missing

Have you checked Sean's reply dated 26 Nov. 6:14 UTC ? He has given the lists of primitives that your database file must include. You need to add more primitives to your file.

Harmanpreet Singh on November 29 2012 17:14 UTCTask Needs More Work

One of the mentors has sent this task back for more work. Talk to the mentor(s) assigned to this task to satisfy the requirements needed to complete this task, submit your work again and mark the task as complete once you re-submit your work.

Donny Mitsovon December 1 2012 09:31 UTCReady for review

The work on this task is ready to be reviewed.

Melange on December 1 2012 15:36 UTCNo more Work can be submitted

Melange has detected that the deadline has passed and no more work can be submitted. The submitted work should be reviewed.

Harmanpreet Singh on December 1 2012 18:40 UTCTask Needs More Work

One of the mentors has sent this task back for more work. Talk to the mentor(s) assigned to this task to satisfy the requirements needed to complete this task, submit your work again and mark the task as complete once you re-submit your work.

Harmanpreet Singh on December 1 2012 18:47 UTCStill missing

Refering to Sean's comment on 29 November 6:14 UTC, your .g file still missing some primitives.


However, your deadline has passed, I will extend it for one day.


Good luck...!!

Harmanpreet Singh on December 1 2012 18:47 UTCDeadline extended

The deadline of the task has been extended with 1 days and 0 hours.

Donny Mitsovon December 2 2012 12:03 UTCReady for review

The work on this task is ready to be reviewed.

Melange on December 2 2012 19:54 UTCNo more Work can be submitted

Melange has detected that the deadline has passed and no more work can be submitted. The submitted work should be reviewed.

Sean on December 4 2012 06:00 UTCTask Closed

Congratulations, this task has been completed successfully.

Sean on December 4 2012 06:05 UTCgood enough

Donny, there are a few more issues, but you've definitely put great effort pulling this .g file together.  I went ahead and approved it because of that effort, but I'm hoping you can send me your other files.  Some of your .g file objects reference other files that were not included (e.g., dsp.s, ebm, etc).  Would you wrap them up and submit them to either your next task or to our patches tracker on Sourceforge?


 

Sean on December 18 2012 04:43 UTCexternal files?

Donny, would you provide your external files?


 

Sean on December 29 2012 07:09 UTCoutstanding

Outstanding, thank you Donny!


 

Sean on January 14 2013 15:09 UTCthank you

As GCI comes to a close, we wanted to take the time to say THANK YOU for all your efforts.  This comment interface closes after GCI is over, so you're encouraged to join our mailing list where we'll be announcing contributions from GCI participants like yourelf over the upcoming months: 


https://lists.sourceforge.net/lists/listinfo/brlcad-news


If you've provided your full name, we'll be sure to credit you in our authorship documentation and you'll see your name in a future announcement.  If you contact us at devs@brlcad.org or via IRC, we'll even let you know when your work is integrated and follow up with updates.  You're welcome and encouraged to contact us any time, especially if you have a question about how to continue participating in Open Source after GCI is over, but even if just to keep in touch.  Note that ongoing participation in Open Source is one of the most impressive skills to have on your resumé.  Take care, be well, and thank you again!