#ifndef  ENTITY_SDAICURVE_CONSTRAINT_H
#define  ENTITY_SDAICURVE_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 SdaiCurve_constraint : public SdaiConstraint_element {
     protected:
        SDAI_Application_instance_ptr _required_curve = NULL;
        SDAI_Application_instance_ptr _coordinate_system = NULL;
        EntityAggregate_ptr _freedoms_and_coefficients = NULL;          //  of  freedom_and_coefficient

        SDAI_String _description;
    public: 
        SdaiCurve_constraint();
        SdaiCurve_constraint( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiCurve_constraint( SdaiCurve_constraint & e );
        ~SdaiCurve_constraint();
        int opcode() {
            return 1442;
        }
        SdaiAnalysis_item_within_representation_ptr_c required_curve_() const;
        SdaiAnalysis_item_within_representation_ptr   required_curve_();
        void required_curve_( 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 SdaiCurve_constraint * create_SdaiCurve_constraint() {
    return new SdaiCurve_constraint;
}

void init_SdaiCurve_constraint(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_curve_constraint;
    extern AttrDescriptor *a_2159required_curve;
    extern AttrDescriptor *a_2160coordinate_system;
    extern AttrDescriptor *a_2161freedoms_and_coefficients;
    extern AttrDescriptor *a_2162description;
}

#endif
