Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

cybgraphicchannelc.h

Go to the documentation of this file.
00001 #ifndef CYBGRAPHICChannelC_H
00002 #define CYBGRAPHICChannelC_H
00003 
00004 #include "cybchannelc.h"
00005 #include "../oawconfig.h"
00006 
00007 OAW_BEGIN_NAMESPACE
00008 
00009 
00010 class OAW_DLLMAPPING CybGraphicChannelC : public CybChannelC
00011 {
00012 public:  
00013   CybGraphicChannelC();
00014   virtual void ClearBuffers()=0;
00015 
00016   void GetScreenSize(double& x, double& y) const {x=m_vww;y=m_vwh;}
00017   double GetFar() const {return m_far;}
00018   double GetNear() const {return m_near;}
00019   VectorC GetViewplanePos() const {return m_viewplanePos;}
00020   VectorC GetViewplaneNorm() const {return m_viewplaneNorm;}
00021   VectorC GetProjectionpoint() const {return m_projectionpoint;}
00022   double GetViewplaneRol() const {return m_viewplaneRol;}
00023 
00024   virtual void SetViewplanePos(const VectorC& v);
00025   virtual void SetViewplaneNorm(const VectorC& v);
00026   virtual void SetProjectionpoint(const VectorC& v);
00027   virtual void SetScreenSize(double x, double y){m_vww=x;m_vwh=y;}
00028   virtual void SetViewplaneRol(double rol);
00029   virtual void SetFar(const double& f){m_far=f;}
00030   virtual void SetNear(const double& n){m_near=n;}
00031   virtual short TestBInfo(const CybBInfoC&);
00032 
00033   void HeadLightOn(short b){m_headLightOn=b;}
00034   short HeadLightIsOn() const {return m_headLightOn;}
00035   void SetWireFrame(short b){m_bWireFrame = b;}
00036   short GetWireFrame() const {return m_bWireFrame;}
00037   long GetCullingStat(){return m_cullingCount;}
00038 
00039 
00040 protected:
00041   void UpdateFrustumNormals();
00042 
00043 protected:
00044   VectorC m_viewplanePos;
00045   VectorC m_viewplaneNorm;
00046   double m_viewplaneRol;
00047   double m_near,m_far;
00048   
00049   VectorC m_frustumTopNormal;
00050   VectorC m_frustumBottomNormal;
00051   VectorC m_frustumLeftNormal;
00052   VectorC m_frustumRightNormal;
00053   VectorC m_frustumBase;
00054 
00055   long m_cullingCount;
00056   long m_noCullLevel;
00057 
00058   VectorC m_projectionpoint;
00059   double m_vww,m_vwh;
00060 
00061   short m_headLightOn;
00062   short m_bWireFrame;
00063 
00064 };
00065 
00066 OAW_END_NAMESPACE
00067 
00068 
00069 #endif
00070 
00071 
00072 
00073 
00074 
00075 

Generated on Tue Jul 29 14:24:10 2003 for Open ActiveWrl by doxygen1.3-rc2