home *** CD-ROM | disk | FTP | other *** search
- //**********************************************************************
- // DIVE Laboratories, Inc.
- // Copyright(c) 1995
- // All rights reserved.
- // FILE: LINE.HPP
- //
- // DESCRIPTION
- // This file provides the function prototypes for the
- // lineClass
- //
- // Author: M. Doucet
- //
- // Modification History:
- // 6/13/95 Created
- //
- //**********************************************************************
- #ifndef _LINE_HPP
- #define _LINE_HPP
-
- #include "vrtypes.hpp"
- #include "vertex.hpp"
- #ifndef AMBERRT
- #include "texture.hpp"
- #include "material.hpp"
- #endif
-
- class geometryClass;
- class geometryPrivateClass;
- class renderStateClass;
-
- class lineClass {
-
- friend class geometryClass;
- friend class geometryPrivateClass;
- friend class renderStateClass;
-
- private:
-
- // Polygon data
- //
- int nVerts, lineId;
- Vres A,B,C,D; // Determinants
-
- void fixStorage();
-
- geometryClass *parent;
-
- materialClass *mat;
-
- public:
-
- vertexClass **vertex;
- lineAsEnum lineType;
-
- #ifndef AMBERRT
- textureClass *tex;
- #endif
-
- // Material Functions
- void setMaterial(materialClass *mat);
- void setMaterial(char *name);
- materialClass *getMaterial();
-
- F4 color;
- void setColor(F4 col);
-
- // Vertex functions
- //
- int addVertex(vertexClass *v);
- int getNumVertices();
- vertexClass *getVertex(int index);
- void getVertexPos(int index, V3 pos);
-
- lineClass();
- ~lineClass();
- };
-
- #endif
-