Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

Boundary::BoundingBox< T, Boolean, Float > Class Template Reference

#include <boundingbox.h>

Inheritance diagram for Boundary::BoundingBox< T, Boolean, Float >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class T = double, class Boolean = bool, class Float = double>
class Boundary::BoundingBox< T, Boolean, Float >

Abstract base class specifying interface suitable for any bounding box.

Type Float is used for rotation, which requires floating point even if T is an integer.

Definition at line 29 of file boundingbox.h.

Public Types

typedef AARectangle< T, Boolean,
Float > 
Rectangle
typedef T value_type

Public Methods

virtual Boolean inside (T x, T y) const=0
 Whether the given point is enclosed by the box, inclusively.

virtual base & scale (T xscale, T yscale)=0
 Scale the size of the box in X and Y dimensions.

virtual base & rotate (Float angle)=0
 Rotate the box around the origin.

virtual base & translate (T xoffset, T yoffset)=0
 Translate the origin of the box elsewhere.

virtual Rectangle aarectangle () const=0
 Returns an axis-aligned rectangle fully enclosing this box, or an empty rectangle if no such finite rectangle exists.

virtual base * clone () const=0
 Constructs an identical copy of self and returns it.

virtual std::ostream & put (std::ostream &s) const
 Virtual interface to the operator<<, since << cannot be virtual.


Member Function Documentation

template<class T = double, class Boolean = bool, class Float = double>
virtual std::ostream& Boundary::BoundingBox< T, Boolean, Float >::put std::ostream &    s const [inline, virtual]
 

Virtual interface to the operator<<, since << cannot be virtual.

This implementation is just a stub, and should be overriden in derived classes. Outputs a human-readable representation to the given stream.

Reimplemented in Boundary::AARBoundingBox< T, Boolean, Float, BoxType >, Boundary::Intersection< T, Boolean, Float, BBA, BBB >, and Boundary::BoundingCircle< T, Boolean, Float >.

Definition at line 62 of file boundingbox.h.


The documentation for this class was generated from the following file:
Generated on Mon Jan 20 02:37:32 2003 for RF-LISSOM by doxygen1.3-rc2