Sat, August 1, 2015


Sun, August 2, 2015


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
    • looked at:
    • none label objects with symbols (only color change, etc. and NOT faces)
    • ev provides some direction
  • 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


Sun, August 9, 2015


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:
  • 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
    • nmg
    • labelvert for proposed -i (index) option
      • this will allow for CLI specification with make F
  • updated project schedule to reflect remaining work for next week, i.e. make F, make V, labelvert -i

Sat, August 15, 2015


Sun, August 16, 2015


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:
    • commit #2 boiler-plate for make V cmd
    • commit #4 getting casting error with return variable from nmg_mvvu()

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 header 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.
  • todo: will see if I can get 'make F' working and submitted by COB tomorrow...
  • todo: minor updates to mged nmg docs as well.
  • todo: fix up -i option patch

Fri, August 21, 2015 FIRM PENCILS DOWN

  • commit #1 moved vtxlabel struct def to rt/vlist.h
  • commit #2 boiler-plate for ged_nmg_make_F subcommand
  • commit #3 added find verts function stub with nmg traversal
  • commit #4 make F working for three vertices specified by labelvert -i index labels
  • commit #5 first take on variabel command line with F
  • commit #6 appears to work for multiple F
  • todo: will submit patch for move F over weekend after more testing...

Sat, August 22, 2015

  • commit #1 processing mulitple faces on command line for 'make F' subcommand
  • submitted patch 415 for 'make F' subcommand
  • finished final evaluation on google-melange
  • updated mged nmg subcommands documentation

Sun, August 23, 2015


Mon, August 24, 2015 Week 14 (of 14)


Tues, August 25, 2015


Wed, August 26, 2015


Thurs, August 27, 2015


Fri, August 28, 2015 FINAL EVALS DUE