00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _CIvfQuadPlane_h_
00026 #define _CIvfQuadPlane_h_
00027
00028 #include <ivf/IvfQuadSet.h>
00029
00030 #include <ivfmath/IvfPlane.h>
00031
00032 IvfSmartPointer(CIvfQuadPlane);
00033
00043 class IVF_API CIvfQuadPlane : public CIvfQuadSet {
00044 public:
00045 enum TPlaneOrientation {
00046 PO_XY,
00047 PO_XZ,
00048 PO_YZ
00049 };
00050 private:
00051 void initPlane();
00052 double m_width;
00053 double m_height;
00054 double m_ratio;
00055 double m_textureRepeat[2];
00056 TPlaneOrientation m_planeOrientation;
00057 void updateTextureCoords();
00058 public:
00060 CIvfQuadPlane();
00061
00063 virtual ~CIvfQuadPlane();
00064
00065 IvfClassInfo("CIvfQuadPlane",CIvfQuadSet);
00066
00068 void flipVert();
00069
00076 void setWidth(double width);
00077
00083 void setTexture(CIvfTexture* texture);
00084
00091 void setSize(double width, double height);
00092
00094 void setOrientation(TPlaneOrientation orientation);
00095
00097 void setTextureRepeat(double xrepeat, double yrepeat);
00098 };
00099
00100 #endif