A rectangle using Doubles. This was created because the Rectangle.Double is
poorly supported and could cause performance problems. It
is used to maintain objects boundary rectangles and extents.
A Z-value and a depth were added to allow the representation of 3d objects.
Time will not be added here. Time is handled as an attribute of layers.
ClipTo(STBounds TheClip)
Clips the existing rectangle to the space defined by the specified
rectangle. This also creates an intersection of the two rectangles.
Parameters:
TheClip
boolean Contains(STBounds TheTarget)
Returns true if the target rectangle is completely contained in this
bounds.
Parameters:
TheTarget - The other boundary object
Returns: true if the target is inside this bounds, false otherwise
Expand(double DeltaX,double DeltaY,double DeltaZ)
Expand the rectangle in all directions given the deltas. The deltas
may be negative to shrink the rectangle.
Parameters:
DeltaX - amount to expand horizontally
DeltaY - amount to expand vertically
double GetXMax()
Returns the x-cooridinate on the right side of the bounds. This is typically
the eastern edge of the bounds.
Returns:
double GetXMin()
Returns the x value of the upper-left corner of the bounds
Returns:
double GetYMax()
Sets the x value of the upper-left corner of the bounds
Returns:
double GetYMin()
Returns the y-coordinate at the bottom of the bounds. This is tyipcally the
southern most edge of the bounds.
Returns:
double GetZMax()
Returns the maximum z-value
Returns:
double GetZMin()
Sets the x value of the upper-left corner of the bounds
Returns:
boolean In(double RefX,double RefY,double RefZ,double Tolerance)
Returns true if the specific point is inside this bounds within the
specified tolerance distance.
Parameters:
X - x value of the point
Y - y value of the point
Z - z value of the point
Tolerance - effectively makes the point larger to overlap with the bounds
Returns:
Include(STBounds TheBounds)
Makes sure that the specified rectangle is within the bounds of this rectangle.
Will expand this rectangle in any direction required to include the speicified
rectangle.
Parameters:
TheBounds
Include(double NewX,double NewY)
Makes sure the specified point is within this rectangle. Will expand
this rectangle in any direction needed to include the point.
Parameters:
NewX
NewY
Move(double DeltaX,double DeltaY,double DeltaZ)
Moves this rectangle by the distances specified.
Parameters:
DeltaX
DeltaY
boolean Overlaps(STBounds TheBounds)
Returns true if this rectangle overlaps with the one specified.
Parameters:
TheBounds
Returns:
STBounds()
Constructs a new STRectangle with all values set to 0.
STBounds(double NewX,double NewY,double NewWidth,double NewHeight)
Creates a new rectangle from individual values.
Parameters:
NewX
NewY
NewWidth
NewHeight
SetXMax(double New)
Moves the maximum x side of the bounds (right)
Parameters:
New
SetXMin(double New)
Sets the x value of the upper-left corner of the bounds
Parameters:
New
SetYMax(double New)
Sets the y value of the upper-left corner of the bounds
Parameters:
New
SetYMin(double New)
Sets the y-coordinate at the bottom of the bounds. This is tyipcally the
southern most edge of the bounds.
Parameters:
New
SetZMax(double New)
Sets the maximum z-value
Parameters:
New
SetZMin(double New)
Sets the y value of the upper-left corner of the bounds
Parameters:
New