#ifndef  ENTITY_SDAIPRODUCT_MATERIAL_COMPOSITION_RELATIONSHIP_H
#define  ENTITY_SDAIPRODUCT_MATERIAL_COMPOSITION_RELATIONSHIP_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 SdaiProduct_material_composition_relationship : public SdaiProduct_definition_relationship {
     protected:
        SDAI_String _class;
        SdaiCharacterized_product_composition_value_agg_ptr _constituent_amount = NULL;          //  of  characterized_product_composition_value

        SDAI_String _composition_basis;
        SDAI_String _determination_method;
    public: 
        SdaiProduct_material_composition_relationship();
        SdaiProduct_material_composition_relationship( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiProduct_material_composition_relationship( SdaiProduct_material_composition_relationship & e );
        ~SdaiProduct_material_composition_relationship();
        int opcode() {
            return 478;
        }
  const SdaiLabel   class_() const;
        SdaiLabel   class_();
        void class_( const SdaiLabel x );

        SdaiCharacterized_product_composition_value_agg_ptr_c constituent_amount_() const;
        SdaiCharacterized_product_composition_value_agg_ptr   constituent_amount_();
        void constituent_amount_( const SdaiCharacterized_product_composition_value_agg_ptr x );

  const SdaiLabel   composition_basis_() const;
        SdaiLabel   composition_basis_();
        void composition_basis_( const SdaiLabel x );

  const SdaiText   determination_method_() const;
        SdaiText   determination_method_();
        void determination_method_( const SdaiText x );

};

inline SdaiProduct_material_composition_relationship * create_SdaiProduct_material_composition_relationship() {
    return new SdaiProduct_material_composition_relationship;
}

void init_SdaiProduct_material_composition_relationship(Registry& reg);

namespace ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf {
    extern EntityDescriptor *e_product_material_composition_relationship;
    extern AttrDescriptor *a_628class;
    extern AttrDescriptor *a_629constituent_amount;
    extern AttrDescriptor *a_630composition_basis;
    extern AttrDescriptor *a_631determination_method;
}

#endif
