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

cybpftransformc.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 CYBPFTRANSFORMC_H
00027 #define CYBPFTRANSFORMC_H
00028 
00029 #include <math.h>
00030 #include <stdio.h>
00031 #include <fstream>
00032 
00033 #include "oaw/ctk/cybtransformc.h"
00034 #include "oaw/pfctk/cybpfnodec.h"
00035 
00036 #include <Performer/pf/pfDCS.h>
00037 
00038 #define TRUE 1
00039 #define FALSE 0
00040 
00041 class pfDCS;
00042 
00044 // CybNodeC class
00046 
00047 class CybPFTransformC : public CybTransformC,
00048       public virtual CybPFNodeI
00049 
00050 {
00051   // Attributes
00052 public:
00053   CybPFTransformC(CybWorldC*);
00054   virtual ~CybPFTransformC();
00055   CybPFTransformC(const CybPFTransformC&);
00056   CybPFTransformC& operator = (const CybPFTransformC&);  
00057   
00058   // Set values
00059   virtual void SetTranslation(const SFVec3f&);
00060   virtual void SetCenter(const SFVec3f&);
00061   virtual void SetScale(const SFVec3f&);
00062   virtual void SetRotation(const SFRotation&);
00063   virtual void SetScaleOrientation(const SFRotation&);
00064 
00065   virtual void AddChild(CybNodeC* pN);
00066   virtual void RemoveChild(CybNodeC* pN);
00067 
00068   virtual void FinishInit();
00069 
00070   pfNode* GetPFNode();
00071 protected:
00072   virtual void SetQuatRot(const SFRotation&);
00073 private:
00074   void UpdatePFMatrix();
00075 protected:
00076   pfDCS* m_pPFDcs;
00077   pfMatrix m_PFMatrix;
00078   ArrayC<CybNodeC*> m_childQue;
00079   int m_finished;
00080 };
00081 
00082 #endif
00083 
00084 
00085 
00086 
00087 
00088 
00089 
00090 

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