home *** CD-ROM | disk | FTP | other *** search
- //**********************************************************************
- // DIVE Laboratories, Inc.
- // Copyright(c) 1995
- // All rights reserved.
- // FILE: POSITION.HPP
- //
- // DESCRIPTION
- // This file provides the function prototypes for the
- // positionClass
- //
- // Author: M. Doucet
- //
- // Modification History:
- // 3/22/95 Created
- //
- //**********************************************************************
- #ifndef POSITION_HPP
- #define POSITION_HPP
-
- #include "vrtypes.hpp"
-
- class vectorClass;
- class quatClass;
-
- class positionClass {
-
- public:
-
- // Public Data (public access for speed)
- V3 pos; // Position
-
- // Position Assignment
- void set(V3 posIn);
- void set(Vres xPos=0.0, Vres yPos=0.0, Vres zPos=0.0);
-
- // Position Retrieval
- void get(V3 posOut);
- void get(Vres *xPos, Vres *yPos, Vres *zPos);
-
- // Translation
- void translate(vectorClass *v);
- void translate(Vres xDelta, Vres yDelta, Vres zDelta);
-
- // Vector Creation
- void subtract(positionClass *other, vectorClass *v);
- void subtract(positionClass other, vectorClass *v);
-
- // Rotation
- void rotate(int axis, Vres rads);
- void rotate(quatClass q);
- void rotate(vectorClass axis, Vres rads);
- void rotate(vectorClass *axis, Vres rads);
-
- // Debug
- void display(char *str="", int precision=4, int fore=8);
-
- // Access operator
- Vres operator[](int index);
-
- // Scaling operators
- void operator*=(Vres scalar);
- void operator/=(Vres scalar);
-
- // Translation operators
- void operator+=(vectorClass v);
- void operator-=(vectorClass v);
-
- // Assignment operators
- void operator=(positionClass &other);
- void operator=(positionClass *other);
-
- // Equality operators
- int operator==(positionClass &other);
- int operator==(positionClass *other);
- int operator!=(positionClass &other);
- int operator!=(positionClass *other);
-
- // Constructors
- positionClass(V3 posIn);
- positionClass(Vres xPos=0.0, Vres yPos=0.0, Vres zPos=0.0);
-
- // Destructor
- ~positionClass();
-
- };
-
- #endif
-