#ifndef  ENTITY_SDAIIFCCURVEBOUNDEDPLANE_H
#define  ENTITY_SDAIIFCCURVEBOUNDEDPLANE_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 SdaiIfccurveboundedplane : public SdaiIfcboundedsurface {
     protected:
        SDAI_Application_instance_ptr _basissurface = NULL;
        SDAI_Application_instance_ptr _outerboundary = NULL;
        EntityAggregate_ptr _innerboundaries = NULL;          //  of  ifccurve

    public: 
        SdaiIfccurveboundedplane();
        SdaiIfccurveboundedplane( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfccurveboundedplane( SdaiIfccurveboundedplane & e );
        ~SdaiIfccurveboundedplane();
        int opcode() {
            return 193;
        }
        SdaiIfcplane_ptr_c basissurface_() const;
        SdaiIfcplane_ptr   basissurface_();
        void basissurface_( const SdaiIfcplane_ptr x );

        SdaiIfccurve_ptr_c outerboundary_() const;
        SdaiIfccurve_ptr   outerboundary_();
        void outerboundary_( const SdaiIfccurve_ptr x );

        EntityAggregate_ptr_c innerboundaries_() const;
        EntityAggregate_ptr   innerboundaries_();
        void innerboundaries_( const EntityAggregate_ptr x );

};

inline SdaiIfccurveboundedplane * create_SdaiIfccurveboundedplane() {
    return new SdaiIfccurveboundedplane;
}

void init_SdaiIfccurveboundedplane(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifccurveboundedplane;
    extern AttrDescriptor *a_426basissurface;
    extern AttrDescriptor *a_427outerboundary;
    extern AttrDescriptor *a_428innerboundaries;
}

#endif
