Squeak Class Documentation category index | class index  
 
CRFeature
  category: Genie-Engine
  superclass: Object
  subclasses: CRDotFeature CREmptyFeature CRStrokeFeature

This is the abstract base class to describe features of a gesture.
There exists 3 concrete subclasses (CREmptyFeature, CRDotFeature and CRStrokeFeature), but two of them (CREmptyFeature and CRDotFeature) are trivial.

Features are created by the recognizer (CRRecognizer) and are afterwads compared to other features in a dictionary and/or added to a dictionary.
The comparing algorithms, that are the heart of genie recognition engine, are part of this class (resp. its subclasses). (The comparing algorithms of CRDotFeature and CREmptyFeature are quite trivial, but the ones of CRStrokeFeature are pretty sophisticated).

instance methods
  accessing
  asMorphSize:border:relative:properties:showPoints:orientation:
capturedPointsFormSize:border:relative:properties:
capturedPointsMorphSize:border:relative:properties:
drawCapturedPointsOn:size:topLeft:relative:properties:
drawFeatureOn:size:topLeft:relative:properties:
featureFormSize:border:relative:properties:
featureMorphSize:border:relative:properties:
fillCache
hotspot
hotspot:
maxStrokeDistance
reduceCapturedPoints
relativeSize
releaseCache
removeCapturedPoints
size
strokeSize
textMorph
time
time:

  comparing
  acuteAngleDistance:maxNormDist:
angleDistance:maxNormDist:
shapeDistance:maxNormDist:
sizeDistance:maxNormDist:
startEndDistance:maxNormDist:
strokeDistance:maxNormDist:
symmetricStrokeDistance:maxNormDist:
timeDistance:maxNormDist:

  private
  textString

  private comparing
  sameClassAcuteAngleDistance:maxNormDist:
sameClassAngleDistance:maxNormDist:
sameClassShapeDistance:maxNormDist:
sameClassStartEndDistance:maxNormDist:
sameClassStrokeDistance:maxNormDist:
sameClassSymmetricStrokeDistance:maxNormDist:

  testing
  hasSomeCapturedPoints
isCacheFull
isDot
isEmpty
isStroke

class methods
  constants
  maxNormDistance
maxSize

instance methods
  accessing top  
 

asMorphSize:border:relative:properties:showPoints:orientation:

Return a morph representing this feature


 

capturedPointsFormSize:border:relative:properties:

Return a form containing the graphics with all the captured points


 

capturedPointsMorphSize:border:relative:properties:

Return a Morph representing the graphics of all the captured points


 

drawCapturedPointsOn:size:topLeft:relative:properties:

Draw the captured points on the given form. Refinied in subclasses


 

drawFeatureOn:size:topLeft:relative:properties:

Draw the feature on the given form. Refinied in subclasses


 

featureFormSize:border:relative:properties:

Return a form with the graphical representation of the feature


 

featureMorphSize:border:relative:properties:

Return a morph holding the graphical representation of the feature


 

fillCache


 

hotspot

What's the hotspot of the feature?
Possibilities: #start, #end, #top, #bottom, #left, #right, #topLeft, #bottomRight, #topRight,
#bottomLeft


 

hotspot:

What's the hotspot of the feature?
Possibilities: #start, #end, #top, #bottom, #left, #right, #topLeft, #bottomRight, #topRight,
#bottomLeft


 

maxStrokeDistance


 

reduceCapturedPoints


 

relativeSize

Return the size relative to the maximum feature size in percent


 

releaseCache


 

removeCapturedPoints


 

size

Absolute size of the feaure


 

strokeSize

Number of stroke segments


 

textMorph

A morph describing certain parts of the feature in a textual way


 

time

The time the user used to capture the feature


 

time:

The time the user used to capture the feature


  comparing top  
 

acuteAngleDistance:maxNormDist:

This distance measures the difference between two features regading acute angles


 

angleDistance:maxNormDist:

This distance measures the difference between two features regading angles


 

shapeDistance:maxNormDist:

This distance measures the difference between two features regading the shape
of the bounding boxes


 

sizeDistance:maxNormDist:

This distance measures the difference between two features regading the sizes.


 

startEndDistance:maxNormDist:

This distance measures the difference between two features regading the relative
start- and endpoint.


 

strokeDistance:maxNormDist:

This distance measures the difference between two features regading the whole
stroke.


 

symmetricStrokeDistance:maxNormDist:

Similar to strokeDistance, but in this case, the distance is symmetric


 

timeDistance:maxNormDist:

This distance measures the difference between two features regading the time,
to user spend while drawing the gesture.


  private top  
 

textString

A string describing certain parts of the feature


  private comparing top  
 

sameClassAcuteAngleDistance:maxNormDist:


 

sameClassAngleDistance:maxNormDist:


 

sameClassShapeDistance:maxNormDist:


 

sameClassStartEndDistance:maxNormDist:


 

sameClassStrokeDistance:maxNormDist:


 

sameClassSymmetricStrokeDistance:maxNormDist:


  testing top  
 

hasSomeCapturedPoints


 

isCacheFull


 

isDot


 

isEmpty


 

isStroke


class methods
  constants top  
 

maxNormDistance


 

maxSize