home *** CD-ROM | disk | FTP | other *** search
/ VRML Tools for 3D Cyberspace / VRML_Tools_For_3D_Cyberspace.iso / amber / include / line.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-01  |  1.4 KB  |  79 lines

  1. //**********************************************************************
  2. //  DIVE Laboratories, Inc.
  3. //  Copyright(c) 1995
  4. //  All rights reserved.
  5. //  FILE:   LINE.HPP
  6. //
  7. //  DESCRIPTION
  8. //  This file provides the function prototypes for the 
  9. //  lineClass
  10. //
  11. //  Author: M. Doucet
  12. //
  13. //  Modification History:
  14. //  6/13/95    Created
  15. //
  16. //**********************************************************************
  17. #ifndef _LINE_HPP
  18. #define _LINE_HPP
  19.  
  20. #include "vrtypes.hpp"
  21. #include "vertex.hpp"
  22. #ifndef AMBERRT
  23. #include "texture.hpp"
  24. #include "material.hpp"
  25. #endif
  26.  
  27. class geometryClass;
  28. class geometryPrivateClass;
  29. class renderStateClass;
  30.  
  31. class lineClass {
  32.  
  33.     friend class geometryClass;
  34.     friend class geometryPrivateClass;
  35.     friend class renderStateClass;
  36.  
  37. private:
  38.  
  39.     // Polygon data
  40.     //
  41.     int      nVerts, lineId;
  42.     Vres   A,B,C,D;             // Determinants
  43.     
  44.     void  fixStorage();
  45.  
  46.     geometryClass *parent;
  47.  
  48.     materialClass *mat;
  49.  
  50. public:
  51.  
  52.     vertexClass         **vertex;
  53.     lineAsEnum        lineType;
  54.  
  55. #ifndef AMBERRT
  56.     textureClass *tex;
  57. #endif
  58.  
  59.     // Material Functions
  60.     void setMaterial(materialClass *mat);
  61.     void setMaterial(char *name);
  62.     materialClass *getMaterial();
  63.  
  64.     F4              color;
  65.     void         setColor(F4 col);
  66.  
  67.     // Vertex functions
  68.     //
  69.     int addVertex(vertexClass *v);
  70.     int getNumVertices();
  71.     vertexClass *getVertex(int index);
  72.     void getVertexPos(int index, V3 pos);
  73.  
  74.     lineClass();
  75.     ~lineClass();
  76. };
  77.  
  78. #endif
  79.