00001 /* 00002 Copyright (C) 2002 Carsten Winkelholz, Malte Weiß 00003 00004 Malte Weiß, 10.09.2002: Event handling extended. 00005 17.04.2003: Implementated LoadVRML functionality. 00006 00007 Address: FGAN Forschungsgesellschaft fr Angewandte Naturwissenschaften e. V. 00008 Neuenahrer Str. 20 00009 D - 53343 Wachtberg 00010 00011 Email: winkelholz@fgan.de 00012 00013 This program is free software; you can redistribute it and/or 00014 modify it under the terms of the GNU General Public License 00015 as published by the Free Software Foundation; either version 2 00016 of the License, or (at your option) any later version. 00017 00018 This program is distributed in the hope that it will be useful, 00019 but WITHOUT ANY WARRANTY; without even the implied warranty of 00020 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00021 GNU General Public License for more details. 00022 00023 You should have received a copy of the GNU General Public License 00024 along with this program; if not, write to the Free Software 00025 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00026 */ 00027 00028 00029 #ifndef CYBBOX_HC 00030 #define CYBBOX_HC 00031 00032 00033 #include "oaw/misc/vectorc.h" 00034 #include "oaw/ctk/cybgeometryc.h" 00035 #include "../oawconfig.h" 00036 00037 OAW_BEGIN_NAMESPACE 00038 00039 class CybNodeC; 00040 00041 //---------------------------------------------------------------- 00042 // Class 00043 //---------------------------------------------------------------- 00044 00045 class OAW_DLLMAPPING CybBoxC : public CybGeometryC 00046 { 00047 public: 00048 CybBoxC(CybWorldC*); 00049 CybBoxC(const CybBoxC&); 00050 CybBoxC& operator = (const CybBoxC&); 00051 virtual void Copy(const CybNodeC*); 00052 virtual int AddSrc(CybNodeC*,const StringC&,const StringC&); 00053 virtual void LoadVRML(char*& iter, const char* iterEnd, long& znr); 00054 virtual void SetEvent(long,const void*, BaseI*); 00055 virtual long GetFieldEventID(const char*); 00056 virtual long GetFieldDataType(long); 00057 virtual void ToChannelDefault(CybChannelC*, long flag); 00058 virtual void ToChannelTexture(CybChannelC*, long flag); 00059 virtual void FinishInit(); 00060 protected: 00061 virtual void CreateNewCopy(CybNodeC*); 00062 public: 00063 virtual const CybBoxC* GetBbx(){return this;} 00064 00065 const VectorC& GetSize() const {return m_vSize;} 00066 const VectorC& GetCenter() const {return m_vCenter;} 00067 virtual void SetSize(const VectorC& vSize){m_vSize = vSize;} 00068 virtual void SetCenter(const VectorC& vCenter){m_vCenter = vCenter;} 00069 00070 protected: 00071 VectorC m_vSize; 00072 VectorC m_vCenter; 00073 00074 private: 00075 static char VRMLKeyStrList[][30]; 00076 }; 00077 00078 OAW_END_NAMESPACE 00079 00080 #endif
1.3-rc2