1 #ifndef AWFUL_SCENEGRAPH_SHAPES_CYLINDER_H_
2 #define AWFUL_SCENEGRAPH_SHAPES_CYLINDER_H_
5 #include "scenegraph/shapes/scenegraphshapes_export.h"
6 #include "scenegraph/Drawable.h"
10 namespace awful
{ namespace scenegraph
{ namespace shapes
12 class AWSCENEGRAPHSHAPES_EXPORT Cylinder
: public Shape
15 Cylinder( const Pointer
< Material
>& pMaterial
,
16 const Pointer
< Frame
>& pFrame
,
17 uint16_t Subdivisions
= 32 );
18 Cylinder( const Serialization_tag
& );
21 virtual void postLoad();
22 virtual void evaluate( const Pointer
< RenderContext
>& pContext
);
24 const uint16_t& getSubdivisions() const { return m_Subdivisions
; }
27 template< class C
, typename T
> friend struct awful::attribute_traits
;
29 Pointer
< Drawable
> m_pDrawable
;
30 uint16_t m_Subdivisions
;
32 static Geometry
* GetGeom( uint16_t Subdivisions
);
33 typedef std::map
< uint16_t, Pointer
< Geometry
> > GeometriesCache
;
34 static GeometriesCache ms_Geometries
;