source: trunk/VUT/GtpVisibilityPreprocessor/src/X3dExporter.h @ 349

Revision 349, 1.8 KB checked in by mattausch, 19 years ago (diff)

updated ray based subdivision

Line 
1#ifndef __X3DEXPORTER_H
2#define __X3DEXPORTER_H
3
4#include <string>
5using std::string;
6
7#include <iostream>
8#include <fstream>
9
10#include "Exporter.h"
11#include "Containers.h"
12
13class SceneGraphNode;
14class Mesh;
15class Intersectable;
16class MeshInstance;
17class Polygon3;
18class ViewCell;
19class BspTree;
20
21class X3dExporter : public Exporter
22{
23  std::ofstream stream;
24
25public:
26
27  X3dExporter(const string filename);
28
29  ~X3dExporter();
30
31
32  bool
33  ExportRays(const vector<Ray> &rays,
34             const float length=1000,
35             const RgbColor &color = RgbColor(1,1,1));
36
37  bool
38  ExportKdTree(const KdTree &tree);
39 
40  bool ExportBspTree(const BspTree &tree);
41
42  bool
43  ExportScene(SceneGraphNode *root)
44  {
45    ExportSceneNode(root);
46    return true;
47  }
48 
49  virtual void
50  ExportPolygon(Polygon3 *poly);
51
52  virtual void ExportPolygons(const PolygonContainer &polys);
53
54  virtual bool
55  ExportBox(const AxisAlignedBox3 &box);
56
57  virtual void
58  ExportMeshInstance(MeshInstance *mi);
59
60  virtual void
61  ExportIntersectable(Intersectable *object);
62
63  virtual void
64  ExportMesh(Mesh *mesh);
65
66  virtual void
67  ExportViewCell(ViewCell *viewCell);
68
69  virtual void
70  ExportViewCells(const ViewCellContainer &viewCells);
71
72  virtual void
73  ExportBspSplitPlanes(const BspTree &tree);
74 
75  virtual void
76  ExportBspSplits(const BspTree &tree);
77
78  bool
79  ExportRays(const RayContainer &rays,
80                         const float length=1000,
81                         const RgbColor &color = RgbColor(1,1,1));
82
83  static ViewCellContainer foundViewCells; // todo: remove this
84protected:
85
86  virtual void
87  ExportSceneNode(SceneGraphNode *node);
88
89  bool
90  ExportKdTreeRayDensity(const KdTree &tree);
91
92  bool
93  ExportBspTreeRayDensity(const BspTree &tree); 
94};
95 
96
97
98#endif
Note: See TracBrowser for help on using the repository browser.