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

cybisectlinechannelc.h

Go to the documentation of this file.
00001 #ifndef CYBISECTLEINCHANNELC_H
00002 #define CYBISECTLEINCHANNELC_H
00003 
00004 #include "oaw/ctk/cybchannelc.h"
00005 #include "../oawconfig.h"
00006 
00007 OAW_BEGIN_NAMESPACE
00008 
00009 
00010 class CybNodeC;
00011 class CybTouchSensorC;
00012 class CybDragSensorC;
00013 
00014 class OAW_DLLMAPPING CybIsectLineChannelC:public CybChannelC
00015 { 
00016 public:
00017   CybIsectLineChannelC();
00018   struct IsectInfoS{
00019     double m_zMin;
00020     CybNodeC* m_pN;
00021     CybTouchSensorC* m_pTS;
00022     ArrayC<CybDragSensorC*>* m_pDragSensors;
00023     Vector3C m_hitPoint;
00024     Vector3C m_hitNormal;
00025     Vector2C m_hitTexcoord;
00026   };
00027 
00028   ArrayC<IsectInfoS> GetIsects(){return m_isects;}
00029   void SetIsectLine(VectorC, VectorC);
00030   virtual Matrix4C PopTransformMatrix();
00031   virtual void PushTransformMatrix();
00032   virtual void MultTransformMatrix(const Matrix4C&);
00033   virtual short TestBInfo(const CybBInfoC&);
00034   virtual void Process(CybGroupC*,short flag);
00035   virtual void GetIsectLine(VectorC& startP, VectorC& endP);
00036 
00037   void AddIsect(const IsectInfoS&);
00038   void PushTouchSensor(CybTouchSensorC* pTS){m_tsStack.push_back(pTS);}
00039   void PopTouchSensor(){CybTouchSensorC* pTS; m_tsStack.pop_back(pTS);}
00040 
00041   void PushDragSensors(ArrayC<CybDragSensorC*>* pDragSensors) { m_tsDragSensorStack.push_back(pDragSensors); }
00042   void PopDragSensors() { ArrayC<CybDragSensorC*>* pDS; m_tsDragSensorStack.pop_back(pDS); }
00043 
00044   //inline void SetButtonState(short state) { m_buttonState = state; }
00045   //inline short GetButtonState() { return m_buttonState; }
00046 
00047 protected:
00048   VectorC m_startPoint;
00049   VectorC m_endPoint;
00050   VectorC m_startPointT;
00051   VectorC m_endPointT;
00052   ArrayC<IsectInfoS> m_isects;
00053   ArrayC<CybTouchSensorC*> m_tsStack;
00054   ArrayC<ArrayC<CybDragSensorC*>*> m_tsDragSensorStack;
00055   //short m_buttonState;
00056 };
00057 
00058 
00059 OAW_END_NAMESPACE
00060 
00061 
00062 #endif
00063 
00064 
00065 
00066 
00067 

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