// File: box2a.h
//
//   Class declaration for the Box class
//

#ifndef _box2a_h
#define _box2a_h

typedef enum {front, back, left, right, up, down} direction ;

class Box {

public:
   Box() ;                      // default constructor
   Box(float, float, float) ;   // alternate constructor

   void identify() ;            // prints out vital stats
   float volume() ;             // volume of the box
   void grow() ;                // double box dimensions
   void shrink() ;              // halve box dimensions

   void turn() ;                // turn around x axis
   void spin() ;                // spin around y axis
   void rotate() ;              // rotate around z axis

   // report orientation of box
   inline direction orientation() {
      return top ;
   }

private:
   float length ;       // box length
   float height ;       // box height
   float width ;        // box width

   direction top ;      // pointing which way?
} ;

#endif
