#ifndef  ENTITY_SDAICURVE_BOUNDED_SURFACE_H
#define  ENTITY_SDAICURVE_BOUNDED_SURFACE_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 SdaiCurve_bounded_surface : public SdaiBounded_surface {
     protected:
        SDAI_Application_instance_ptr _basis_surface = NULL;
        EntityAggregate_ptr _boundaries = NULL;          //  of  boundary_curve

        SDAI_BOOLEAN _implicit_outer = false;
    public: 
        SdaiCurve_bounded_surface();
        SdaiCurve_bounded_surface( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiCurve_bounded_surface( SdaiCurve_bounded_surface & e );
        ~SdaiCurve_bounded_surface();
        int opcode() {
            return 229;
        }
        SdaiSurface_ptr_c basis_surface_() const;
        SdaiSurface_ptr   basis_surface_();
        void basis_surface_( const SdaiSurface_ptr x );

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

        Boolean   implicit_outer_() const;
        void implicit_outer_( const Boolean x );

};

inline SdaiCurve_bounded_surface * create_SdaiCurve_bounded_surface() {
    return new SdaiCurve_bounded_surface;
}

void init_SdaiCurve_bounded_surface(Registry& reg);

namespace plant_spatial_configuration {
    extern EntityDescriptor *e_curve_bounded_surface;
    extern AttrDescriptor *a_344basis_surface;
    extern AttrDescriptor *a_345boundaries;
    extern AttrDescriptor *a_346implicit_outer;
}

#endif
