gmio/src/libstl/stla.h

35 lines
722 B
C
Raw Normal View History

2012-02-29 03:27:32 +08:00
#ifndef FOUG_STLA_H
#define FOUG_STLA_H
#include "stl_global.h"
#include "abstract_geometry.h"
#include "io_base.h"
#include <string>
namespace foug {
namespace stl {
namespace asc {
class FOUG_STL_EXPORT AbstractGeometryBuilder
{
public:
virtual void beginSolid(const std::string& name);
virtual void nextTriangle(const Triangle& triangle) = 0;
virtual void endSolid(const std::string& name);
};
class FOUG_STL_EXPORT Io : public IoBase
{
public:
Io(AbstractStream* stream = 0);
bool read(AbstractGeometryBuilder* builder, Int64 streamSize = -1);
bool write(const AbstractGeometry& geom, const std::string& solidName);
};
} // namespace asc
} // namespace stl
} // namespace foug
#endif // FOUG_STLA_H