public class oadd.org.apache.commons.math.geometry.partitioning.RegionFactory extends java.lang.Object
{
private final oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner nodeCleaner;
public void <init>()
{
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory v;
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner;
specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner: void <init>(oadd.org.apache.commons.math.geometry.partitioning.RegionFactory)>(v);
v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner nodeCleaner> = v;
return;
}
public transient oadd.org.apache.commons.math.geometry.partitioning.Region buildConvex(oadd.org.apache.commons.math.geometry.partitioning.Hyperplane[])
{
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory v;
oadd.org.apache.commons.math.geometry.partitioning.Hyperplane v, v;
oadd.org.apache.commons.math.geometry.partitioning.BSPTree v, v;
oadd.org.apache.commons.math.geometry.partitioning.Region v;
int v, v, v;
java.lang.Boolean v, v, v;
boolean v;
oadd.org.apache.commons.math.geometry.partitioning.Hyperplane[] v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.Hyperplane[];
if v == null goto label;
v = lengthof v;
if v != 0 goto label;
label:
return null;
label:
v = v[0];
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Hyperplane: oadd.org.apache.commons.math.geometry.partitioning.Region wholeSpace()>();
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getTree(boolean)>(0);
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: void setAttribute(java.lang.Object)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: boolean insertCut(oadd.org.apache.commons.math.geometry.partitioning.Hyperplane)>(v);
if v == 0 goto label;
virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: void setAttribute(java.lang.Object)>(null);
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getPlus()>();
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: void setAttribute(java.lang.Object)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getMinus()>();
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: void setAttribute(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
return v;
}
public oadd.org.apache.commons.math.geometry.partitioning.Region union(oadd.org.apache.commons.math.geometry.partitioning.Region, oadd.org.apache.commons.math.geometry.partitioning.Region)
{
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory v;
oadd.org.apache.commons.math.geometry.partitioning.BSPTree v, v, v;
oadd.org.apache.commons.math.geometry.partitioning.Region v, v, v;
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner v;
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$UnionMerger v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.Region;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.Region;
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getTree(boolean)>(0);
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getTree(boolean)>(0);
v = new oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$UnionMerger;
specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$UnionMerger: void <init>(oadd.org.apache.commons.math.geometry.partitioning.RegionFactory)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: oadd.org.apache.commons.math.geometry.partitioning.BSPTree merge(oadd.org.apache.commons.math.geometry.partitioning.BSPTree,oadd.org.apache.commons.math.geometry.partitioning.BSPTree$LeafMerger)>(v, v);
v = v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner nodeCleaner>;
virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: void visit(oadd.org.apache.commons.math.geometry.partitioning.BSPTreeVisitor)>(v);
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.Region buildNew(oadd.org.apache.commons.math.geometry.partitioning.BSPTree)>(v);
return v;
}
public oadd.org.apache.commons.math.geometry.partitioning.Region intersection(oadd.org.apache.commons.math.geometry.partitioning.Region, oadd.org.apache.commons.math.geometry.partitioning.Region)
{
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory v;
oadd.org.apache.commons.math.geometry.partitioning.BSPTree v, v, v;
oadd.org.apache.commons.math.geometry.partitioning.Region v, v, v;
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner v;
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$IntersectionMerger v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.Region;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.Region;
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getTree(boolean)>(0);
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getTree(boolean)>(0);
v = new oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$IntersectionMerger;
specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$IntersectionMerger: void <init>(oadd.org.apache.commons.math.geometry.partitioning.RegionFactory)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: oadd.org.apache.commons.math.geometry.partitioning.BSPTree merge(oadd.org.apache.commons.math.geometry.partitioning.BSPTree,oadd.org.apache.commons.math.geometry.partitioning.BSPTree$LeafMerger)>(v, v);
v = v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner nodeCleaner>;
virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: void visit(oadd.org.apache.commons.math.geometry.partitioning.BSPTreeVisitor)>(v);
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.Region buildNew(oadd.org.apache.commons.math.geometry.partitioning.BSPTree)>(v);
return v;
}
public oadd.org.apache.commons.math.geometry.partitioning.Region xor(oadd.org.apache.commons.math.geometry.partitioning.Region, oadd.org.apache.commons.math.geometry.partitioning.Region)
{
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory v;
oadd.org.apache.commons.math.geometry.partitioning.BSPTree v, v, v;
oadd.org.apache.commons.math.geometry.partitioning.Region v, v, v;
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner v;
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$XorMerger v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.Region;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.Region;
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getTree(boolean)>(0);
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getTree(boolean)>(0);
v = new oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$XorMerger;
specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$XorMerger: void <init>(oadd.org.apache.commons.math.geometry.partitioning.RegionFactory)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: oadd.org.apache.commons.math.geometry.partitioning.BSPTree merge(oadd.org.apache.commons.math.geometry.partitioning.BSPTree,oadd.org.apache.commons.math.geometry.partitioning.BSPTree$LeafMerger)>(v, v);
v = v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner nodeCleaner>;
virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: void visit(oadd.org.apache.commons.math.geometry.partitioning.BSPTreeVisitor)>(v);
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.Region buildNew(oadd.org.apache.commons.math.geometry.partitioning.BSPTree)>(v);
return v;
}
public oadd.org.apache.commons.math.geometry.partitioning.Region difference(oadd.org.apache.commons.math.geometry.partitioning.Region, oadd.org.apache.commons.math.geometry.partitioning.Region)
{
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory v;
oadd.org.apache.commons.math.geometry.partitioning.BSPTree v, v, v;
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$DifferenceMerger v;
oadd.org.apache.commons.math.geometry.partitioning.Region v, v, v;
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.Region;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.Region;
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getTree(boolean)>(0);
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getTree(boolean)>(0);
v = new oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$DifferenceMerger;
specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$DifferenceMerger: void <init>(oadd.org.apache.commons.math.geometry.partitioning.RegionFactory)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: oadd.org.apache.commons.math.geometry.partitioning.BSPTree merge(oadd.org.apache.commons.math.geometry.partitioning.BSPTree,oadd.org.apache.commons.math.geometry.partitioning.BSPTree$LeafMerger)>(v, v);
v = v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory$NodesCleaner nodeCleaner>;
virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: void visit(oadd.org.apache.commons.math.geometry.partitioning.BSPTreeVisitor)>(v);
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.Region buildNew(oadd.org.apache.commons.math.geometry.partitioning.BSPTree)>(v);
return v;
}
public oadd.org.apache.commons.math.geometry.partitioning.Region getComplement(oadd.org.apache.commons.math.geometry.partitioning.Region)
{
oadd.org.apache.commons.math.geometry.partitioning.BSPTree v, v;
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory v;
oadd.org.apache.commons.math.geometry.partitioning.Region v, v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.Region;
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getTree(boolean)>(0);
v = specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory: oadd.org.apache.commons.math.geometry.partitioning.BSPTree recurseComplement(oadd.org.apache.commons.math.geometry.partitioning.BSPTree)>(v);
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.Region: oadd.org.apache.commons.math.geometry.partitioning.Region buildNew(oadd.org.apache.commons.math.geometry.partitioning.BSPTree)>(v);
return v;
}
private oadd.org.apache.commons.math.geometry.partitioning.BSPTree recurseComplement(oadd.org.apache.commons.math.geometry.partitioning.BSPTree)
{
oadd.org.apache.commons.math.geometry.partitioning.RegionFactory v;
oadd.org.apache.commons.math.geometry.partitioning.BoundaryAttribute v;
java.lang.Boolean v;
boolean v;
oadd.org.apache.commons.math.geometry.partitioning.BSPTree v, v, v, v, v, v, v;
java.lang.Object v, v;
oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane v, v, v, v, v, v, v, v, v, v;
v := @this: oadd.org.apache.commons.math.geometry.partitioning.RegionFactory;
v := @parameter: oadd.org.apache.commons.math.geometry.partitioning.BSPTree;
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane getCut()>();
if v != null goto label;
v = new oadd.org.apache.commons.math.geometry.partitioning.BSPTree;
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: java.lang.Object getAttribute()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
goto label;
label:
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
label:
specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: void <init>(java.lang.Object)>(v);
return v;
label:
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: java.lang.Object getAttribute()>();
if v == null goto label;
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BoundaryAttribute: oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane getPlusInside()>();
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BoundaryAttribute: oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane getPlusInside()>();
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane: oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane copySelf()>();
label:
v = v;
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BoundaryAttribute: oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane getPlusOutside()>();
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BoundaryAttribute: oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane getPlusOutside()>();
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane: oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane copySelf()>();
label:
v = new oadd.org.apache.commons.math.geometry.partitioning.BoundaryAttribute;
specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BoundaryAttribute: void <init>(oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane,oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane)>(v, v);
v = v;
label:
v = new oadd.org.apache.commons.math.geometry.partitioning.BSPTree;
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane getCut()>();
v = interfaceinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane: oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane copySelf()>();
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getPlus()>();
v = specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory: oadd.org.apache.commons.math.geometry.partitioning.BSPTree recurseComplement(oadd.org.apache.commons.math.geometry.partitioning.BSPTree)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: oadd.org.apache.commons.math.geometry.partitioning.BSPTree getMinus()>();
v = specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.RegionFactory: oadd.org.apache.commons.math.geometry.partitioning.BSPTree recurseComplement(oadd.org.apache.commons.math.geometry.partitioning.BSPTree)>(v);
specialinvoke v.<oadd.org.apache.commons.math.geometry.partitioning.BSPTree: void <init>(oadd.org.apache.commons.math.geometry.partitioning.SubHyperplane,oadd.org.apache.commons.math.geometry.partitioning.BSPTree,oadd.org.apache.commons.math.geometry.partitioning.BSPTree,java.lang.Object)>(v, v, v, v);
return v;
}
}