Skip to content.

Dec 8 - Shape Tool Library

Hour 1 - Library Concepts

(:05 - :10)
  • Genesis
    • Library Needs
      • Portable geometry manipulation
      • Easily used
      • Easily compiled
    • Library is Not:
      • visualization toolkit
      • file format
    • Solution
      • Java
      • General data model
      • Extensible read/write archictecture
      • Documentation
      • Useful Examples

  • Data Model (:10 - :15)
    • Shape definition - tinkertoy / points connected by straight (Eulerian) lines.
    • points, edges, faces, solids, attributes, children

Shape Tools data model diagram

Library Organization

(:15 - :40)

  • goals
    • easy to use
    • keep core classes small
    • separate types of functionality into different packages
    • extensible
    • no dimensional assumptions (n-d vertices)
    • excellent documentation: java doc, user guides, examples, twiki
    • do only whats actually needed.
    • unit testing
  • structure (figure 2)
    • shape package - core data model
    • shapeio package - readers and writers
    • shape packages
    • other packages
      • attribute
      • geometry - component implementations
      • math - math computation methods
      • util - misc utilities
Shape Tools top level package diagram


Shape Tools shape package diagram

Trivial Example and important Implementation Details

(:40 - :50)

coordinate arrays

Shape Tools Coordinate Array diagram

edges are directional

Shape Tools - points, edges and faces (flawed)



Shape Tools - points, edges and faces (correct)

More Examples (:50 - :60)

break (5 min)

Hour 2

(1:10 - 2:00)

Questions, Comments and Suggestions