home *** CD-ROM | disk | FTP | other *** search
- //**********************************************************************
- // DIVE Laboratories, Inc.
- // Copyright(c) 1995
- // All rights reserved.
- // FILE: SHAPES.HPP
- //
- // DESCRIPTION
- // This file provides the classe definitions for all amber shapes
- //
- // Author: M. Doucet
- //
- // Modification History:
- // 8/2/95 Created
- //
- //**********************************************************************
- #ifndef _SHAPES_HPP
- #define _SHAPES_HPP
-
- #include "vrtypes.hpp"
- #include "geometry.hpp"
-
- #ifndef AMBERRT
- #include "texture.hpp"
- #endif
-
- //---------------------------------------------------------------------
- // This is the class definition for the cubeClass.
- //
- class cubeClass : public geometryClass {
-
- // Private Data
-
- // Protected Data
-
- // Public Data
-
- public:
-
-
- // Constructor Functions
-
- cubeClass(float lx,
- float ly,
- float lz,
- int addToUniv=TRUE,
- int createBBox=TRUE);
-
-
- // Destructor Function
-
- ~cubeClass();
-
- };
- //---------------------------------------------------------------------
- // This is the class definition for the cylinderClass.
- //
- class cylinderClass : public geometryClass {
-
- // Private Data
-
- // Protected Data
-
- // Public Data
-
- private:
-
- int nTess, doBottom, doTop, doBothSides;
-
- public:
-
- #ifndef AMBERRT
- void applyTexture(textureClass *tex,
- int outside = TRUE,
- int bottom = TRUE,
- int top = TRUE,
- int inside = TRUE);
- #endif
-
- // Constructor Functions
-
- cylinderClass(float radius,
- float height,
- int tess = 6,
- float taper = 0.0,
- int bottom = TRUE,
- int top = TRUE,
- int bothsides=FALSE,
- int addToUniv=TRUE,
- int createBBox=TRUE);
-
- // Destructor Function
-
- ~cylinderClass();
-
- };
-
- //---------------------------------------------------------------------
- // This is the class definition for the coneClass.
- //
- class coneClass : public geometryClass {
-
- // Private Data
-
- // Protected Data
-
- // Public Data
- private:
-
- int nTess, doBottom, doBothSides;
-
- public:
-
- #ifndef AMBERRT
- void applyTexture(textureClass *tex,
- int outside = TRUE,
- int bottom = TRUE,
- int inside = TRUE);
- #endif
- // Constructor Functions
-
- coneClass(float radius,
- float height,
- int tess = 6,
- int bottom = FALSE,
- int bothsides=TRUE,
- int addToUniv=TRUE,
- int createBBox=TRUE);
-
-
- // Destructor Function
-
- ~coneClass();
-
- };
-
- //---------------------------------------------------------------------
- // This is the class definition for the sphereClass.
- //
- class sphereClass : public geometryClass {
-
- // Private Data
- private:
-
- int nTess, doBothSides;
-
- // Protected Data
-
- // Public Data
-
- public:
-
- #ifndef AMBERRT
- void applyTexture(textureClass *tex,
- int outside = TRUE,
- int inside = FALSE);
- #endif
-
- // Constructor Functions
-
- sphereClass(float radius,
- int nlat,
- int nlong,
- int bothsides=FALSE,
- int addToUniv=TRUE,
- int createBBox=TRUE);
-
-
- // Destructor Function
-
- ~sphereClass();
-
- };
-
- //---------------------------------------------------------------------
- // This is the class definition for the hemisphereClass.
- //
- class hemisphereClass : public geometryClass {
-
- // Private Data
-
- // Protected Data
-
- // Public Data
-
- public:
-
-
- // Constructor Functions
-
- hemisphereClass(float radius,
- int nlat,
- int nlong,
- int bottom = FALSE,
- int bothsides=TRUE,
- int addToUniv=TRUE,
- int createBBox=TRUE);
-
-
- // Destructor Function
-
- ~hemisphereClass();
-
- };
- //---------------------------------------------------------------------
- // This is the class definition for the arcClass.
- //
- class arcClass : public geometryClass {
-
- // Private Data
-
- // Protected Data
-
- // Public Data
-
- public:
-
-
- // Constructor Functions
-
- arcClass(float radius,
- float width,
- int segments,
- float sweep,
- int bothsides=TRUE,
- int addToUniv=TRUE,
- int createBBox=TRUE);
-
- // Destructor Function
- ~arcClass();
-
- };
-
- //---------------------------------------------------------------------
- // This is the class definition for the gridClass.
- //
- class gridClass : public geometryClass {
-
- // Private Data
-
- // Protected Data
-
- // Public Data
-
- public:
-
-
- // Constructor Functions
-
- gridClass(float length,
- int xSegments,
- int zSegments,
- int bothsides=TRUE,
- int addToUniv=TRUE,
- int createBBox=TRUE);
-
-
- // Destructor Function
-
- ~gridClass();
-
- };
-
- //---------------------------------------------------------------------
- // This is the class definition for the circleClass.
- //
- class circleClass : public geometryClass {
-
- // Private Data
-
- // Protected Data
-
- // Public Data
-
- public:
-
-
- // Constructor Functions
-
- circleClass(float radius,
- int segments,
- int bothsides=TRUE,
- int addToUniv=TRUE,
- int createBBox=TRUE);
-
-
- // Destructor Function
-
- ~circleClass();
-
- };
-
- //---------------------------------------------------------------------
- // This is the class definition for the torusClass.
- //
- class torusClass : public geometryClass {
-
- // Private Data
-
- // Protected Data
-
- // Public Data
-
- public:
-
-
- // Constructor Functions
-
- torusClass(float radius,
- float width,
- int segments,
- int sides,
- int bothsides = TRUE,
- int addToUniv=TRUE,
- int createBBox=TRUE);
-
-
- // Destructor Function
-
- ~torusClass();
-
- };
-
-
- #endif
-