InkStroke Class Reference

List of all members.

Public Member Functions

 InkStroke ()
 InkStroke (Collection< PenSample > currentStrokeSamples, Units reference)
 Copies the samples into our own arrays.
 InkStroke (List< PenSample > stroke)
void addSample (double x, double y, int force, long ts)
void addSample (PenSample penSample)
double getArea ()
Rectangle2D getBounds ()
long getDuration ()
PenSample getEnd ()
 Returns the last sample in this stroke (end-point).
long getFirstTimestamp ()
Date getFirstTimestampAsDate ()
int[] getForceSamples ()
long getLastTimestamp ()
Date getLastTimestampAsDate ()
double getMaxX ()
double getMaxY ()
double getMinX ()
double getMinY ()
int getNumSamples ()
Units getReferenceUnit ()
List< PenSamplegetSamples ()
PenSample getStart ()
 Returns the first sample in this stroke (start-point).
long[] getTimeSamples ()
double getWidth ()
double[] getXSamples ()
int[] getXSamplesAsInts ()
double[] getYSamples ()
int[] getYSamplesAsInts ()
void setBounds (double minStrokeX, double minStrokeY, double maxStrokeX, double maxStrokeY)
void setMaxX (float mxX)
void setMaxY (float mxY)
void setMinX (float mnX)
void setMinY (float mnY)
void setSamples (List< PenSample > newSamples)
String toString ()

Detailed Description

Store ink strokes (multiple samples) in here.

We assume that the units in this stroke are consistent (one reference unit), and make sense to the client class that ends up using this stroke object. For example, if the units is in PatternDots, and the values are derived directly from the streaming PenListeners, we need to make sure that the stroke samples do not jump from one page tile to another. In that case, we would assume that the streamed samples come from one Anoto pattern tile, unless otherwise specified.

This software is distributed under the BSD License.

Author:
Ron B Yeh (ronyeh(AT)cs.stanford.edu)

Definition at line 34 of file InkStroke.java.


Constructor & Destructor Documentation

InkStroke ( Collection< PenSample currentStrokeSamples,
Units  reference 
)

Copies the samples into our own arrays.

The reference unit enables us to interpret the samples correctly.

Parameters:
currentStrokeSamples 
reference 

Definition at line 87 of file InkStroke.java.

References InkStroke.addSample().

InkStroke ( List< PenSample stroke  ) 

Parameters:
stroke 

Definition at line 97 of file InkStroke.java.


Member Function Documentation

void addSample ( PenSample  penSample  ) 

Parameters:
penSample 

Definition at line 120 of file InkStroke.java.

References PenSample.x, and PenSample.y.

void addSample ( double  x,
double  y,
int  force,
long  ts 
)

Parameters:
x 
y 
force 
ts 

Definition at line 107 of file InkStroke.java.

Referenced by StrokeHandler.handleEvent(), InkStroke.InkStroke(), PenSimulator.mouseDragged(), PenSimulator.mousePressed(), and PenSimulator.mouseReleased().

double getArea (  ) 

Returns:
the area in pixels^2, or whatever units the ink is in (possible PatternDots^2)

Definition at line 133 of file InkStroke.java.

Referenced by InkUtils.getStrokeWithLargestArea().

Rectangle2D getBounds (  ) 

Returns:

Definition at line 140 of file InkStroke.java.

Referenced by InkUtils.clusterStrokes(), InkUtils.getAllStrokesContainedWithin(), InkUtils.getAllStrokesOutside(), InkUtils.getStrokesPartlyOutside(), and SketchToPaperUI.translate().

long getDuration (  ) 

Returns:

Definition at line 147 of file InkStroke.java.

References InkStroke.getFirstTimestamp(), and InkStroke.getLastTimestamp().

PenSample getEnd (  ) 

Returns the last sample in this stroke (end-point).

Returns:

Definition at line 156 of file InkStroke.java.

Referenced by SketchToPaperUI.translate().

long getFirstTimestamp (  ) 

Returns:
the earliest time stamp of this stroke

Definition at line 163 of file InkStroke.java.

Referenced by InkStroke.getDuration().

int [] getForceSamples (  ) 

Returns:

Definition at line 174 of file InkStroke.java.

References InkStroke.getNumSamples().

Referenced by CalibrationEngine.alignInkStrokes().

long getLastTimestamp (  ) 

Returns:

Definition at line 186 of file InkStroke.java.

Referenced by InkStroke.getDuration().

Date getLastTimestampAsDate (  ) 

Returns:

Definition at line 193 of file InkStroke.java.

Referenced by InkStroke.toString().

double getMaxX (  ) 

Returns:
the maxX

Definition at line 200 of file InkStroke.java.

double getMaxY (  ) 

Returns:
the maxY

Definition at line 207 of file InkStroke.java.

double getMinX (  ) 

Returns:
the minX

Definition at line 214 of file InkStroke.java.

double getMinY (  ) 

Returns:
the minY

Definition at line 221 of file InkStroke.java.

int getNumSamples (  ) 

Returns:

Definition at line 228 of file InkStroke.java.

Referenced by InkStroke.getForceSamples(), InkStroke.getTimeSamples(), InkStroke.getXSamples(), InkStroke.getXSamplesAsInts(), InkStroke.getYSamples(), InkStroke.getYSamplesAsInts(), and InkStroke.toString().

Units getReferenceUnit (  ) 

Returns:

Definition at line 235 of file InkStroke.java.

PenSample getStart (  ) 

Returns the first sample in this stroke (start-point).

Returns:

Definition at line 248 of file InkStroke.java.

Referenced by SketchToPaperUI.translate().

long [] getTimeSamples (  ) 

Returns:

Definition at line 255 of file InkStroke.java.

References InkStroke.getNumSamples().

Referenced by CalibrationEngine.alignInkStrokes().

double [] getXSamples (  ) 

Returns:

Definition at line 271 of file InkStroke.java.

References InkStroke.getNumSamples().

Referenced by CalibrationEngine.alignInkStrokes().

int [] getXSamplesAsInts (  ) 

Returns:

Definition at line 283 of file InkStroke.java.

References InkStroke.getNumSamples().

double [] getYSamples (  ) 

Returns:

Definition at line 295 of file InkStroke.java.

References InkStroke.getNumSamples().

Referenced by CalibrationEngine.alignInkStrokes().

int [] getYSamplesAsInts (  ) 

Returns:

Definition at line 307 of file InkStroke.java.

References InkStroke.getNumSamples().

void setBounds ( double  minStrokeX,
double  minStrokeY,
double  maxStrokeX,
double  maxStrokeY 
)

Parameters:
minStrokeX 
minStrokeY 
maxStrokeX 
maxStrokeY 

Definition at line 322 of file InkStroke.java.

void setMaxX ( float  mxX  ) 

Parameters:
mxX the maxX to set

Definition at line 333 of file InkStroke.java.

void setMaxY ( float  mxY  ) 

Parameters:
mxY the maxY to set

Definition at line 341 of file InkStroke.java.

void setMinX ( float  mnX  ) 

Parameters:
mnX the minX to set

Definition at line 349 of file InkStroke.java.

void setMinY ( float  mnY  ) 

Parameters:
mnY the minY to set

Definition at line 357 of file InkStroke.java.


The documentation for this class was generated from the following file:
Generated on Sat Apr 14 18:21:43 2007 for R3 Paper Toolkit by  doxygen 1.4.7