00001
00002
00003 #ifndef _VIEWER3D_FACETS_CLOUD_HPP_
00004 #define _VIEWER3D_FACETS_CLOUD_HPP_
00005
00006 #include <list>
00007 #include <geom/Declarations.hpp>
00008 #include <osg/Array>
00009 #include <osg/ref_ptr>
00010
00011 namespace osg {
00012 class Geode;
00013 class Geometry;
00014 class StateSet;
00015 }
00016
00017 namespace jafar {
00018 namespace viewer3d {
00019 class Decorator;
00024 class FacetsCloud {
00025 public:
00026 FacetsCloud(const std::list<jafar::geom::Facet3D>& _facets, const Decorator* decorator = 0 );
00027 ~FacetsCloud();
00028 const std::list<jafar::geom::Facet3D>& facets() const;
00029 void setFacets( const std::list<jafar::geom::Facet3D>& _facets, const Decorator* decorator = 0 );
00030 public:
00031 osg::Geode* node();
00032 private:
00033 std::list< jafar::geom::Facet3D > m_facets;
00034 osg::ref_ptr<osg::Geode> m_geode;
00035 osg::ref_ptr<osg::Geometry> m_geometry;
00036 };
00037 }
00038 }
00039
00040 #endif