00001
00002
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
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