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

cybcoordinatec.h

Go to the documentation of this file.
00001 /*
00002 Copyright (C) 1999  Carsten Winkelholz
00003 
00004 Address:  FGAN Forschungsgesellschaft fr Angewandte Naturwissenschaften e. V.
00005       Neuenahrer Str. 20
00006       D - 53343 Wachtberg
00007       
00008 Email:    winkelholz@fgan.de
00009 
00010 This program is free software; you can redistribute it and/or
00011 modify it under the terms of the GNU General Public License
00012 as published by the Free Software Foundation; either version 2
00013 of the License, or (at your option) any later version.
00014 
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 GNU General Public License for more details.
00019 
00020 You should have received a copy of the GNU General Public License
00021 along with this program; if not, write to the Free Software
00022 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00023 */
00024 
00025 
00026 #ifndef CYBCOORDINATE_HC
00027 #define CYBCOORDINATE_HC
00028 
00029 #include "oaw/ctk/cybnodec.h"
00030 #include "oaw/misc/vectorc.h"
00031 #include "oaw/ctk/cybwrlfields.h"
00032 #include "../oawconfig.h"
00033 
00034 OAW_BEGIN_NAMESPACE
00035 
00036 
00037 class OAW_DLLMAPPING CybCoordinateC : public CybNodeC
00038 {
00039 public:
00040   
00041 public:
00042   CybCoordinateC(CybWorldC*); 
00043   virtual ~CybCoordinateC(); 
00044   CybCoordinateC(const CybCoordinateC&);
00045   CybCoordinateC& operator = (const CybCoordinateC&);  
00046   
00047 //  void SetCoord(long i,const VectorC& v);
00048   float* GetCoord_fv(long i){return m_coord+3*i;} 
00049   VectorC GetCoord(long i); 
00050 
00051   long GetLength(){return m_length/3;}
00052   
00053   virtual void LoadVRML(char*& iter, const char* iterEnd, long& znr);
00054   virtual int AddSrc(CybNodeC* pN,const StringC& a1,const StringC& a2);
00055   virtual void EventCascadeEnd();
00056 
00057   virtual void SetEvent(long, const void*, BaseI*);
00058   virtual long BufEvent(long, const void*, BaseI*);
00059   virtual long GetEventBufMinDataSize();
00060   virtual long GetEventBufMaxDataSize();
00061   virtual short CopyEventBuf(AnyC&,long);
00062   virtual short SetEventBuf(AnyC&, BaseI*);
00063 
00064   virtual long GetFieldEventID(const char*);
00065   virtual long GetFieldDataType(long);
00066 
00067   virtual short GetFieldData(long ,void*);
00068 
00069 
00070 //  void MoveLocalBy(const VectorC& v);
00071 //  void Scale(double, double, double);
00072 //  void Scale(double f);
00073 protected:
00074   virtual void CreateNewCopy(CybNodeC*);
00075   void CalcBInfo();
00076 protected:
00077   long m_length;
00078   float* m_coord;
00079   long m_lengthBuf;
00080   float* m_coordBuf;
00081   short m_updateFlag;
00082   long m_copyEventBufState;
00083 };
00084 
00085 OAW_END_NAMESPACE
00086 
00087 
00088 #endif
00089 
00090 
00091 
00092 
00093 
00094 
00095 
00096 

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