#define _OpenGl_State_HeaderFile
#include <InterfaceGraphic_tgl_all.hxx>
-
+#include <NCollection_List.hxx>
#include <OpenGl_Element.hxx>
#include <OpenGl_Light.hxx>
#include <OpenGl_Vec.hxx>
-
-#include <NCollection_List.hxx>
+#include <Visual3d_TypeOfSurfaceDetail.hxx>
//! Defines interface for OpenGL state.
class OpenGl_StateInterface
//! Creates uninitialized world-view state.
OpenGl_WorldViewState();
-
+
//! Sets new world-view matrix.
void Set (const OpenGl_Mat4& theWorldViewMatrix);
//! Creates new material state.
OpenGl_MaterialState (const OpenGl_Element* theAspect = NULL);
-
+
//! Sets new material aspect.
void Set (const OpenGl_Element* theAspect);
};
+//! Defines generic state of OCCT surface detail.
+class OpenGl_SurfaceDetailState : public OpenGl_StateInterface
+{
+public:
+
+ //! Creates new surface detail state.
+ OpenGl_SurfaceDetailState (const Visual3d_TypeOfSurfaceDetail theDetail = Visual3d_TOD_NONE)
+ : myDetail (theDetail)
+ {
+ //
+ }
+
+ //! Sets new surface detail.
+ void Set (const Visual3d_TypeOfSurfaceDetail theDetail) { myDetail = theDetail; }
+
+ //! Returns surface detail.
+ const Visual3d_TypeOfSurfaceDetail Detail() const { return myDetail; }
+
+private:
+
+ Visual3d_TypeOfSurfaceDetail myDetail; //!< OCCT surface detail
+
+};
+
#endif // _OpenGl_State_HeaderFile