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

  1. //**********************************************************************
  2. //  DIVE Laboratories, Inc.
  3. //  Copyright(c) 1995
  4. //  All rights reserved.
  5. //  FILE:   GEOPRIMSET.HPP
  6. //
  7. //  DESCRIPTION
  8. //  This file provides the function prototypes for the geoPrimSetClass
  9. //
  10. //  Author: M. Doucet
  11. //
  12. //  Modification History:
  13. //  6/13/95    Created
  14. //
  15. //**********************************************************************
  16. #ifndef _GEOPRIMSET_HPP
  17. #define _GEOPRIMSET_HPP
  18.  
  19. //BDG
  20. class geoPrimSetClass;
  21.  
  22. #include "slink.hpp"
  23. #include "vertex.hpp"
  24. #include "line.hpp"
  25. #include "triangle.hpp"
  26. #include "polygon.hpp"
  27. #include "point.hpp"
  28.  
  29. typedef enum {_VERTSET, _POINTSET, _LINESET, 
  30.               _TRISET, _QUADSET, _POLYSET} geoPrimSetType;
  31.  
  32. class geoPrimSetClass {
  33.  
  34. private:
  35.  
  36.     geoPrimSetType  geoPrimType;
  37.     int                  nPrims;
  38.  
  39. public:
  40.  
  41.     sLinkClass pList;
  42.  
  43.     // Adding primitives
  44.     //
  45.     int   addPrimitive(polygonClass  *p);
  46.     int   addPrimitive(quadClass     *p);
  47.     int   addPrimitive(triangleClass *p);
  48.     int   addPrimitive(lineClass     *p);
  49.     int   addPrimitive(pointClass    *p);
  50.     int   addPrimitive(vertexClass   *p);
  51.     void *getPrimitive(int index);
  52.     int   numPrimitives();
  53.  
  54.     geoPrimSetType getType();
  55.     void           setType(geoPrimSetType primType);
  56.  
  57.     //void render(int useMaterial, int shaded, polyAsEnum polyAs);
  58.  
  59.     geoPrimSetClass(geoPrimSetType primType = _TRISET);
  60.     ~geoPrimSetClass();
  61. };
  62.  
  63. #endif
  64.