User:Bhollister/DevLogAug2015
From BRL-CAD
Contents
- 1 Sat, August 1, 2015
- 2 Sun, August 2, 2015
- 3 Mon, August 3, 2015 Week 11 (of 14)
- 4 Tues, August 4, 2015
- 5 Wed, August 5, 2015
- 6 Thurs, August 6, 2015
- 7 Fri, August 7, 2015
- 8 Sat, August 8, 2015
- 9 Sun, August 9, 2015
- 10 Mon, August 10, 2015 Week 12 (of 14)
- 11 Tues, August 11, 2015
- 12 Wed, August 12, 2015
- 13 Thurs, August 13, 2015
- 14 Fri, August 14, 2015
- 15 Sat, August 15, 2015
- 16 Sun, August 16, 2015
- 17 Mon, August 17, 2015 Week 13 (of 14)
- 18 Tues, August 18, 2015
- 19 Wed, August 19, 2015
- 20 Thurs, August 20, 2015
- 21 Fri, August 21, 2015 FIRM PENCILS DOWN
- 22 Sat, August 22, 2015
- 23 Sun, August 23, 2015
- 24 Mon, August 24, 2015 Week 14 (of 14)
- 25 Tues, August 25, 2015
- 26 Wed, August 26, 2015
- 27 Thurs, August 27, 2015
- 28 Fri, August 28, 2015 FINAL EVALS DUE
Sat, August 1, 2015
n/a
Sun, August 2, 2015
n/a
Mon, August 3, 2015 Week 11 (of 14)
- Summoned for jury service: Spent entire day at court house in Santa Cruz.
- Dismissed from jury duty but was called to jury box.
Tues, August 4, 2015
- investigating ways of labelling faces for CLI specification
- todo: may have to implement something like f_labelvert (in mged/overlay.c) but for face index labelling
- OR have users specify verts for face selection (probably not preferable)
- updated design docs reflecting recent integrated patches
non-brlcad expenditures...
- spent time in phone conversation negotiating / considering a job offer
Wed, August 5, 2015
- implementing new mged cmd called labelface need for kill F
- commit #1 added placeholder for lableface mged cmd
- commit #2 traversing model to collect a list of faces to label. work in progress...
Thurs, August 6, 2015
- labelface impl
- working to get list of faceuses from nmg model
- working to get center coord of face polygons
- this will allow labels to be displayed at center of faces
non-brlcad expenditures...
- spend much of the day deciding between two employment offers
- chose post-doctoral research over lecturer position
Fri, August 7, 2015
- commit #1 verified that faceuses are properly gathered in get_face_list. todo: use bu_list instead of array placeholder for faceuse list.
- todo: need to find how to calculate barycenter for face verts (there must be a utility function in brlcad)
- instead: very easy as a simple average of coords of face verts
- where face labels will be placed using bn_vlist_3string() in rt_label_vlist_faces()
Sat, August 8, 2015
n/a
Sun, August 9, 2015
n/a
Mon, August 10, 2015 Week 12 (of 14)
- commit #1 able to label faceuses at min pt of their bounding box. faceuse index used for label. todo: need to plot label at center of face. also need to find way to show both front / back facing faceuses. right now they are overdrawn. placeholder array causes seg fault when dereferencing empty faceuses in array.
- commit #2 using struct face as replacement to struct faceuse
- todo: use center of face for face index placement
- since there are two facesuses per face, best to use index of face for label
- see:
/** * Note: there will always be exactly two faceuse's using a face. To * find them, go up fu_p for one, then across fumate_p to other. */ struct face { struct bu_list l; /**< @brief faces in face_g's f_hd list */ struct faceuse *fu_p; /**< @brief Ptr up to one use of this face */ union { uint32_t *magic_p; struct face_g_plane *plane_p; struct face_g_snurb *snurb_p; } g; /**< @brief geometry */ int flip; /**< @brief !0 ==> flip normal of fg */ /* These might be better stored in a face_a (not faceuse_a!) */ /* These are not stored on disk */ point_t min_pt; /**< @brief minimums of bounding box */ point_t max_pt; /**< @brief maximums of bounding box */ long index; /**< @brief struct # in this model */ };
Tues, August 11, 2015
- commit #1 now taking avg of min and max bounding extents. works great for label placement.
- commit #2 rt_label_vlist_faces caught in infinite loop. face list element had forw / back points to itself. todo: fix.
Wed, August 12, 2015
- added labelface documentation
- added patch 403 for labelface cmd
- commit #1 fixed problem with adding same face struct to bu_list - which caused self-referential node (forw/back pointers pointing to node itself) in list
- commit #2 added help lookup for 'lableface'
- commit #3 removed accidental redundant error checking
- todo: implement 'kill F' next, using the indices provided in display by labelface
Thurs, August 13, 2015
- submitted patch 404 for 'kill F'
- commit #1 added boiler-plate for ged_nmg_kill_f cmd
- commit #2 using nmg_kfu(). loops / edges still present after faceuse / face removal. todo: either verify that face is removed by testing with solid face rendering, or remove loops / edges along with face...
- Documentation updated: http://brlcad.org/wiki/MGED_CMD_nmg#Subcommands
- todo: impl 'make V' as proposed
Fri, August 14, 2015
- commit #1 boiler-plate for move V mged cmd
- commit #2 move V cmd implementation. More or less a variation on kill V.
- commit #3 added check for cmd argument length. should not exceed two coords.
- submitted patch 405 for move V nmg subcommand
- updated docs
- updated project schedule to reflect remaining work for next week, i.e. make F, make V, labelvert -i
Sat, August 15, 2015
n/a
Sun, August 16, 2015
n/a
Mon, August 17, 2015 Week 13 (of 14)
- commit #1 beginning of vertex index labelvert -i option.
- crashing in bn_vlist_3string with MAT_DELTAS_VEC( xlate_to_origin, origin );
- todo: fix above issue
Tues, August 18, 2015
- commit #1 labelvert -i option working. however, code uses new struct vtxlabel to avoid potential lists already used by nmg datastructure (struct vertex). also, there is no freeing of label list. todo: either use struct vertex instead if there is no list in nmg structure using struct vertex, or free list appropriately after usage.
- commit #2 struct vertex does not have a l bu_list. do not want to alter nmg types. thus, now freeing struct vtxlabel list after use.
- todo: will cleanup above commits (if needed) and submit as patch tomorrow
Wed, August 19, 2015
- posted patch: 412
- posted patch: 409
- commit #1 now freeing heap memory for vertex label list
- commit #3 using bu_malloc and bu_free now.
- make V subcommand:
Thurs, August 20, 2015
- commit #1 apparently we don't want to create a new loopuse for each new isolated vertex. can only add one vertex per shell. so, todo: use nmg_msv, for each new vertex + shell.
- commit #2 working and cleaned up ged_nmg_kill_v. now adding a new shell when needed for a new vertex coord.
- commit #3 added info about move V subcommand.
- patch hasn't build properly with merge of latest changes (nmg_make_v.c) to trunk...working on it. todo: submit patch tomorrow??
- build dies @ 97 percent for linking ../../../../bin/step-g?
- commit #4 simplified code to not add into existing shell. this was causing an undef linking error due to head issues with nmg_mvvu().
- 'make V' nmg subcommand patch submitted, see...
- patch 414 Adds new vertices specified by their coords. Each vertex is added to a new shell in the NMG object.