gumbo.graphic.probe
Class Bound3

java.lang.Object
  |
  +--gumbo.graphic.probe.Bound3
All Implemented Interfaces:
BoundableGraphic, Graphic, GraphicGeometry
Direct Known Subclasses:
AxisBound3, PolygonBound3, PolytopeBound3, SphereBound3

public abstract class Bound3
extends java.lang.Object
implements BoundableGraphic

A base class for 3D spatial elements that represent a spatial bound. Supports the concept of an "empty" bound, which is a bound that contains no bound extent (no geometry), as distinct from a bound whose extent has no volume, such as a point. An empty bounds is the result of volumetrically intersecting two non-overlapping bounds. As a bound, this object is intrinsically boundable.

Version:
$Revision: 1.8 $
Author:
Jon Barrilleaux (jonb@jmbaai.com) of JMB and Associates Inc.

Constructor Summary
Bound3()
          Creates an instance, that is cleared.
 
Method Summary
abstract  Bound3 clear()
          Clears the bound by clearing its components (zero position, zero volume) and setting it empty.
 boolean equals(java.lang.Object obj)
           
 Bound3 getBound3()
          Gets a singleton immutable view of this object with the same identity (hashCode(), equals()) as this object.
 java.lang.Object getGraphic()
          Default implementation: Returns this (non-native implementation).
 SpaceNode getGraphicLocalSpace()
          Default implementation: Returns null (absolute reference space).
abstract  boolean isEmpty()
          Returns true if the bound is empty, because it has never been set, it has been cleared, or as the result of a null intersection.
abstract  Bound3 set(Bound3 bound)
          Copies the value of a (possibly empty) bound into this one.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Bound3

public Bound3()
Creates an instance, that is cleared.

Method Detail

set

public abstract Bound3 set(Bound3 bound)
Copies the value of a (possibly empty) bound into this one. Subclasses should check if the bound type is compatible.

Parameters:
bound - Bound to be copied. Never null.
Returns:
Reference to this bound. Never null.

clear

public abstract Bound3 clear()
Clears the bound by clearing its components (zero position, zero volume) and setting it empty.

Returns:
Reference to this bound. Never null.

isEmpty

public abstract boolean isEmpty()
Returns true if the bound is empty, because it has never been set, it has been cleared, or as the result of a null intersection. Note that a zero volume bound is not neccessarily empty.

Returns:
True if the bound is empty.

getBound3

public Bound3 getBound3()
Gets a singleton immutable view of this object with the same identity (hashCode(), equals()) as this object.

Returns:
The view. Never null.

getGraphicLocalSpace

public SpaceNode getGraphicLocalSpace()
Default implementation: Returns null (absolute reference space).

Specified by:
getGraphicLocalSpace in interface GraphicGeometry
Returns:
Reference to the space. If null, absolute space.

getGraphic

public java.lang.Object getGraphic()
Default implementation: Returns this (non-native implementation).

Specified by:
getGraphic in interface Graphic
Returns:
The target graphic object. Possibly this object (self-proxy, direct implementation), but never null.

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object