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

cybproxyc.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 CYBPROXYC_H
00027 #define CYBPROXYC_H
00028 
00029 
00030 //#include "oaw/ctk/cybnodec.h"
00031 #include "oaw/misc/stringc.h"
00032 #include "oaw/misc/objectc.h"
00033 #include "../oawconfig.h"
00034 
00035 OAW_BEGIN_NAMESPACE
00036 
00037 
00038 class CybBatchProxyC;
00039 class CybNodeC;
00040 class CybScriptC;
00041 class CybWorldC;
00042 class CybProxyManagerC;
00043 
00044 class OAW_DLLMAPPING CybProxyC : public ObjectI
00045 {
00046 public:
00047   CybProxyC(const CybProxyC* pN);
00048   CybProxyC(long,CybScriptC*,CybWorldC* pW);
00049   CybProxyC(const CybProxyC&);
00050   virtual ~CybProxyC();
00051   CybProxyC& operator = (const CybProxyC&);  
00052   
00053   virtual void* GetImpl(){return this;}
00054   virtual long GetFieldEventID(const char*) const; 
00055   virtual short GetFieldData(long ix,void* data) const;
00056   virtual short GetFieldDataByName(const char*,void* data) const;
00057   virtual void SetEvent(long,const void*) const;
00058   virtual void SetEventByName(const char*, const void*) const;
00059   virtual short IsKindOf(long) const;
00060   virtual long GetNodeID() const;
00061   virtual long GetNodeIDProto() const;
00062   virtual long GetFieldDataType(long id) const;
00063   
00064   virtual short IsNil() const;
00065   virtual void SetSFNode(const CybProxyC*);
00066   virtual void SetSFNode(const CybProxyC& n);
00067   
00068   //void SetNeutral(short b){m_bNeutral = b;}
00069   void SetBatchProxy(CybBatchProxyC* p){m_pBatchProxy = p;}
00070   virtual const char* GetDefName() const;
00071   CybNodeC* GetNode() const {return m_pNode;}
00072   CybScriptC* GetScriptNode() const {return m_pScript;}
00073 
00074   void SetNodeByID(long id);
00075   virtual void SharedObjectDestroyed(SharedObjectC*);
00076   virtual short RootIsLinkedAsAUser(ArrayC<SharedObjectC*>&);
00077 
00078 protected:
00079   void UpdateNodeRef();
00080   void SetNode(CybNodeC* pN);
00081   
00082 protected:
00083   //short m_bNeutral;
00084   CybNodeC* m_pNode;
00085   long m_nodeID;
00086   CybBatchProxyC* m_pBatchProxy;
00087   CybScriptC* m_pScript;
00088   CybWorldC* m_pWorld;
00089   CybProxyManagerC* m_pProxyMgr;
00090 };
00091 
00092 OAW_END_NAMESPACE
00093 
00094 
00095 #endif
00096 
00097 
00098 
00099 
00100 

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