#ifndef  ENTITY_SDAIPERSON_AND_ORGANIZATION_ADDRESS_H
#define  ENTITY_SDAIPERSON_AND_ORGANIZATION_ADDRESS_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 SdaiPerson_and_organization_address : public SdaiOrganizational_address {
     protected:
        EntityAggregate_ptr _organizational_address_organizations = NULL;          //  of  organization

        EntityAggregate_ptr _personal_address_people = NULL;          //  of  person

    public: 
        SdaiPerson_and_organization_address();
        SdaiPerson_and_organization_address( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiPerson_and_organization_address( SdaiPerson_and_organization_address & e );
        ~SdaiPerson_and_organization_address();
        int opcode() {
            return 983;
        }
        EntityAggregate_ptr_c organizational_address_organizations_() const;
        EntityAggregate_ptr   organizational_address_organizations_();
        void organizational_address_organizations_( const EntityAggregate_ptr x );

        EntityAggregate_ptr_c personal_address_people_() const;
        EntityAggregate_ptr   personal_address_people_();
        void personal_address_people_( const EntityAggregate_ptr x );

};

inline SdaiPerson_and_organization_address * create_SdaiPerson_and_organization_address() {
    return new SdaiPerson_and_organization_address;
}

void init_SdaiPerson_and_organization_address(Registry& reg);

namespace ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf {
    extern EntityDescriptor *e_person_and_organization_address;
    extern AttrDescriptor *a_1247Rorganizational_address_organizations;
    extern AttrDescriptor *a_1248Rpersonal_address_people;
}

#endif
