#ifndef  ENTITY_SDAISOLID_WITH_GROOVE_H
#define  ENTITY_SDAISOLID_WITH_GROOVE_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 SdaiSolid_with_groove : public SdaiSolid_with_depression {
     protected:
        SDAI_Real _groove_radius = 0.0;
        SDAI_Real _groove_width = 0.0;
        SDAI_Real _draft_angle = 0.0;
        SDAI_Real _floor_fillet_radius = 0.0;
        SDAI_BOOLEAN _external_groove = false;
    public: 
        SdaiSolid_with_groove();
        SdaiSolid_with_groove( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiSolid_with_groove( SdaiSolid_with_groove & e );
        ~SdaiSolid_with_groove();
        int opcode() {
            return 1684;
        }
        SdaiPositive_length_measure   groove_radius_() const;
        void groove_radius_( const SdaiPositive_length_measure x );

        SdaiPositive_length_measure   groove_width_() const;
        void groove_width_( const SdaiPositive_length_measure x );

        SdaiPlane_angle_measure   draft_angle_() const;
        void draft_angle_( const SdaiPlane_angle_measure x );

        SdaiNon_negative_length_measure   floor_fillet_radius_() const;
        void floor_fillet_radius_( const SdaiNon_negative_length_measure x );

        Boolean   external_groove_() const;
        void external_groove_( const Boolean x );

};

inline SdaiSolid_with_groove * create_SdaiSolid_with_groove() {
    return new SdaiSolid_with_groove;
}

void init_SdaiSolid_with_groove(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_solid_with_groove;
    extern AttrDescriptor *a_2548groove_radius;
    extern AttrDescriptor *a_2549groove_width;
    extern AttrDescriptor *a_2550draft_angle;
    extern AttrDescriptor *a_2551floor_fillet_radius;
    extern AttrDescriptor *a_2552external_groove;
}

#endif
