00001 #ifndef COIN_SOPRIMITIVEVERTEX_H
00002 #define COIN_SOPRIMITIVEVERTEX_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <Inventor/SbVec2f.h>
00028 #include <Inventor/SbVec3f.h>
00029 #include <Inventor/SbVec4f.h>
00030
00031
00032 class SoDetail;
00033
00034 class COIN_DLL_API SoPrimitiveVertex {
00035 public:
00036 SoPrimitiveVertex(void);
00037 SoPrimitiveVertex(const SoPrimitiveVertex & pv);
00038 ~SoPrimitiveVertex();
00039 const SbVec3f & getPoint(void) const;
00040 const SbVec3f & getNormal(void) const;
00041 const SbVec4f & getTextureCoords(void) const;
00042 int getMaterialIndex(void) const;
00043 const SoDetail * getDetail(void) const;
00044 SoPrimitiveVertex & operator =(const SoPrimitiveVertex & pv);
00045
00046 void setPoint(const SbVec3f & point);
00047 void setNormal(const SbVec3f & normal);
00048 void setTextureCoords(const SbVec2f & texcoords);
00049 void setTextureCoords(const SbVec3f & texcoords);
00050 void setTextureCoords(const SbVec4f & texcoords);
00051
00052 void setMaterialIndex(const int index);
00053 void setDetail(SoDetail * const detail);
00054
00055
00056 private:
00057 SbVec3f point;
00058 SbVec3f normal;
00059 SbVec4f textureCoords;
00060 int materialIndex;
00061 SoDetail * detail;
00062 };
00063
00064 #endif // !COIN_SOPRIMITIVEVERTEX_H