#ifndef __X3DEXPORTER_H #define __X3DEXPORTER_H #include using std::string; #include #include #include "Exporter.h" class SceneGraphNode; class Mesh; class Intersectable; class MeshInstance; class X3dExporter : public Exporter { std::ofstream stream; public: X3dExporter(const string filename); ~X3dExporter(); bool ExportRays(const vector &rays, const float length=1000, const RgbColor &color = RgbColor(1,1,1)); bool ExportKdTree(const KdTree &tree); bool ExportScene(SceneGraphNode *root) { ExportSceneNode(root); return true; } virtual bool ExportBox(const AxisAlignedBox3 &box); virtual void ExportMeshInstance(MeshInstance *mi); virtual void ExportIntersectable(Intersectable *object); virtual void ExportMesh(Mesh *mesh); protected: virtual void ExportSceneNode(SceneGraphNode *node); bool ExportKdTreeRayDensity(const KdTree &tree); }; #endif