ESyS-Particle  2.3
VtkXmlWriter.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2014 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 
14 #ifndef ESYS_LSMVTKXMLWRITER_H
15 #define ESYS_LSMVTKXMLWRITER_H
16 
19 
20 #include <iostream>
21 #include <boost/shared_ptr.hpp>
22 
23 namespace esys
24 {
25  namespace lsm
26  {
28  {
31  public:
33 
34  void visitSimpleParticle(const Particle &particle);
35 
36  void visitParticle(const Particle &particle);
37 
38  void visitBasicInteraction(const Connection &connection);
39 
40  void visitConnection(const Connection &connection);
41 
42  size_t getNumParticles() const;
43 
44  size_t getNumConnections() const;
45 
46  int getIndex(int particleId) const;
47 
48  void writeCentrePoints(std::ostream &oStream) const;
49 
50  void writeRadii(std::ostream &oStream) const;
51 
52  void writeTags(std::ostream &oStream) const;
53 
54  void writeIds(std::ostream &oStream) const;
55 
56  void writeParticleIndexConnections(std::ostream &oStream) const;
57 
58  void writeConnectionTags(std::ostream &oStream) const;
59 
60  private:
61  class Impl;
62  typedef boost::shared_ptr<Impl> ImplPtr;
63  ImplPtr m_implPtr;
64  };
65 
70  {
71  public:
72  VtkXmlWriter();
73 
74  virtual ~VtkXmlWriter();
75 
76  void setData(const ParticleDataVisitor &particleData);
77 
78  size_t getNumParticles() const;
79 
80  size_t getNumConnections() const;
81 
82  virtual void writePoints(std::ostream &oStream);
83  virtual void writePointData(std::ostream &oStream);
84  virtual void writeCells(std::ostream &oStream);
85  virtual void writeCellData(std::ostream &oStream);
86 
87  virtual void write(std::ostream &oStream);
88 
89  virtual void writeToFile(const std::string &fileName);
90 
91  private:
92 
93  class Impl;
94  typedef boost::shared_ptr<Impl> ImplPtr;
95  ImplPtr m_implPtr;
96  };
97  }
98 }
99 
100 #endif
int getIndex(int particleId) const
Definition: VtkXmlWriter.cpp:196
void writeIds(std::ostream &oStream) const
Definition: VtkXmlWriter.cpp:187
SimpleParticle Particle
Definition: VtkXmlWriter.h:29
virtual void write(std::ostream &oStream)
Definition: VtkXmlWriter.cpp:323
virtual void writeCells(std::ostream &oStream)
Definition: VtkXmlWriter.cpp:295
void setData(const ParticleDataVisitor &particleData)
Definition: VtkXmlWriter.cpp:254
void writeCentrePoints(std::ostream &oStream) const
Definition: VtkXmlWriter.cpp:160
size_t getNumConnections() const
Definition: VtkXmlWriter.cpp:84
virtual ~VtkXmlWriter()
Definition: VtkXmlWriter.cpp:250
ImplPtr m_implPtr
Definition: VtkXmlWriter.h:95
virtual void writeCellData(std::ostream &oStream)
Definition: VtkXmlWriter.cpp:314
size_t getNumParticles() const
Definition: VtkXmlWriter.cpp:79
Definition: CheckPointable.cpp:16
Class to represent the common part of a pair interaction, i.e. the IDs of the particles and the inter...
Definition: BasicInteraction.h:27
size_t getNumParticles() const
Definition: VtkXmlWriter.cpp:259
void visitSimpleParticle(const Particle &particle)
Definition: VtkXmlWriter.cpp:59
BasicInteraction Connection
Definition: VtkXmlWriter.h:30
void writeTags(std::ostream &oStream) const
Definition: VtkXmlWriter.cpp:178
Definition: VtkXmlWriter.cpp:234
virtual void writePointData(std::ostream &oStream)
Definition: VtkXmlWriter.cpp:278
void visitBasicInteraction(const Connection &connection)
Definition: VtkXmlWriter.cpp:69
void visitConnection(const Connection &connection)
Definition: VtkXmlWriter.cpp:74
void visitParticle(const Particle &particle)
Definition: VtkXmlWriter.cpp:64
Definition: VtkXmlWriter.cpp:30
VtkXmlWriter()
Definition: VtkXmlWriter.cpp:245
void writeConnectionTags(std::ostream &oStream) const
Definition: VtkXmlWriter.cpp:222
void writeParticleIndexConnections(std::ostream &oStream) const
Definition: VtkXmlWriter.cpp:208
Definition: VtkXmlWriter.h:69
ImplPtr m_implPtr
Definition: VtkXmlWriter.h:63
virtual void writePoints(std::ostream &oStream)
Definition: VtkXmlWriter.cpp:269
ParticleDataVisitor()
Definition: VtkXmlWriter.cpp:54
virtual void writeToFile(const std::string &fileName)
Definition: VtkXmlWriter.cpp:339
boost::shared_ptr< Impl > ImplPtr
Definition: VtkXmlWriter.h:93
size_t getNumConnections() const
Definition: VtkXmlWriter.cpp:264
boost::shared_ptr< Impl > ImplPtr
Definition: VtkXmlWriter.h:61
Definition: SimpleParticle.h:24
Definition: VtkXmlWriter.h:27
void writeRadii(std::ostream &oStream) const
Definition: VtkXmlWriter.cpp:169