#ifndef  ENTITY_SDAIIFCWINDOWLININGPROPERTIES_H
#define  ENTITY_SDAIIFCWINDOWLININGPROPERTIES_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 SdaiIfcwindowliningproperties : public SdaiIfcpropertysetdefinition {
     protected:
        SDAI_Real _liningdepth = 0.0;    //  OPTIONAL
        SDAI_Real _liningthickness = 0.0;    //  OPTIONAL
        SDAI_Real _transomthickness = 0.0;    //  OPTIONAL
        SDAI_Real _mullionthickness = 0.0;    //  OPTIONAL
        SDAI_Real _firsttransomoffset = 0.0;    //  OPTIONAL
        SDAI_Real _secondtransomoffset = 0.0;    //  OPTIONAL
        SDAI_Real _firstmullionoffset = 0.0;    //  OPTIONAL
        SDAI_Real _secondmullionoffset = 0.0;    //  OPTIONAL
        SDAI_Application_instance_ptr _shapeaspectstyle = NULL;    //  OPTIONAL
    public: 
        SdaiIfcwindowliningproperties();
        SdaiIfcwindowliningproperties( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcwindowliningproperties( SdaiIfcwindowliningproperties & e );
        ~SdaiIfcwindowliningproperties();
        int opcode() {
            return 263;
        }
        SdaiIfcpositivelengthmeasure   liningdepth_() const;
        void liningdepth_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcpositivelengthmeasure   liningthickness_() const;
        void liningthickness_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcpositivelengthmeasure   transomthickness_() const;
        void transomthickness_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcpositivelengthmeasure   mullionthickness_() const;
        void mullionthickness_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcnormalisedratiomeasure   firsttransomoffset_() const;
        void firsttransomoffset_( const SdaiIfcnormalisedratiomeasure x );

        SdaiIfcnormalisedratiomeasure   secondtransomoffset_() const;
        void secondtransomoffset_( const SdaiIfcnormalisedratiomeasure x );

        SdaiIfcnormalisedratiomeasure   firstmullionoffset_() const;
        void firstmullionoffset_( const SdaiIfcnormalisedratiomeasure x );

        SdaiIfcnormalisedratiomeasure   secondmullionoffset_() const;
        void secondmullionoffset_( const SdaiIfcnormalisedratiomeasure x );

        SdaiIfcshapeaspect_ptr_c shapeaspectstyle_() const;
        SdaiIfcshapeaspect_ptr   shapeaspectstyle_();
        void shapeaspectstyle_( const SdaiIfcshapeaspect_ptr x );

};

inline SdaiIfcwindowliningproperties * create_SdaiIfcwindowliningproperties() {
    return new SdaiIfcwindowliningproperties;
}

void init_SdaiIfcwindowliningproperties(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcwindowliningproperties;
    extern AttrDescriptor *a_576liningdepth;
    extern AttrDescriptor *a_577liningthickness;
    extern AttrDescriptor *a_578transomthickness;
    extern AttrDescriptor *a_579mullionthickness;
    extern AttrDescriptor *a_580firsttransomoffset;
    extern AttrDescriptor *a_581secondtransomoffset;
    extern AttrDescriptor *a_582firstmullionoffset;
    extern AttrDescriptor *a_583secondmullionoffset;
    extern AttrDescriptor *a_584shapeaspectstyle;
}

#endif
