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

cybshapec.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 CYBSHAPE_HC
00027 #define CYBSHAPE_HC
00028 
00029 #include <math.h>
00030 #include <stdio.h>
00031 #include <fstream>
00032 
00033 #include "oaw/misc/matrixc.h"
00034 #include "oaw/misc/arrayc.h"
00035 #include "oaw/misc/vectorc.h"
00036 #include "oaw/ctk/vertexc.h"
00037 #include "oaw/misc/stringc.h"
00038 #include "oaw/ctk/cybnodec.h"
00039 #include "oaw/ctk/cybworldc.h"
00040 #include "oaw/ctk/cybgeometryc.h"
00041 #include "../oawconfig.h"
00042 
00043 OAW_BEGIN_NAMESPACE
00044 
00045 
00046 
00047 #define TRUE 1
00048 #define FALSE 0
00049 
00050 class CybWorldC;
00051 class CybGeometryC;
00052 class CybGLViewC;
00053 class CybAppearanceC;
00054 
00056 // cybobjektc.h : interface of the CybObjektC class
00058 
00059 
00060 class OAW_DLLMAPPING CybShapeC : public CybNodeC
00061 {
00062   friend class CybWorldC;
00063   friend class CybNodeC;
00064 public:
00065   CybShapeC(CybWorldC*);
00066   //CybShapeC(CybGeometryC* pG);
00067   virtual ~CybShapeC();
00068   CybShapeC(const CybShapeC&);
00069   CybShapeC& operator = (const CybShapeC&);  
00070 
00071 
00072 
00073   virtual void SetEvent(long, const void*, BaseI*);
00074   virtual short GetFieldData(long,void* data);
00075   virtual long GetFieldEventID(const char*);
00076   virtual long GetFieldDataType(long);
00077   
00078   virtual const CybBInfoC& GetBInfo();
00079   virtual int SetNode(CybNodeC* pN);
00080   virtual void ToChannel(CybChannelC* pV,long flag);
00081   void SetAppearanceStatic(short b){m_appearanceStatic=b;}
00082 
00083 protected:
00084   virtual void CreateNewCopy(CybNodeC*);
00085   virtual void LoadVRML(char*& iter, const char* iterEnd,long& znr);
00086   virtual void GetMessageAsObjectI(void*,long,SharedObjectC*);
00087   void InitDefault();
00088   virtual void FinishInit();
00089   void SetGeometry(CybGeometryC* pG);     
00090   void SetAppearance(CybAppearanceC* pG);     
00091 
00092 protected: 
00093   int m_blending;
00094   int m_culling;
00095   int m_light_model_two_side;
00096   short  m_geometryStatic;
00097   short  m_appearanceStatic;
00098   CybAppearanceC* m_pAppearance;
00099   CybGeometryC*  m_pGeometry;
00100 private:
00101   static char VRMLKeyStrList[][30];
00102 };
00103 
00104 OAW_END_NAMESPACE
00105 
00106 
00107 #endif
00108 
00110 
00111 
00112 
00113 
00114 
00115 
00116 
00117 

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