BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
mesh.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: mesh.h,v 1.9.16.1 2007-03-25 21:26:09 oliver Exp $
5 //
6 
7 #ifndef BALL_VIEW_PRIMITIV_MESH_H
8 #define BALL_VIEW_PRIMITIV_MESH_H
9 
10 #ifndef BALL_MATHS_SURFACE_H
11 # include <BALL/MATHS/surface.h>
12 #endif
13 
14 #ifndef BALL_VIEW_KERNEL_GEOMETRICOBJECT_H
16 #endif
17 
18 #ifndef BALL_VIEW_DATATYPE_COLOREXTENSIONS_H
20 #endif
21 
22 namespace BALL
23 {
24  namespace VIEW
25  {
39  : public GeometricObject,
40  public Surface,
41  public MultiColorExtension
42  {
43  public:
44 
46 
47 
50 
53  Mesh();
54 
57  Mesh(const Mesh& mesh);
58 
60 
62 
65  virtual ~Mesh();
66 
70  virtual void clear();
71 
73 
76 
79  void set(const Mesh& mesh);
80 
84  const Mesh& operator = (const Mesh& mesh);
85 
90  void swap(Mesh& mesh);
91 
93 
96 
100  virtual bool isValid() const;
101 
109  virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
110 
112  bool binaryWrite(const String& filename);
113 
115  bool binaryRead(const String& filename);
116 
117  // Method to get all vertices from a geometric object
118  virtual void getVertices(vector<Vector3>& vertices) const;
119 
121  };
122 
123 } } // namespaces
124 
125 #endif // BALL_VIEW_PRIMITIV_MESH_H