Main Page | File List

TObjectCoinViewFactory.h

00001 // @(#)root/gtgl:$Name: $:$Id: TObjectOpenGLViewFactory.h,v 1.4 2005/08/24 21:51:34 fine Exp $ 00002 // Author: Valery Fine 24/04/05 00003 00004 #ifndef ROOT_TObjectCoinViewFactory 00005 #define ROOT_TObjectCoinViewFactory 00006 00007 /**************************************************************************** 00008 ** 00009 ** TObjectOpenGLViewFactory 00010 00011 ** An unterface of the class visitor to convert the ROOT 3D objets into 00012 ** the concrete "viewer" representation like OpenGL, OpenInventor, x3d etc 00013 ** 00014 ** Copyright (C) 2005 by Valeri Fine. Brookhaven National Laboratory All rights reserved. 00015 ** 00016 ** This file may be distributed under the terms of the Q Public License 00017 ** as defined by Trolltech AS of Norway and appearing in the file 00018 ** LICENSE.QPL included in the packaging of this file. 00019 ** 00020 *****************************************************************************/ 00021 00022 #include "TObject3DViewFactory.h" 00023 #include "TBoundBoxEstimator.h" 00024 00025 class TShape3DPolygonView; 00026 class SoSeparator; 00027 00028 class TObjectCoinViewFactory : public TObject3DViewFactory { 00029 private: 00030 SoSeparator *fRootNode; 00031 SoSeparator *fCurrNode; 00032 bool fReflection; // is Reflection matrix 00033 protected: 00034 TBoundBoxEstimator fBoundBox; 00035 virtual TObject3DView *MakeShape(TShape3DPolygonView &shapeView, const Float_t *rgba); 00036 public: 00037 TObjectCoinViewFactory(); 00038 virtual ~TObjectCoinViewFactory(); 00039 virtual void AddNormal(TObject3DView *, const Double_t *normal); 00040 virtual void AddChild(TObject3DView * parent, TObject3DView *child); 00041 virtual TObject3DView *BeginModel(TObject3DView *); 00042 virtual TObject3DView *EndModel(); 00043 virtual void PushMatrix(); 00044 virtual void PushMatrixEstimate(const Double_t *traslation,const Double_t *rotation); 00045 virtual void PopMatrix(); 00046 virtual void PopMatrixEstimate(); 00047 virtual TObject3DView *CreateMatrix(const Double_t *traslation, const Double_t *rotation, Bool_t isReflection); 00048 virtual TObject3DView *CreateNormal(const Double_t *normal); 00049 virtual TObject3DView *CompileSelection(TObject3DView *view); 00050 virtual void CompileViewLevel(TObject3DView *,ERenderType type=kNormal); 00051 virtual void GetBoundBox(Double_t *min, Double_t *max) const; 00052 virtual ULong_t GetViewerId(TObject3DView *) const; 00053 virtual Bool_t NeedCompilation() const; 00054 virtual void Release(TObject3DView *); 00055 }; 00056 #endif

Generated on Wed Sep 27 15:15:34 2006 for QtCoinViewer by doxygen 1.3.7