00001 #ifndef CYBChannelC_H
00002 #define CYBChannelC_H
00003
00004 #include "oaw/misc/matrixc.h"
00005 #include "oaw/misc/arrayc.h"
00006 #include "../oawconfig.h"
00007
00008 OAW_BEGIN_NAMESPACE
00009
00010
00011 class CybWorldC;
00012 class CybGroupC;
00013 class CybViewC;
00014
00015 class CybUserC;
00016 class CybBInfoC;
00017
00018 class FTGLExtrdFont;
00019 struct FontMetric;
00020
00021 class OAW_DLLMAPPING CybChannelC
00022 {
00023 public:
00024 CybChannelC();
00025 virtual ~CybChannelC(){}
00026
00027 const Matrix4C& GetTransformMatrix();
00028 virtual void SetWorld(CybWorldC* pW){m_pWorld = pW;}
00029 virtual Matrix4C PopTransformMatrix();
00030 virtual void PushTransformMatrix();
00031 virtual void MultTransformMatrix(const Matrix4C&);
00032 virtual void ClearTransformStack();
00033
00034 virtual void IncScaleCounter(){m_scaleCounter++;}
00035 virtual void DecScaleCounter(){m_scaleCounter--;}
00036 virtual int GetScaleCounter() const {return m_scaleCounter;}
00037 virtual void IncLevelCounter(){m_levelCounter++;}
00038 virtual void DecLevelCounter(){m_levelCounter--;}
00039
00040 virtual short TestBInfo(const CybBInfoC&){return 1;}
00041
00042 virtual void Process(CybGroupC*,short flag);
00043 virtual void Reset(){}
00044
00045 inline long GetRessourceID() const {return m_lRessourceID;}
00046 inline void SetRessourceID(long n){m_lRessourceID =n;}
00047
00048 protected:
00049 ArrayC<Matrix4C> m_transformStack;
00050 long m_scaleCounter;
00051 long m_levelCounter;
00052 long m_id;
00053 long m_lastBLevel;
00054
00055 CybWorldC* m_pWorld;
00056
00057 long m_lRessourceID;
00058 };
00059
00060 OAW_END_NAMESPACE
00061
00062 #endif
00063
00064
00065
00066
00067
00068