VTK
vtkX3DExporterFIWriter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkX3DExporterFIWriter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
20 #ifndef vtkX3DExporterFIWriter_h
21 #define vtkX3DExporterFIWriter_h
22 
23 #include "vtkIOExportModule.h" // For export macro
24 #include "vtkX3DExporterWriter.h"
25 
26 class vtkX3DExporterFIByteWriter;
27 class vtkX3DExporterFINodeInfoStack;
29 
30 class VTKIOEXPORT_EXPORT vtkX3DExporterFIWriter : public vtkX3DExporterWriter
31 {
32 public:
35  void PrintSelf(ostream& os, vtkIndent indent);
36 
37  virtual void CloseFile();
38  virtual int OpenFile(const char* file);
39  virtual int OpenStream();
40 
41  //void Write(const char* str);
42 
43  virtual void Flush();
44 
45  void StartDocument();
46  void EndDocument();
47 
48  // Elements
49  void StartNode(int elementID);
50  void EndNode();
51 
52  // Attributes
53  // SFString / MFString
54  //void SetField(int attributeID, const std::string &value);
55  void SetField(int attributeID, const char*, bool mfstring = false);
56  // SFInt32
57  void SetField(int attributeID, int);
58  // SFFloat
59  void SetField(int attributeID, float);
60  // SFDouble
61  void SetField(int attributeID, double);
62  // SFBool
63  void SetField(int attributeID, bool);
64 
65  // For MFxxx attributes
66  void SetField(int attributeID, int type, const double* a);
67  void SetField(int attributeID, int type, vtkDataArray* a);
68  void SetField(int attributeID, const double* values, size_t size);
69 
70  // MFInt32
71  void SetField(int attributeID, int type, vtkCellArray* a);
72  void SetField(int attributeID, const int* values, size_t size, bool image = false);
73 
75 
78  vtkSetClampMacro(Fastest, int, 0, 1);
79  vtkBooleanMacro(Fastest, int);
80  vtkGetMacro(Fastest, int);
82 
83 protected:
86 
87 private:
88  void StartAttribute(int attributeID, bool literal, bool addToTable = false);
89  void EndAttribute();
90 
91  void CheckNode(bool callerIsAttribute = true);
92  bool IsLineFeedEncodingOn;
93 
94  //int Depth;
95  vtkX3DExporterFIByteWriter* Writer;
96  vtkX3DExporterFINodeInfoStack* InfoStack;
97  vtkZLibDataCompressor* Compressor;
98 
99  int Fastest;
100 
101  vtkX3DExporterFIWriter(const vtkX3DExporterFIWriter&) VTK_DELETE_FUNCTION;
102  void operator=(const vtkX3DExporterFIWriter&) VTK_DELETE_FUNCTION;
103 
104 };
105 
106 #endif
107 
object to represent cell connectivity
Definition: vtkCellArray.h:51
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
a simple class to control print indentation
Definition: vtkIndent.h:40
virtual void Flush()
void SetField(int attributeID, const int *values, size_t size, bool image=false)
Sets the field specified with attributeID of the active node to the given value.
void SetField(int attributeID, int)
Sets the field specified with attributeID of the active node to the given value.
void SetField(int attributeID, int type, const double *a)
Sets the field specified with attributeID of the active node to the given value.
void StartNode(int elementID)
Starts/ends a new X3D node specified via nodeID.
void SetField(int attributeID, bool)
Sets the field specified with attributeID of the active node to the given value.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SetField(int attributeID, int type, vtkDataArray *a)
Sets the field specified with attributeID of the active node to the given value.
void SetField(int attributeID, const double *values, size_t size)
Sets the field specified with attributeID of the active node to the given value.
virtual int OpenFile(const char *file)
Opens the file specified with file returns 1 if successful otherwise 0.
static vtkX3DExporterFIWriter * New()
virtual int OpenStream()
Init data support to be a stream instead of a file.
void SetField(int attributeID, int type, vtkCellArray *a)
void StartDocument()
Starts a document and sets all necessary informations, i.e.
void SetField(int attributeID, float)
Sets the field specified with attributeID of the active node to the given value.
virtual void CloseFile()
void EndDocument()
Ends a document and sets all necessary informations or necessary bytes to finish the encoding correct...
void SetField(int attributeID, double)
Sets the field specified with attributeID of the active node to the given value.
void SetField(int attributeID, const char *, bool mfstring=false)
Sets the field specified with attributeID of the active node to the given value.
X3D Exporter Writer.
Data compression using zlib.
@ type
Definition: vtkX3D.h:516
@ image
Definition: vtkX3D.h:374
@ size
Definition: vtkX3D.h:253
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.