Skip to content.
Main > TWikiUsers > CraigSchwartz > ProgrammerGuideNotes

Rough Notes on contents of a ShapeIO programmers Guide

Generic Reader description

  • create a Shape
  • Read Vertices
  • Add vertices
  • Construct Edges, if needed
  • add edges
  • read faces
  • add faces
  • read metadata

Data Model Description

  • what it can model
  • what it cannot model
  • why a limited model was chosen

SurfaceIO package

  • advantages - auto discovery of file reader
  • requriements -

Simple Example: OFF shape (w/o a keyword)

  • vertices
    • read vertices
    • create

General Notes to include

  • ShapeIO package
    • conventions
      • sub-package names and description of what ought to go into them.
    • contents - describe existing readers and writers
    • services listings and how
    • file type discovery mechanism
  • use of library version number
  • describe point set coordinate convention
    • convention
    • why it was chosen
    • sample usage of iterating across points of arbitrary dimension
  • define "metadata" , with a few examples of
    • metadata pertinent to the shape as a whole
    • metadata pertinent to a shape component
  • explantion of why an ImageInputStream is used instead of an InputStream.
  • Exmample of file metadata being added to the Shape AttributeSet
  • table describing what type of IAttribute to use with various data types
  • table describing the the types of IPointSet implementtations, when to use them, pros, and cons
  • table describing the IEdgeSet implementations, when to use them, pros, and cons,
  • have to manually add class neams to META-INF/services/... files
  • if you add a color to a component remember to set setColorAttribute(ColorAttributeName)
  • Values that have a 1-1 corrospondence to a shape component (Points, Edges, Faces or Solids) should be added to that component's AttributeSet. Examples are:
    • points
      • vertex colors
      • vertex normals
    • Faces
      • face colors

-- CraigSchwartz - 23 Nov 2005