| 
  | __init__(self,
        reader,
        name="sometraj")
    (Constructor)
 |  |  
C{reader} specifies where to retrieve a trajectory frame when it's
needed but currently NOT in the memory (in other words, it's not cached
by this source). A reader could potentially be a file reader, a string
reader, a socket reader, a database dealer, etc., as long as it
satisfies the duck-typing requirements (see below). And interestingly,
the probably simplest reader is another ``trajectory'' (i.e., a list of
L{Frame} objects) in memory.
Duck typing for ``readers''.
- Random access
  C{reader[index]} should return the C{index}-th frame. Here C{index}
  is zero-based, of Python style (i.e., -1 means the last frame, etc.).
- C{len} support
  C{len(reader)} should return the total number of frames.
If a reader doesn't support the duck typing as specified above, a
subclass can be created to bypass the typing issue. See L{DtrSource}
below as an example.
    Overrides:
        object.__init__
     |