src/PrimitiveFactories.h

Go to the documentation of this file.
00001 #ifndef PRIMITIVEFACTORIES_H
00002 #define PRIMITIVEFACTORIES_H
00003 
00004 
00005 class Primitive;
00006 class Triangle;
00007 class TexturedSmoothTriangle;
00008 class Vec3f;
00009 class TexCoordinate;
00010 
00011 
00017 class PrimitiveFactory
00018 {
00019 public:
00022     virtual ~PrimitiveFactory();
00023 
00026     virtual Primitive * create( const Triangle &        v,
00027                                 const Vec3f &           na,
00028                                 const Vec3f &           nb,
00029                                 const Vec3f &           nc,
00030                                 const TexCoordinate &   ta,
00031                                 const TexCoordinate &   tb,
00032                                 const TexCoordinate &   tc ) const = 0;
00033 };
00034 
00035 
00041 class TriangleFactory : public PrimitiveFactory
00042 {
00045     Primitive * create( const Triangle &        v,
00046                         const Vec3f &           /*na*/,
00047                         const Vec3f &           /*nb*/,
00048                         const Vec3f &           /*nc*/,
00049                         const TexCoordinate &   /*ta*/,
00050                         const TexCoordinate &   /*tb*/,
00051                         const TexCoordinate &   /*tc*/ ) const;
00052 };
00053 
00054 
00060 class TexturedSmoothTriangleFactory : public PrimitiveFactory
00061 {
00064     Primitive * create( const Triangle &        v,
00065                         const Vec3f &           na,
00066                         const Vec3f &           nb,
00067                         const Vec3f &           nc,
00068                         const TexCoordinate &   ta,
00069                         const TexCoordinate &   tb,
00070                         const TexCoordinate &   tc ) const;
00071 };
00072 
00073 
00074 #endif
00075 

Generated on Fri Feb 1 00:01:42 2008 for Grayfall by  doxygen 1.5.1