#ifndef  ENTITY_SDAIGEOMETRIC_ITEM_SPECIFIC_USAGE_H
#define  ENTITY_SDAIGEOMETRIC_ITEM_SPECIFIC_USAGE_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 SdaiGeometric_item_specific_usage : public SdaiItem_identified_representation_usage {
     protected:
        SdaiGeometric_item_specific_usage_select _item_identified_representation_usage_definition;
        SdaiShape_model _item_identified_representation_usage_used_representation;
        SdaiGeometric_model_item _item_identified_representation_usage_identified_item;
    public: 
        SdaiGeometric_item_specific_usage();
        SdaiGeometric_item_specific_usage( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiGeometric_item_specific_usage( SdaiGeometric_item_specific_usage & e );
        ~SdaiGeometric_item_specific_usage();
        int opcode() {
            return 1294;
        }
        SdaiGeometric_item_specific_usage_select_ptr_c item_identified_representation_usage_definition_() const;
        SdaiGeometric_item_specific_usage_select_ptr   item_identified_representation_usage_definition_();
        void item_identified_representation_usage_definition_( const SdaiGeometric_item_specific_usage_select_ptr x );

        SdaiShape_model_ptr_c item_identified_representation_usage_used_representation_() const;
        SdaiShape_model_ptr   item_identified_representation_usage_used_representation_();
        void item_identified_representation_usage_used_representation_( const SdaiShape_model_ptr x );

        SdaiGeometric_model_item_ptr_c item_identified_representation_usage_identified_item_() const;
        SdaiGeometric_model_item_ptr   item_identified_representation_usage_identified_item_();
        void item_identified_representation_usage_identified_item_( const SdaiGeometric_model_item_ptr x );

};

inline SdaiGeometric_item_specific_usage * create_SdaiGeometric_item_specific_usage() {
    return new SdaiGeometric_item_specific_usage;
}

void init_SdaiGeometric_item_specific_usage(Registry& reg);

namespace ap242_managed_model_based_3d_engineering_mim_lf {
    extern EntityDescriptor *e_geometric_item_specific_usage;
    extern AttrDescriptor *a_1702Ritem_identified_representation_usage_definition;
    extern AttrDescriptor *a_1703Ritem_identified_representation_usage_used_representation;
    extern AttrDescriptor *a_1704Ritem_identified_representation_usage_identified_item;
}

#endif
