#ifndef  ENTITY_SDAISOLID_CONSTRAINT_H
#define  ENTITY_SDAISOLID_CONSTRAINT_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_constraint : public SdaiConstraint_element {
     protected:
        SDAI_Application_instance_ptr _required_solid = NULL;
        SDAI_Application_instance_ptr _coordinate_system = NULL;
        EntityAggregate_ptr _freedoms_and_coefficients = NULL;          //  of  freedom_and_coefficient

        SDAI_String _description;
    public: 
        SdaiSolid_constraint();
        SdaiSolid_constraint( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiSolid_constraint( SdaiSolid_constraint & e );
        ~SdaiSolid_constraint();
        int opcode() {
            return 2097;
        }
        SdaiAnalysis_item_within_representation_ptr_c required_solid_() const;
        SdaiAnalysis_item_within_representation_ptr   required_solid_();
        void required_solid_( const SdaiAnalysis_item_within_representation_ptr x );

        SdaiFea_axis2_placement_3d_ptr_c coordinate_system_() const;
        SdaiFea_axis2_placement_3d_ptr   coordinate_system_();
        void coordinate_system_( const SdaiFea_axis2_placement_3d_ptr x );

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

  const SdaiText   description_() const;
        SdaiText   description_();
        void description_( const SdaiText x );

};

inline SdaiSolid_constraint * create_SdaiSolid_constraint() {
    return new SdaiSolid_constraint;
}

void init_SdaiSolid_constraint(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_solid_constraint;
    extern AttrDescriptor *a_3164required_solid;
    extern AttrDescriptor *a_3165coordinate_system;
    extern AttrDescriptor *a_3166freedoms_and_coefficients;
    extern AttrDescriptor *a_3167description;
}

#endif
