#ifndef  ENTITY_SDAIKINEMATIC_CONTROL_H
#define  ENTITY_SDAIKINEMATIC_CONTROL_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 SdaiKinematic_control : public SDAI_Application_instance {
    protected:
        SDAI_Application_instance_ptr _controlled_mechanism = NULL;
        SdaiKinematic_analysis_definition _contained_kinematic_programs;
    public: 
        SdaiKinematic_control();
        SdaiKinematic_control( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiKinematic_control( SdaiKinematic_control & e );
        ~SdaiKinematic_control();
        int opcode() {
            return 2135;
        }
        SdaiMechanism_representation_ptr_c controlled_mechanism_() const;
        SdaiMechanism_representation_ptr   controlled_mechanism_();
        void controlled_mechanism_( const SdaiMechanism_representation_ptr x );

        SdaiKinematic_analysis_definition_ptr_c contained_kinematic_programs_() const;
        SdaiKinematic_analysis_definition_ptr   contained_kinematic_programs_();
        void contained_kinematic_programs_( const SdaiKinematic_analysis_definition_ptr x );

};

inline SdaiKinematic_control * create_SdaiKinematic_control() {
    return new SdaiKinematic_control;
}

void init_SdaiKinematic_control(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_kinematic_control;
    extern AttrDescriptor *a_3242controlled_mechanism;
    extern AttrDescriptor *a_3243contained_kinematic_programs;
}

#endif
