Uses of Class
org.reprap.geometry.polygons.RrCSG

Packages that use RrCSG
org.reprap.geometry.polygons   
 

Uses of RrCSG in org.reprap.geometry.polygons
 

Fields in org.reprap.geometry.polygons declared as RrCSG
private  RrCSG RrCSG.c1
          Non-leaf child operands
private  RrCSG RrCSG.c2
           
private  RrCSG RrCSG.comp
          The complement (if there is one)
private static RrCSG RrCSG.n
          Null set
private static RrCSG RrCSG.u
          Universal set
 

Methods in org.reprap.geometry.polygons that return RrCSG
 RrCSG treeList.buildCSG(java.util.List<RrCSG> csgPols)
          Walk the tree building a CSG expression to represent all the polygons as one thing.
 RrCSG RrCSG.c_1()
          Get children, operator etc
 RrCSG RrCSG.c_2()
           
private  RrCSG RrCSG.categorise(RrCSG leafA)
          This takes a complicated expression assumed to contain multiple instances of leafA and returns the equivalent CSG expression involving just leafA.
 RrCSG RrCSG.complement()
          Lazy evaluation for complement.
private  RrCSG RrCSG.crossCategorise(RrCSG leafA, RrCSG leafB)
          This takes a complicated expression assumed to contain multiple instances of leafA and leafB and returns the equivalent CSG expression involving at most leafA and leafB once (except for non-manifold shapes).
 RrCSG RrPolygon.CSGConvexHull()
           
static RrCSG RrCSG.difference(RrCSG a, RrCSG b)
          Set difference is intersection with complement
 RrCSG RrCSG.forceRegularise()
          Force an approximation to the regulariseing of a set This assumes simplify has been run over the set
static RrCSG RrCSG.intersection(RrCSG a, RrCSG b)
          Boolean operation to perform an intersection
 RrCSG RrCSG.leaf(Rr2Point p)
          leaf find the half-plane that generates the value for a point
static RrCSG RrCSG.nothing()
           
 RrCSG RrCSG.offset(double d)
          Offset by a distance (+ve or -ve) TODO: this should keep track of complements
 RrCSG RrCSG.prune(RrRectangle b)
          Prune the set to a box
 RrCSG RrCSG.regularise()
          Regularise a set with simple contents ( <= 4 ) This assumes simplify has been run over the set
private  RrCSG RrPolygonList.resolveInsides(java.util.List<RrCSG> csgPols)
          Take a list of CSG expressions, each one corresponding with the entry of the same index in this class, classify each as being inside other(s) (or not), and hence form a single CSG expression representing them all.
static RrCSG RrCSG.RrCSGFromBox(RrRectangle b)
          Make a rectangle
 RrCSG RrCSG.simplify(double tolerance)
          Replace duplicate of all leaves with the last instance of each
 RrCSG RrPolygon.toCSG(double tolerance)
          Convert a polygon to CSG representation
 RrCSG RrPolygonList.toCSG(double tolerance)
          Compute the CSG representation of all the polygons in the list
private  RrCSG RrPolygon.toCSGHull(java.util.List<java.lang.Integer> hullPoints)
          Turn the list of hull points into a CSG convex polygon
private  RrCSG RrPolygon.toCSGRecursive(java.util.List<java.lang.Integer> a, int level, boolean closed, int[] flags)
          Compute the CSG representation of a (sub)list recursively
static RrCSG RrCSG.union(RrCSG a, RrCSG b)
          Boolean operations, with de Morgan simplifications
static RrCSG RrCSG.universe()
          Universal or null set
 

Methods in org.reprap.geometry.polygons that return types with arguments of type RrCSG
private  java.util.ArrayList<RrCSG> RrCSG.uniqueList()
          Run through a GSG expression looking at its leaves and return a list of the distinct leaves.
 

Methods in org.reprap.geometry.polygons with parameters of type RrCSG
private  RrCSG RrCSG.categorise(RrCSG leafA)
          This takes a complicated expression assumed to contain multiple instances of leafA and returns the equivalent CSG expression involving just leafA.
private  RrCSG RrCSG.crossCategorise(RrCSG leafA, RrCSG leafB)
          This takes a complicated expression assumed to contain multiple instances of leafA and leafB and returns the equivalent CSG expression involving at most leafA and leafB once (except for non-manifold shapes).
static RrCSG RrCSG.difference(RrCSG a, RrCSG b)
          Set difference is intersection with complement
private  void BooleanGrid.generateQuadTree(BooleanGrid.iPoint ipsw, BooleanGrid.iPoint ipne, RrCSG csgExpression)
          Generate the entire image from a CSG experession recursively using a quad tree.
private  void BooleanGrid.heterogeneous(BooleanGrid.iPoint ipsw, BooleanGrid.iPoint ipne, RrCSG csgExpression)
          Set a whole rectangle to the right values for a CSG expression
static RrCSG RrCSG.intersection(RrCSG a, RrCSG b)
          Boolean operation to perform an intersection
private  void RrPolygon.outsideHull(java.util.List<java.lang.Integer> inConsideration, RrCSG hull)
          Remove all the points in a list that are within or on the hull
private  void RrCSG.replaceAllSameLeaves(RrCSG leaf, double tolerance)
          Replace duplicate of leaf with leaf itself TODO: this should also use known complements
private  void RrCSG.simplify_r(RrCSG root, double tolerance)
          Replace duplicate of all leaves with the last instance of each; also link up complements.
static RrCSG RrCSG.union(RrCSG a, RrCSG b)
          Boolean operations, with de Morgan simplifications
 

Method parameters in org.reprap.geometry.polygons with type arguments of type RrCSG
 RrCSG treeList.buildCSG(java.util.List<RrCSG> csgPols)
          Walk the tree building a CSG expression to represent all the polygons as one thing.
private  boolean RrPolygonList.inside(int i, int j, java.util.List<RrCSG> csgPols)
          Is polygon i inside CSG polygon j? (Check twice to make sure...)
private  RrCSG RrPolygonList.resolveInsides(java.util.List<RrCSG> csgPols)
          Take a list of CSG expressions, each one corresponding with the entry of the same index in this class, classify each as being inside other(s) (or not), and hence form a single CSG expression representing them all.
private  void RrCSG.uniqueList_r(java.util.ArrayList<RrCSG> list)
          Run through a GSG expression looking at its leaves and return a list of the distinct leaves.
 

Constructors in org.reprap.geometry.polygons with parameters of type RrCSG
BooleanGrid(RrCSG csgExp, RrRectangle rectangle, Attributes a)
          Build the grid from a CSG expression
RrCSG(RrCSG c)
          Deep copy
RrCSG(RrCSG a, RrCSG b)
          Private constructor for common work setting up booleans