#ifndef  ENTITY_SDAIIFCPOLYGONALBOUNDEDHALFSPACE_H
#define  ENTITY_SDAIIFCPOLYGONALBOUNDEDHALFSPACE_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 SdaiIfcpolygonalboundedhalfspace : public SdaiIfchalfspacesolid {
     protected:
        SDAI_Application_instance_ptr _position = NULL;
        SDAI_Application_instance_ptr _polygonalboundary = NULL;
    public: 
        SdaiIfcpolygonalboundedhalfspace();
        SdaiIfcpolygonalboundedhalfspace( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcpolygonalboundedhalfspace( SdaiIfcpolygonalboundedhalfspace & e );
        ~SdaiIfcpolygonalboundedhalfspace();
        int opcode() {
            return 376;
        }
        SdaiIfcaxis2placement3d_ptr_c position_() const;
        SdaiIfcaxis2placement3d_ptr   position_();
        void position_( const SdaiIfcaxis2placement3d_ptr x );

        SdaiIfcboundedcurve_ptr_c polygonalboundary_() const;
        SdaiIfcboundedcurve_ptr   polygonalboundary_();
        void polygonalboundary_( const SdaiIfcboundedcurve_ptr x );

};

inline SdaiIfcpolygonalboundedhalfspace * create_SdaiIfcpolygonalboundedhalfspace() {
    return new SdaiIfcpolygonalboundedhalfspace;
}

void init_SdaiIfcpolygonalboundedhalfspace(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcpolygonalboundedhalfspace;
    extern AttrDescriptor *a_835position;
    extern AttrDescriptor *a_836polygonalboundary;
}

#endif
