#ifndef  ENTITY_SDAIGENERAL_DATUM_REFERENCE_H
#define  ENTITY_SDAIGENERAL_DATUM_REFERENCE_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 SdaiGeneral_datum_reference : public SdaiShape_aspect {
     protected:
        SdaiDatum_or_common_datum _base;
        SdaiDatum_reference_modifier_agg_ptr _modifiers = NULL;    //  OPTIONAL          //  of  datum_reference_modifier

    public: 
        SdaiGeneral_datum_reference();
        SdaiGeneral_datum_reference( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiGeneral_datum_reference( SdaiGeneral_datum_reference & e );
        ~SdaiGeneral_datum_reference();
        int opcode() {
            return 345;
        }
        SdaiDatum_or_common_datum_ptr_c base_() const;
        SdaiDatum_or_common_datum_ptr   base_();
        void base_( const SdaiDatum_or_common_datum_ptr x );

        SdaiDatum_reference_modifier_agg_ptr_c modifiers_() const;
        SdaiDatum_reference_modifier_agg_ptr   modifiers_();
        void modifiers_( const SdaiDatum_reference_modifier_agg_ptr x );

};

inline SdaiGeneral_datum_reference * create_SdaiGeneral_datum_reference() {
    return new SdaiGeneral_datum_reference;
}

void init_SdaiGeneral_datum_reference(Registry& reg);

namespace ap210_electronic_assembly_interconnect_and_packaging_design_mim_lf {
    extern EntityDescriptor *e_general_datum_reference;
    extern AttrDescriptor *a_438base;
    extern AttrDescriptor *a_439modifiers;
}

#endif
