math.geom2d.domain
Class GenericDomain2D

Package class diagram package GenericDomain2D
java.lang.Object
  extended by math.geom2d.domain.GenericDomain2D
All Implemented Interfaces:
Serializable, Domain2D, Shape2D
Direct Known Subclasses:
GenericCirculinearDomain2D

public class GenericDomain2D
extends Object
implements Domain2D

A domain defined from its boundary. The boundary curve must be correctly oriented, non self intersecting, and clearly separating interior and exterior.

All contains and intersect tests are computed from the signed distance of the boundary curve.

Author:
Legland
See Also:
Serialized Form

Field Summary
protected  Boundary2D boundary
           
 
Fields inherited from interface math.geom2d.Shape2D
ACCURACY
 
Constructor Summary
GenericDomain2D(Boundary2D boundary)
           
 
Method Summary
 Domain2D clip(Box2D box)
          Clip the shape with the given box, and returns a new shape.
 Domain2D complement()
          Returns the domain which complements this domain in the plane.
 boolean contains(double x, double y)
          Checks if the shape contains the planar point defined by (x,y).
 boolean contains(Point2D p)
          Checks if the shape contains the given point.
 void draw(Graphics2D g2)
          Draws the boundary of the domain, using current Stroke and color.
 void fill(Graphics2D g2)
          Fills the interior of the domain, using the Graphics current Paint.
 Boundary2D getBoundary()
          Returns the boundary of the set.
 Box2D getBoundingBox()
          If the domain is bounded, returns the bounding box of its boundary, otherwise returns an infinite bounding box.
 double getDistance(double x, double y)
          get the distance of the shape to the given point, specified by x and y, or the distance of point to the frontier of the shape in the case of a plain (i.e.
 double getDistance(Point2D p)
          get the distance of the shape to the given point, or the distance of point to the frontier of the shape in the case of a plain shape.
 boolean isBounded()
          Returns true if the domain is bounded.
 boolean isEmpty()
          Returns true if the shape does not contain any point.
 GenericDomain2D transform(AffineTransform2D trans)
          Returns a new domain which is created from the transformed domain of this boundary.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

boundary

protected Boundary2D boundary
Constructor Detail

GenericDomain2D

public GenericDomain2D(Boundary2D boundary)
Method Detail

getBoundary

public Boundary2D getBoundary()
Description copied from interface: Domain2D
Returns the boundary of the set. This boundary is either a continuous non intersecting curve (connected domain), or a set of non intersecting continuous curve (one continuous non-intersection for each connected part of the domain).

The returned curve is oriented, with an interior and an exterior.

Specified by:
getBoundary in interface Domain2D
Returns:
the boundary of the domain

complement

public Domain2D complement()
Description copied from interface: Domain2D
Returns the domain which complements this domain in the plane.

Specified by:
complement in interface Domain2D
Returns:
the complement of this domain.

getDistance

public double getDistance(Point2D p)
Description copied from interface: Shape2D
get the distance of the shape to the given point, or the distance of point to the frontier of the shape in the case of a plain shape.

Specified by:
getDistance in interface Shape2D

getDistance

public double getDistance(double x,
                          double y)
Description copied from interface: Shape2D
get the distance of the shape to the given point, specified by x and y, or the distance of point to the frontier of the shape in the case of a plain (i.e. fillable) shape.

Specified by:
getDistance in interface Shape2D

isBounded

public boolean isBounded()
Returns true if the domain is bounded. The domain is unbounded if either its boundary is unbounded, or a point located outside of the boundary bounding box is located inside of the domain.

Specified by:
isBounded in interface Shape2D

isEmpty

public boolean isEmpty()
Description copied from interface: Shape2D
Returns true if the shape does not contain any point. This is the case for example for PointSet2D without any point.

Specified by:
isEmpty in interface Shape2D
Returns:
true if the shape does not contain any point.

clip

public Domain2D clip(Box2D box)
Description copied from interface: Shape2D
Clip the shape with the given box, and returns a new shape. The box must be bounded.

Specified by:
clip in interface Domain2D
Specified by:
clip in interface Shape2D
Parameters:
box - the clipping box
Returns:
the clipped shape

getBoundingBox

public Box2D getBoundingBox()
If the domain is bounded, returns the bounding box of its boundary, otherwise returns an infinite bounding box.

Specified by:
getBoundingBox in interface Shape2D
Returns:
the bounding box of the shape.

transform

public GenericDomain2D transform(AffineTransform2D trans)
Returns a new domain which is created from the transformed domain of this boundary.

Specified by:
transform in interface Domain2D
Specified by:
transform in interface Shape2D
Parameters:
trans - an affine transform
Returns:
the transformed shape

contains

public boolean contains(double x,
                        double y)
Description copied from interface: Shape2D
Checks if the shape contains the planar point defined by (x,y).

Specified by:
contains in interface Shape2D

contains

public boolean contains(Point2D p)
Description copied from interface: Shape2D
Checks if the shape contains the given point.

Specified by:
contains in interface Shape2D

draw

public void draw(Graphics2D g2)
Description copied from interface: Domain2D
Draws the boundary of the domain, using current Stroke and color.

Specified by:
draw in interface Domain2D
Specified by:
draw in interface Shape2D
Parameters:
g2 - the Graphics to draw on

fill

public void fill(Graphics2D g2)
Description copied from interface: Domain2D
Fills the interior of the domain, using the Graphics current Paint.

Specified by:
fill in interface Domain2D
Parameters:
g2 - the Graphics to fill on


Copyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.