#ifndef  ENTITY_SDAIIFCINDEXEDCOLOURMAP_H
#define  ENTITY_SDAIIFCINDEXEDCOLOURMAP_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 SdaiIfcindexedcolourmap : public SdaiIfcpresentationitem {
     protected:
        SDAI_Application_instance_ptr _mappedto = NULL;
        SDAI_Application_instance_ptr _overrides = NULL;    //  OPTIONAL
        SDAI_Application_instance_ptr _colours = NULL;
        IntAggregate_ptr _colourindex = NULL;
    public: 
        SdaiIfcindexedcolourmap();
        SdaiIfcindexedcolourmap( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcindexedcolourmap( SdaiIfcindexedcolourmap & e );
        ~SdaiIfcindexedcolourmap();
        int opcode() {
            return 635;
        }
        SdaiIfctessellatedfaceset_ptr_c mappedto_() const;
        SdaiIfctessellatedfaceset_ptr   mappedto_();
        void mappedto_( const SdaiIfctessellatedfaceset_ptr x );

        SdaiIfcsurfacestyleshading_ptr_c overrides_() const;
        SdaiIfcsurfacestyleshading_ptr   overrides_();
        void overrides_( const SdaiIfcsurfacestyleshading_ptr x );

        SdaiIfccolourrgblist_ptr_c colours_() const;
        SdaiIfccolourrgblist_ptr   colours_();
        void colours_( const SdaiIfccolourrgblist_ptr x );

        IntAggregate_ptr_c colourindex_() const;
        IntAggregate_ptr   colourindex_();
        void colourindex_( const IntAggregate_ptr x );

};

inline SdaiIfcindexedcolourmap * create_SdaiIfcindexedcolourmap() {
    return new SdaiIfcindexedcolourmap;
}

void init_SdaiIfcindexedcolourmap(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcindexedcolourmap;
    extern AttrDescriptor *a_1407mappedto;
    extern AttrDescriptor *a_1408overrides;
    extern AttrDescriptor *a_1409colours;
    extern AttrDescriptor *a_1410colourindex;
}

#endif
