// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Aspect_AspectFillArea_HeaderFile
#define _Aspect_AspectFillArea_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Aspect_AspectFillArea_HeaderFile
#include <Handle_Aspect_AspectFillArea.hxx>
#endif

#ifndef _Aspect_InteriorStyle_HeaderFile
#include <Aspect_InteriorStyle.hxx>
#endif
#ifndef _Quantity_Color_HeaderFile
#include <Quantity_Color.hxx>
#endif
#ifndef _Aspect_TypeOfLine_HeaderFile
#include <Aspect_TypeOfLine.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Aspect_HatchStyle_HeaderFile
#include <Aspect_HatchStyle.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
class Aspect_AspectFillAreaDefinitionError;
class Quantity_Color;


//! Group of attributes for the FACE primitives. <br>
//! The attributes are: <br>
//!	* type of interior <br>
//!	* type of hatch <br>
//!	* interior colour <br>
//!	* border colour <br>
//!	* type of border <br>
//!	* thickness of border <br>
//! when the value of the group is modified, all graphic <br>
//! objects using this group are modified. <br>
class Aspect_AspectFillArea : public MMgt_TShared {

public:

  //! Modifies the colour of the edge of the face <br>
  Standard_EXPORT     void SetEdgeColor(const Quantity_Color& AColor) ;
  //! Modifies the edge line type <br>
  Standard_EXPORT     void SetEdgeLineType(const Aspect_TypeOfLine AType) ;
  //! Modifies the edge thickness <br>
  Standard_EXPORT     void SetEdgeWidth(const Standard_Real AWidth) ;
  //! Modifies the hatch type used when InteriorStyle <br>
//!	    is IS_HATCH <br>
  Standard_EXPORT     void SetHatchStyle(const Aspect_HatchStyle AStyle) ;
  //! Modifies the colour of the interior of the face <br>
  Standard_EXPORT     void SetInteriorColor(const Quantity_Color& AColor) ;
  //! Modifies the colour of the interior of the back face <br>
  Standard_EXPORT     void SetBackInteriorColor(const Quantity_Color& color) ;
  //! Modifies the interior type used for rendering <br>
  Standard_EXPORT     void SetInteriorStyle(const Aspect_InteriorStyle AStyle) ;
  //! Returns the hatch type used when InteriorStyle <br>
//!	    is IS_HATCH <br>
  Standard_EXPORT     Aspect_HatchStyle HatchStyle() const;
  
  Standard_EXPORT     void Values(Aspect_InteriorStyle& AStyle,Quantity_Color& AIntColor,Quantity_Color& AEdgeColor,Aspect_TypeOfLine& AType,Standard_Real& AWidth) const;
  //! Returns the current values of the <me> group. <br>
  Standard_EXPORT     void Values(Aspect_InteriorStyle& AStyle,Quantity_Color& AIntColor,Quantity_Color& BackIntColor,Quantity_Color& AEdgeColor,Aspect_TypeOfLine& AType,Standard_Real& AWidth) const;




  DEFINE_STANDARD_RTTI(Aspect_AspectFillArea)

protected:

  //! Initialise the constructor <br>
//!	    of Graphic3d_AspectFillArea3d. <br>
  Standard_EXPORT   Aspect_AspectFillArea();
  //! Initialise the values for the constructor of <br>
//!	    Graphic3d_AspectFillArea3d. <br>
  Standard_EXPORT   Aspect_AspectFillArea(const Aspect_InteriorStyle InteriorStyle,const Quantity_Color& InteriorColor,const Quantity_Color& EdgeColor,const Aspect_TypeOfLine EdgeLineType,const Standard_Real EdgeLineWidth);



private: 


Aspect_InteriorStyle MyInteriorStyle;
Quantity_Color MyInteriorColor;
Quantity_Color MyBackInteriorColor;
Quantity_Color MyEdgeColor;
Aspect_TypeOfLine MyEdgeType;
Standard_Real MyEdgeWidth;
Aspect_HatchStyle MyHatchStyle;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif
