VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Web/Core/vtkWebApplication.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkWebApplication.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00023 #ifndef vtkWebApplication_h
00024 #define vtkWebApplication_h
00025 
00026 #include "vtkObject.h"
00027 #include "vtkWebCoreModule.h" // needed for exports
00028 
00029 class vtkObjectIdMap;
00030 class vtkRenderWindow;
00031 class vtkUnsignedCharArray;
00032 class vtkWebInteractionEvent;
00033 
00034 class VTKWEBCORE_EXPORT vtkWebApplication : public vtkObject
00035 {
00036 public:
00037   static vtkWebApplication* New();
00038   vtkTypeMacro(vtkWebApplication, vtkObject);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00042 
00043   enum
00044     {
00045     ENCODING_NONE=0,
00046     ENCODING_BASE64=1
00047     };
00048   vtkSetClampMacro(ImageEncoding, int, ENCODING_NONE, ENCODING_BASE64);
00049   vtkGetMacro(ImageEncoding, int);
00051 
00053 
00054   enum
00055     {
00056     COMPRESSION_NONE=0,
00057     COMPRESSION_PNG=1,
00058     COMPRESSION_JPEG=2
00059     };
00060   vtkSetClampMacro(ImageCompression, int, COMPRESSION_NONE, COMPRESSION_JPEG);
00061   vtkGetMacro(ImageCompression, int);
00063 
00065 
00066   vtkUnsignedCharArray* StillRender(vtkRenderWindow* view, int quality = 100);
00067   vtkUnsignedCharArray* InteractiveRender(vtkRenderWindow* view, int quality = 50);
00068   const char* StillRenderToString(vtkRenderWindow* view, unsigned long time = 0, int quality = 100);
00070 
00074   bool GetHasImagesBeingProcessed(vtkRenderWindow*);
00075 
00077 
00079   bool HandleInteractionEvent(
00080     vtkRenderWindow* view, vtkWebInteractionEvent* event);
00082 
00084   void InvalidateCache(vtkRenderWindow* view);
00085 
00087 
00088   vtkGetMacro(LastStillRenderToStringMTime, unsigned long);
00090 
00094   const char* GetWebGLSceneMetaData(vtkRenderWindow* view);
00095 
00098   const char* GetWebGLBinaryData(vtkRenderWindow *view, const char* id, int partIndex);
00099 
00100   vtkObjectIdMap* GetObjectIdMap();
00101 
00102 //BTX
00103 protected:
00104   vtkWebApplication();
00105   ~vtkWebApplication();
00106 
00107   int ImageEncoding;
00108   int ImageCompression;
00109   unsigned long LastStillRenderToStringMTime;
00110 
00111 private:
00112   vtkWebApplication(const vtkWebApplication&); // Not implemented
00113   void operator=(const vtkWebApplication&); // Not implemented
00114 
00115   class vtkInternals;
00116   vtkInternals* Internals;
00117 
00118 //ETX
00119 };
00120 
00121 #endif