gmio/src/c++/libstl/stla.h

33 lines
735 B
C
Raw Normal View History

#ifndef FOUG_CPP_LIBSTL_STLA_H
#define FOUG_CPP_LIBSTL_STLA_H
2012-02-29 03:27:32 +08:00
#include "stl_global.h"
#include "abstract_geometry.h"
#include "../io_base.h"
2012-02-29 03:27:32 +08:00
#include <string>
namespace foug {
namespace stla {
2012-02-29 03:27:32 +08:00
class FOUG_STL_EXPORT AbstractGeometryBuilder
{
public:
virtual void beginSolid(const std::string& name);
virtual void nextTriangle(const stl::Triangle& triangle) = 0;
2012-02-29 03:27:32 +08:00
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 stl::AbstractGeometry& geom, const std::string& solidName);
2012-02-29 03:27:32 +08:00
};
} // namespace stla
2012-02-29 03:27:32 +08:00
} // namespace foug
#endif // FOUG_CPP_LIBSTL_STLA_H