source: trunk/source/visualization/HepRep/include/cheprep/XMLHepRepWriter.h@ 1258

Last change on this file since 1258 was 834, checked in by garnier, 17 years ago

import all except CVS

  • Property svn:executable set to *
File size: 2.2 KB
RevLine 
[834]1// Copyright FreeHEP, 2005.
2#ifndef CHEPREP_XMLHEPREPWRITER_H
3#define CHEPREP_XMLHEPREPWRITER_H 1
4
5#include "cheprep/config.h"
6
7#include <iostream>
8#include <string>
9#include <stack>
10#include <set>
11#include <vector>
12#include <map>
13
14#include "HEPREP/HepRep.h"
15#include "HEPREP/HepRepFactory.h"
16#include "HEPREP/HepRepWriter.h"
17#include "HEPREP/HepRepPoint.h"
18#include "HEPREP/HepRepInstance.h"
19#include "HEPREP/HepRepInstanceTree.h"
20#include "HEPREP/HepRepTreeID.h"
21#include "HEPREP/HepRepAction.h"
22#include "HEPREP/HepRepType.h"
23#include "HEPREP/HepRepTypeTree.h"
24#include "HEPREP/HepRepAttDef.h"
25#include "HEPREP/HepRepAttValue.h"
26#include "HEPREP/HepRepAttribute.h"
27
28#include "cheprep/AbstractXMLWriter.h"
29#include "cheprep/ZipOutputStream.h"
30#include "cheprep/GZIPOutputStream.h"
31
32/**
33 * @author Mark Donszelmann
34 * @version $Id: XMLHepRepWriter.h,v 1.4 2005/06/02 21:28:45 duns Exp $
35 */
36namespace cheprep {
37
38class XMLHepRepWriter : public virtual HEPREP::HepRepWriter {
39
40 private:
41 std::ostream *out;
42 bool compress;
43 std::string nameSpace;
44 AbstractXMLWriter *xml;
45 cheprep::ZipOutputStream *zip;
46 cheprep::GZIPOutputStream *gz;
47 std::map<std::string, std::string> properties;
48
49 public:
50 XMLHepRepWriter(std::ostream* out, bool randomAccess, bool compress);
51 ~XMLHepRepWriter();
52
53 bool addProperty(std::string key, std::string value);
54 bool close();
55 bool write(HEPREP::HepRep* heprep, std::string name);
56 bool write(std::vector<std::string> layers);
57 bool write(HEPREP::HepRepTypeTree* typeTree);
58 bool write(HEPREP::HepRepType* type);
59 bool write(HEPREP::HepRepTreeID* treeID);
60 bool write(HEPREP::HepRepAction* action);
61 bool write(HEPREP::HepRepInstanceTree* instanceTree);
62 bool write(HEPREP::HepRepInstance* instance);
63 bool write(HEPREP::HepRepPoint* point);
64 bool write(HEPREP::HepRepAttribute* attribute);
65 bool write(HEPREP::HepRepDefinition* definition);
66 bool write(HEPREP::HepRepAttValue* attValue);
67 bool write(HEPREP::HepRepAttDef* attDef);
68};
69
70} // cheprep
71
72
73#endif
Note: See TracBrowser for help on using the repository browser.