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
00026 #ifndef CYBVIEWPOINTSENSORC_H
00027 #define CYBVIEWPOINTSENSORC_H
00028
00029 #include "oaw/misc/vectorc.h"
00030 #include "oaw/ctk/cybsensorc.h"
00031 #include "../oawconfig.h"
00032
00033 OAW_BEGIN_NAMESPACE
00034
00035
00036 #define CYB_VPACCESS_BROWSER 0
00037 #define CYB_VPACCESS_SAI 1
00038
00039 class OAW_DLLMAPPING CybViewpointSensorC : public CybSensorC
00040 {
00041 public:
00042 CybViewpointSensorC(CybWorldC*);
00043 CybViewpointSensorC(const CybViewpointSensorC&);
00044 CybViewpointSensorC& operator = (const CybViewpointSensorC&);
00045
00046 void SetWriteAccessTo(short s){m_access=s;}
00047 virtual void RouteData();
00048
00049 void SetViewpointPos(const VectorC& v,short);
00050 void SetViewpointNorm(const VectorC& v,short);
00051 void SetViewpointRol(const double& rol,short);
00052
00053 VectorC GetViewpointPos(){return m_viewpointPos;}
00054 VectorC GetViewpointNorm(){return m_viewpointNorm;}
00055 double GetViewpointRol(){return m_viewpointRol;}
00056
00057 VectorC GetViewpointPosA();
00058 VectorC GetViewpointNormA();
00059 double GetViewpointRolA();
00060
00061 virtual void SetInterfaceData(AnyC&);
00062 virtual void CopyInterfaceData (AnyC&,long maxLen);
00063 virtual long GetInterfaceDataMinLength();
00064
00065 protected:
00066 virtual void CreateNewCopy(CybNodeC*);
00067 protected:
00068 VectorC m_viewpointPos;
00069 VectorC m_viewpointNorm;
00070 double m_viewpointRol;
00071 VectorC m_viewpointPosBuf;
00072 VectorC m_viewpointNormBuf;
00073 double m_viewpointRolBuf;
00074 short m_access;
00075 };
00076
00077
00078 OAW_END_NAMESPACE
00079
00080
00081 #endif
00082
00083
00084
00085
00086
00087
00088