Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.trapezium.attractor
Class AttractorReductionAlgorithm  view AttractorReductionAlgorithm download AttractorReductionAlgorithm.java

java.lang.Object
  extended bycom.trapezium.attractor.AttractorReductionAlgorithm

public class AttractorReductionAlgorithm
extends java.lang.Object

The attractor based polygon reduction algorithm.

Since:
1.0
Version:
1.0, 7 Oct 1998

Field Summary
(package private)  boolean attractorNeedsInit
           
(package private)  boolean attractorNeedsRescale
           
(package private)  com.trapezium.space.SpaceStructure attractorSpaceStructure
           
(package private)  com.trapezium.space.SpaceEntitySet attractorVertices
           
(package private)  com.trapezium.space.SpaceStructure dualSpaceStructure
           
(package private)  com.trapezium.space.SpaceEntitySet dualVertices
           
(package private)  CoordAttractor farCoords
           
(package private)  boolean floaterNeedsInit
           
(package private)  com.trapezium.space.SpaceStructure floaterSpaceStructure
           
(package private)  com.trapezium.space.SpaceEntitySet floaterVertices
           
(package private)  CoordAttractor magicAttractor
           
(package private)  com.trapezium.space.SpaceEntitySet magicCoords
           
(package private)  CoordAttractor nearCoords
           
(package private)  int[] newToOldMapping
           
(package private)  int numberAttractorVertices
           
(package private)  int numberDualVertices
           
(package private)  int numberFloaterVertices
           
(package private)  java.util.BitSet preservedFloaterVertices
           
 
Constructor Summary
AttractorReductionAlgorithm()
          Class constructor
 
Method Summary
(package private)  void createMagicCoords()
          Create the set of coordinates in the floater that all other coordinates map to during the reduction.
 java.util.Enumeration enumerateFaces()
          Enumerate structures which can be used to generate coordIndex of the reduced face set.
 com.trapezium.space.SpaceEntitySet getFloaterVertices()
          Get the reduced vertices, which is really the original floater set.
 com.trapezium.space.SpaceEntitySet getNewCoords()
          Get the new coordinate results
 int[] getNewToOldMapping()
          Get mapping between magic coords and original offsets
 com.trapezium.space.SpaceStructure getOriginal()
          Get the original SpaceStructure
 java.util.BitSet getPreservedFloaters()
          Get the BitSet indicating which original coordinates are preserved
(package private)  void initAttractorFields()
          Extracts and generates all the attractor based fields required by the algorithm.
(package private)  void initFloaterFields()
          initialize all the fields associated with the floater
 void reduce()
          The main algorithm, requires the attractor and floater already be set by setAttractor and setOriginal.
(package private)  void rescaleAttractor()
          rescale the attractor so its bounding box is same as floater
 void setAttractor(com.trapezium.space.SpaceStructure attractor)
          The attractor reduction algorithm requires one SpaceStructure to function as the attractor, and one SpaceStructure to be reduced (called the floater).
 void setOriginal(com.trapezium.space.SpaceStructure floater)
          The attractor reduction algorithm requires one SpaceStructure to function as the attractor, and one SpaceStructure to be reduced (called the floater).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

attractorNeedsInit

boolean attractorNeedsInit

attractorNeedsRescale

boolean attractorNeedsRescale

attractorSpaceStructure

com.trapezium.space.SpaceStructure attractorSpaceStructure

attractorVertices

com.trapezium.space.SpaceEntitySet attractorVertices

numberAttractorVertices

int numberAttractorVertices

dualSpaceStructure

com.trapezium.space.SpaceStructure dualSpaceStructure

dualVertices

com.trapezium.space.SpaceEntitySet dualVertices

numberDualVertices

int numberDualVertices

floaterNeedsInit

boolean floaterNeedsInit

floaterSpaceStructure

com.trapezium.space.SpaceStructure floaterSpaceStructure

floaterVertices

com.trapezium.space.SpaceEntitySet floaterVertices

numberFloaterVertices

int numberFloaterVertices

preservedFloaterVertices

java.util.BitSet preservedFloaterVertices

nearCoords

CoordAttractor nearCoords

farCoords

CoordAttractor farCoords

magicCoords

com.trapezium.space.SpaceEntitySet magicCoords

magicAttractor

CoordAttractor magicAttractor

newToOldMapping

int[] newToOldMapping
Constructor Detail

AttractorReductionAlgorithm

public AttractorReductionAlgorithm()
Class constructor

Method Detail

getNewCoords

public com.trapezium.space.SpaceEntitySet getNewCoords()
Get the new coordinate results


getNewToOldMapping

public int[] getNewToOldMapping()
Get mapping between magic coords and original offsets


getPreservedFloaters

public java.util.BitSet getPreservedFloaters()
Get the BitSet indicating which original coordinates are preserved


setAttractor

public void setAttractor(com.trapezium.space.SpaceStructure attractor)
The attractor reduction algorithm requires one SpaceStructure to function as the attractor, and one SpaceStructure to be reduced (called the floater). This method sets the attractor.


setOriginal

public void setOriginal(com.trapezium.space.SpaceStructure floater)
The attractor reduction algorithm requires one SpaceStructure to function as the attractor, and one SpaceStructure to be reduced (called the floater). This method sets the floater.


getOriginal

public com.trapezium.space.SpaceStructure getOriginal()
Get the original SpaceStructure


reduce

public void reduce()
The main algorithm, requires the attractor and floater already be set by setAttractor and setOriginal. If these are not set the algorithm does nothing.


enumerateFaces

public java.util.Enumeration enumerateFaces()
Enumerate structures which can be used to generate coordIndex of the reduced face set.


getFloaterVertices

public com.trapezium.space.SpaceEntitySet getFloaterVertices()
Get the reduced vertices, which is really the original floater set. We rely on the cleaners to detect the duplicates and unused ones.


initAttractorFields

void initAttractorFields()
Extracts and generates all the attractor based fields required by the algorithm. These fields are just the attractor and dual vertices.


initFloaterFields

void initFloaterFields()
initialize all the fields associated with the floater


rescaleAttractor

void rescaleAttractor()
rescale the attractor so its bounding box is same as floater


createMagicCoords

void createMagicCoords()
Create the set of coordinates in the floater that all other coordinates map to during the reduction.