Package soot.jimple.spark.geom.geomE
Class GeometricManager
- java.lang.Object
-
- soot.jimple.spark.geom.geomPA.IFigureManager
-
- soot.jimple.spark.geom.geomE.GeometricManager
-
public class GeometricManager extends IFigureManager
This class implements the figure manager. Currently, we apply a naive management strategy: For each type of object, we maintain a linked list. If we insert a new object, we don't test if all the geometric objects on the plane together can cover the new object. Instead, we test if there is one object already covers the new object.- Author:
- xiao
-
-
Field Summary
Fields Modifier and Type Field Description static intDivisionsstatic intMANY_TO_MANYstatic intONE_TO_ONEstatic intUndefined_Mapping
-
Constructor Summary
Constructors Constructor Description GeometricManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SegmentNodeaddNewFigure(int code, RectangleNode pnew)Insert a new figure into this manager if it is not covered by any exisiting figure.voidflush()Remove the new labels for all the figures.SegmentNode[]getFigures()int[]getSizes()booleanisThereUnprocessedFigures()voidmergeFigures(int buget_size)Merge the set of objects in the same category into one.voidremoveUselessSegments()The lines that are included in some rectangles can be deleted.-
Methods inherited from class soot.jimple.spark.geom.geomPA.IFigureManager
cleanCache, getRectangleNode, getSegmentNode, reclaimRectangleNode, reclaimSegmentNode
-
-
-
-
Field Detail
-
Divisions
public static final int Divisions
- See Also:
- Constant Field Values
-
ONE_TO_ONE
public static final int ONE_TO_ONE
- See Also:
- Constant Field Values
-
MANY_TO_MANY
public static final int MANY_TO_MANY
- See Also:
- Constant Field Values
-
Undefined_Mapping
public static final int Undefined_Mapping
- See Also:
- Constant Field Values
-
-
Method Detail
-
getFigures
public SegmentNode[] getFigures()
- Specified by:
getFiguresin classIFigureManager
-
getSizes
public int[] getSizes()
- Specified by:
getSizesin classIFigureManager
-
isThereUnprocessedFigures
public boolean isThereUnprocessedFigures()
- Specified by:
isThereUnprocessedFiguresin classIFigureManager
-
flush
public void flush()
Remove the new labels for all the figures.- Specified by:
flushin classIFigureManager
-
addNewFigure
public SegmentNode addNewFigure(int code, RectangleNode pnew)
Insert a new figure into this manager if it is not covered by any exisiting figure.- Specified by:
addNewFigurein classIFigureManager
-
mergeFigures
public void mergeFigures(int buget_size)
Merge the set of objects in the same category into one.- Specified by:
mergeFiguresin classIFigureManager
-
removeUselessSegments
public void removeUselessSegments()
The lines that are included in some rectangles can be deleted.- Specified by:
removeUselessSegmentsin classIFigureManager
-
-