#ifndef  ENTITY_SDAIIFCCURVESTYLE_H
#define  ENTITY_SDAIIFCCURVESTYLE_H

// This file was generated by exp2cxx,
// 0.8.1.
// You probably don't want to edit it since your modifications
// will be lost if exp2cxx is used to regenerate it.

class SC_SCHEMA_EXPORT SdaiIfccurvestyle : public SdaiIfcpresentationstyle {
     protected:
        SdaiIfccurvefontorscaledcurvefontselect _curvefont;    //  OPTIONAL
        SdaiIfcsizeselect _curvewidth;    //  OPTIONAL
        SdaiIfccolour _curvecolour;    //  OPTIONAL
        SDAI_BOOLEAN _modelordraughting = false;    //  OPTIONAL
    public: 
        SdaiIfccurvestyle();
        SdaiIfccurvestyle( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfccurvestyle( SdaiIfccurvestyle & e );
        ~SdaiIfccurvestyle();
        int opcode() {
            return 686;
        }
        SdaiIfccurvefontorscaledcurvefontselect_ptr_c curvefont_() const;
        SdaiIfccurvefontorscaledcurvefontselect_ptr   curvefont_();
        void curvefont_( const SdaiIfccurvefontorscaledcurvefontselect_ptr x );

        SdaiIfcsizeselect_ptr_c curvewidth_() const;
        SdaiIfcsizeselect_ptr   curvewidth_();
        void curvewidth_( const SdaiIfcsizeselect_ptr x );

        SdaiIfccolour_ptr_c curvecolour_() const;
        SdaiIfccolour_ptr   curvecolour_();
        void curvecolour_( const SdaiIfccolour_ptr x );

        Boolean   modelordraughting_() const;
        void modelordraughting_( const Boolean x );

};

inline SdaiIfccurvestyle * create_SdaiIfccurvestyle() {
    return new SdaiIfccurvestyle;
}

void init_SdaiIfccurvestyle(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifccurvestyle;
    extern AttrDescriptor *a_1517curvefont;
    extern AttrDescriptor *a_1518curvewidth;
    extern AttrDescriptor *a_1519curvecolour;
    extern AttrDescriptor *a_1520modelordraughting;
}

#endif
