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 _CIvfPolyState_h_
00026 #define _CIvfPolyState_h_
00027
00028 #include <ivf/IvfRenderState.h>
00029
00030 IvfSmartPointer(CIvfPolyState);
00031
00038 class IVF_API CIvfPolyState : public CIvfRenderState {
00039 public:
00040 enum TTargetFace {
00041 TF_FRONT,
00042 TF_BACK,
00043 TF_FRONT_AND_BACK
00044 };
00045 enum TPolygonMode {
00046 PM_POINT,
00047 PM_LINE,
00048 PM_FILL
00049 };
00050 private:
00051 TTargetFace m_face;
00052 TPolygonMode m_mode;
00053 int m_oldFace;
00054 int m_oldMode;
00055 public:
00057 CIvfPolyState();
00058
00060 virtual ~CIvfPolyState();
00061
00062 IvfClassInfo("CIvfPolyState",CIvfRenderState);
00063
00070 void setFace(TTargetFace face);
00071
00073 TTargetFace getFace();
00074
00080 void setMode(TPolygonMode mode);
00081
00083 TPolygonMode getMode();
00084
00085 virtual void doRestoreState();
00086 virtual void doSaveState();
00087 virtual void doState();
00088 };
00089
00090 #endif