org.abora.white.filter
Class Joint

java.lang.Object
  |
  +--org.abora.white.xpp.basic.Heaper
        |
        +--org.abora.white.filter.Joint

public class Joint
extends Heaper

Joints are used to prune searches through trees of Regions. Each Joint summarizes the Joints and Regions at its node and its children using their intersection and union. If you maintain this information at each each node in the tree, then you can search for Regions in the tree efficiently using Filter::pass() to adapt the search criteria to the contents of the subtree. See also Filter::pass(Joint *).


Field Summary
protected  XnRegion myIntersected
           
protected  XnRegion myUnioned
           
 
Constructor Summary
Joint(Rcvr receiver)
           
Joint(XnRegion unioned, XnRegion intersected)
           
 
Method Summary
 int actualHashForEqual()
          Defined by subclasses to produce the value returned by hashForEqual.
 XnRegion intersected()
          The intersection of the regions at all child nodes in the tree.
 boolean isEqual(Heaper other)
          Return true if the two objects are equal.
 Joint join(Joint other)
          A Joint that is a parent of this Joint and the given one.
static Joint make(CoordinateSpace space)
          An empty Joint in the given coordinate space.
static Joint make(Joint left, Joint right)
          A joint that is a parent of the two given Joints.
static Joint make(ScruSet subs)
          A Joint that is a parent of all of the Joints in the set.
static Joint make(XnRegion both)
          A Joint containing only the given region.
static Joint make(XnRegion unioned, XnRegion intersected)
          A Joint with the given union and intersection regions.
 void printOn(java.io.PrintWriter oo)
          This should rarely be overridden.
 void sendSelfTo(Xmtr xmtr)
           
 XnRegion unioned()
          The union of the regions at all child nodes in the tree.
 Joint with(XnRegion region)
          A Joint that is a parent of this one and the given region.
 
Methods inherited from class org.abora.white.xpp.basic.Heaper
destroy, destruct, equals, hashForEqual, printContentsOn, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

myUnioned

protected XnRegion myUnioned

myIntersected

protected XnRegion myIntersected
Constructor Detail

Joint

public Joint(XnRegion unioned,
             XnRegion intersected)

Joint

public Joint(Rcvr receiver)
Method Detail

printOn

public void printOn(java.io.PrintWriter oo)
Description copied from class: Heaper
This should rarely be overridden. In Tofu, it prints ClassName(...), where ... is either produced by printInsideOn or is ??? if printInsideOn it not overridden.

Overrides:
printOn in class Heaper

intersected

public XnRegion intersected()
The intersection of the regions at all child nodes in the tree.


join

public Joint join(Joint other)
A Joint that is a parent of this Joint and the given one.


unioned

public XnRegion unioned()
The union of the regions at all child nodes in the tree.


with

public Joint with(XnRegion region)
A Joint that is a parent of this one and the given region.


actualHashForEqual

public int actualHashForEqual()
Description copied from class: Heaper
Defined by subclasses to produce the value returned by hashForEqual.

Overrides:
actualHashForEqual in class Heaper

isEqual

public boolean isEqual(Heaper other)
Description copied from class: Heaper
Return true if the two objects are equal.

Specified by:
isEqual in class Heaper

sendSelfTo

public void sendSelfTo(Xmtr xmtr)
Overrides:
sendSelfTo in class Heaper

make

public static Joint make(CoordinateSpace space)
An empty Joint in the given coordinate space.


make

public static Joint make(Joint left,
                         Joint right)
A joint that is a parent of the two given Joints.


make

public static Joint make(ScruSet subs)
A Joint that is a parent of all of the Joints in the set.


make

public static Joint make(XnRegion both)
A Joint containing only the given region.


make

public static Joint make(XnRegion unioned,
                         XnRegion intersected)
A Joint with the given union and intersection regions.



Copyright © 2003 David G Jones. All Rights Reserved.
Original Udanax-Gold - Copyright © 1979-1999 Udanax.com. All rights reserved.