#ifndef  ENTITY_SDAIDRAUGHTING_MODEL_ITEM_ASSOCIATION_H
#define  ENTITY_SDAIDRAUGHTING_MODEL_ITEM_ASSOCIATION_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 SdaiDraughting_model_item_association : public SdaiItem_identified_representation_usage {
     protected:
        SdaiDraughting_model_item_definition _item_identified_representation_usage_definition;
        SdaiAnnotation_representation_select _item_identified_representation_usage_used_representation;
        SdaiDraughting_model_item_association_select _item_identified_representation_usage_identified_item;
    public: 
        SdaiDraughting_model_item_association();
        SdaiDraughting_model_item_association( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiDraughting_model_item_association( SdaiDraughting_model_item_association & e );
        ~SdaiDraughting_model_item_association();
        int opcode() {
            return 1007;
        }
        SdaiDraughting_model_item_definition_ptr_c item_identified_representation_usage_definition_() const;
        SdaiDraughting_model_item_definition_ptr   item_identified_representation_usage_definition_();
        void item_identified_representation_usage_definition_( const SdaiDraughting_model_item_definition_ptr x );

        SdaiAnnotation_representation_select_ptr_c item_identified_representation_usage_used_representation_() const;
        SdaiAnnotation_representation_select_ptr   item_identified_representation_usage_used_representation_();
        void item_identified_representation_usage_used_representation_( const SdaiAnnotation_representation_select_ptr x );

        SdaiDraughting_model_item_association_select_ptr_c item_identified_representation_usage_identified_item_() const;
        SdaiDraughting_model_item_association_select_ptr   item_identified_representation_usage_identified_item_();
        void item_identified_representation_usage_identified_item_( const SdaiDraughting_model_item_association_select_ptr x );

};

inline SdaiDraughting_model_item_association * create_SdaiDraughting_model_item_association() {
    return new SdaiDraughting_model_item_association;
}

void init_SdaiDraughting_model_item_association(Registry& reg);

namespace ap210_electronic_assembly_interconnect_and_packaging_design_mim_lf {
    extern EntityDescriptor *e_draughting_model_item_association;
    extern AttrDescriptor *a_1092Ritem_identified_representation_usage_definition;
    extern AttrDescriptor *a_1093Ritem_identified_representation_usage_used_representation;
    extern AttrDescriptor *a_1094Ritem_identified_representation_usage_identified_item;
}

#endif
