Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

exotkAF_View.hxx

Go to the documentation of this file.
00001 
00002 //   exotkAF_View.hxx
00004 //    Copyright (C) 2001  Stephane Routelous
00005 //
00006 //    This file is part of exoTK.
00007 //
00008 //    exoTK is free software; you can redistribute it and/or modify
00009 //    it under the terms of the GNU General Public License as published by
00010 //    the Free Software Foundation; either version 2 of the License, or
00011 //    (at your option) any later version.
00012 //
00013 //    exoTK is distributed in the hope that it will be useful,
00014 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016 //    GNU General Public License for more details.
00017 //
00018 //    You should have received a copy of the GNU General Public License
00019 //    along with exoTK; if not, write to the Free Software
00020 //    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 
00028 #ifndef _exotkAF_View_HeaderFile
00029 #define _exotkAF_View_HeaderFile
00030 
00031 #if _MSC_VER > 1000
00032 #pragma once
00033 #endif // _MSC_VER > 1000
00034 
00035 #ifndef  _MMgt_TShared_HeaderFile
00036 #include <MMgt_TShared.hxx>
00037 #endif
00038 #ifndef  _Handle_exotkAF_View_HeaderFile
00039 #include <Handle_exotkAF_View.hxx>
00040 #endif
00041 #ifndef  _exotkAF_MouseButton_HeaderFile
00042 #include <exotkAF_MouseButton.hxx>
00043 #endif
00044 #ifndef  _Handle_exotkAF_Document_HeaderFile
00045 #include <Handle_exotkAF_Document.hxx>
00046 #endif
00047 #ifndef  _Handle_V3d_View_HeaderFile
00048 #include <Handle_V3d_View.hxx>
00049 #endif
00050 #ifndef  _Aspect_Handle_HeaderFile
00051 #include <Aspect_Handle.hxx>
00052 #endif
00053 
00054 class Handle_V3d_Viewer;
00055 enum exotkAF_CurrentActionMode;
00056 enum exotkAF_ViewType;
00057 class Handle_exotkTree_Menu;
00058 class Quantity_Color;
00059 
00065 class exotkAF_View : public MMgt_TShared  
00066 {
00067         friend class exotkAF_Document;
00068 public:
00069 
00077     inline void* operator new(size_t,void* anAddress) 
00078       {
00079         return anAddress;
00080       }
00081 
00088     inline void* operator new(size_t size) 
00089       { 
00090         return Standard::Allocate(size); 
00091       }
00092 
00099     inline void  operator delete(void *anAddress) 
00100       { 
00101         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
00102       }
00103 
00108         Standard_EXPORT exotkAF_View();
00109 
00114         Standard_EXPORT virtual ~exotkAF_View();
00115 
00121         Standard_EXPORT virtual void SetDocument(const Handle_exotkAF_Document& aDocument);
00122 
00128         Standard_EXPORT virtual Standard_Boolean IsValid();
00129 
00130 
00135         Standard_EXPORT virtual void SetNothingMode();
00136 
00141         Standard_EXPORT virtual void SetDynamicRotationMode();
00142 
00147         Standard_EXPORT virtual void SetDynamicPanningMode();
00148 
00153         Standard_EXPORT virtual void SetWindowZoomingMode();
00154 
00159         Standard_EXPORT virtual void SetDynamicZoomingMode();
00160 
00166         Standard_EXPORT virtual void SetCurrentActionMode(const enum exotkAF_CurrentActionMode aMode);
00167 
00173         Standard_EXPORT virtual exotkAF_CurrentActionMode CurrentActionMode();
00174 
00180         Standard_EXPORT virtual void SetCurrentMouseButton(const enum exotkAF_MouseButton aButton);
00181 
00182 
00188         Standard_EXPORT virtual exotkAF_MouseButton CurrentMouseButton();
00189 
00196         Standard_EXPORT virtual void CurrentMousePosition(Standard_Integer& aX,Standard_Integer& aY);
00202         Standard_EXPORT virtual void SetShiftKey(const Standard_Boolean On = Standard_True);
00203 
00209         Standard_EXPORT virtual void SetCtrlKey(const Standard_Boolean On = Standard_True);
00210 
00216         Standard_EXPORT virtual void Pick(const exotkAF_MouseButton aButton);
00217 
00218 
00223         Standard_EXPORT virtual void Release();
00224 
00232         Standard_EXPORT virtual exotkAF_CurrentActionMode Move(const Standard_Integer x, const Standard_Integer y);
00233 
00239         Standard_EXPORT virtual Standard_Boolean IsPopup(); 
00240 
00247         Standard_EXPORT virtual Standard_Boolean PopupMenu(Handle_exotkTree_Menu& aMenu);
00248 
00254         Standard_EXPORT virtual Standard_Boolean IsDragging(); 
00255 
00256 
00262         Standard_EXPORT Handle_V3d_View& V3dView();
00263 
00264 
00269         Standard_EXPORT virtual void Redraw();
00270 
00275         Standard_EXPORT virtual void FitAll();
00276 
00281         Standard_EXPORT virtual void Reset();
00282 
00283 
00289         Standard_EXPORT virtual void SetViewType(const enum exotkAF_ViewType aType);
00290 
00295         Standard_EXPORT virtual void Back();
00300         Standard_EXPORT virtual void Front();
00305         Standard_EXPORT virtual void Top();
00310         Standard_EXPORT virtual void Bottom();
00315         Standard_EXPORT virtual void Left();
00320         Standard_EXPORT virtual void Right();
00321 
00326         Standard_EXPORT virtual void Axo();
00327 
00328 
00335         Standard_EXPORT virtual void Pan(const Standard_Integer dX, const Standard_Integer dY);
00336 
00344         Standard_EXPORT virtual void Rotate(const Standard_Real Ax, const Standard_Real Ay, const Standard_Real Az);
00345 
00354         Standard_EXPORT virtual void WindowFitAll(const Standard_Integer Xmin, const Standard_Integer Ymin, const Standard_Integer Xmax, const Standard_Integer Ymax);
00355 
00363         Standard_EXPORT virtual Standard_Boolean Size(Standard_Integer& aWidth, Standard_Integer& aHeight);
00364 
00369         Standard_EXPORT virtual void ZoomOut();
00374         Standard_EXPORT virtual void ZoomIn();
00375 
00376 
00383         Standard_EXPORT virtual Standard_Boolean SetBackgroundColor(const Quantity_Color& aColor);
00384 
00394         Standard_EXPORT virtual Standard_Boolean SetBackgroundColor(const Standard_Real R = 0.5, const Standard_Real G = 0.5, const Standard_Real B = 0.5, const Standard_Real Base = 1.0);
00395 
00405         Standard_EXPORT virtual Standard_Boolean BackgroundColor(Standard_Real& R, Standard_Real& G, Standard_Real& B, const Standard_Real& aBase = 1.0);
00406 
00413         Standard_EXPORT virtual Standard_Boolean BackgroundColor(Quantity_Color& aColor);
00414 
00415 
00420         Standard_EXPORT virtual void Resize();
00421 
00422 
00428         Standard_EXPORT virtual void SetHiddenLine(const Standard_Boolean On = Standard_True);
00429 
00435         Standard_EXPORT virtual Standard_Boolean HiddenLine();
00436 
00437 
00443         Standard_EXPORT virtual void SetAntialiasing(const Standard_Boolean On = Standard_True);
00444 
00450         Standard_EXPORT virtual Standard_Boolean Antialiasing();
00451 
00457         Standard_EXPORT friend Handle_Standard_Type& exotkAF_View_Type_();
00458 
00464         Standard_EXPORT const Handle_Standard_Type& DynamicType() const;
00465 
00472         Standard_EXPORT Standard_Boolean  IsKind(const Handle_Standard_Type&) const;
00473 
00474 protected:
00475         
00476 
00484         Standard_EXPORT virtual Standard_Boolean CreateView(const Handle_V3d_Viewer& aViewer, const Aspect_Handle& anHandle);
00485 
00492         Standard_EXPORT virtual void MoveTo(const Standard_Integer x,const Standard_Integer y);
00493 
00501         Standard_EXPORT virtual exotkAF_CurrentActionMode CtrlMove(const Standard_Integer x , const Standard_Integer y);
00502 
00510         Standard_EXPORT virtual exotkAF_CurrentActionMode ShiftMove(const Standard_Integer x , const Standard_Integer y);
00511 
00513         Handle_exotkAF_Document myDocument;
00514         
00516         exotkAF_CurrentActionMode myCurrentActionMode; 
00517 
00519         exotkAF_MouseButton myCurrentMouseButton;
00520 
00522         Standard_Boolean myCtrlPushed;          
00523         
00525         Standard_Boolean myShiftPushed;
00526 
00528         Standard_Boolean myIsDragging;  
00529 public:
00531         Standard_Integer myCurrentXMousePosition;
00532         
00534         Standard_Integer myCurrentYMousePosition;
00535         
00537         Standard_Integer mySavedXMousePosition; 
00538         
00540         Standard_Integer mySavedYMousePosition; 
00541         
00542 protected:
00544         Standard_Integer myInitialXMousePosition;       
00545         
00547         Standard_Integer myInitialYMousePosition;
00548         
00550         Handle_V3d_View myView;
00552         Standard_Boolean myAntialiasingIsOn; 
00554         Standard_Boolean myIsHiddenLine;
00555 
00556 
00557 };
00558 
00559 #endif 

Generated on Wed Jan 23 12:16:40 2002 for exotk by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001