#ifndef  ENTITY_SDAIIFCCOORDINATEOPERATION_H
#define  ENTITY_SDAIIFCCOORDINATEOPERATION_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 SdaiIfccoordinateoperation : public SDAI_Application_instance {
    protected:
        SdaiIfccoordinatereferencesystemselect _sourcecrs;
        SDAI_Application_instance_ptr _targetcrs = NULL;
    public: 
        SdaiIfccoordinateoperation();
        SdaiIfccoordinateoperation( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfccoordinateoperation( SdaiIfccoordinateoperation & e );
        ~SdaiIfccoordinateoperation();
        int opcode() {
            return 204;
        }
        SdaiIfccoordinatereferencesystemselect_ptr_c sourcecrs_() const;
        SdaiIfccoordinatereferencesystemselect_ptr   sourcecrs_();
        void sourcecrs_( const SdaiIfccoordinatereferencesystemselect_ptr x );

        SdaiIfccoordinatereferencesystem_ptr_c targetcrs_() const;
        SdaiIfccoordinatereferencesystem_ptr   targetcrs_();
        void targetcrs_( const SdaiIfccoordinatereferencesystem_ptr x );

};

inline SdaiIfccoordinateoperation * create_SdaiIfccoordinateoperation() {
    return new SdaiIfccoordinateoperation;
}

void init_SdaiIfccoordinateoperation(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifccoordinateoperation;
    extern AttrDescriptor *a_447sourcecrs;
    extern AttrDescriptor *a_448targetcrs;
}

#endif
