#ifndef  ENTITY_SDAIIFCTESSELLATEDFACESET_H
#define  ENTITY_SDAIIFCTESSELLATEDFACESET_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 SdaiIfctessellatedfaceset : public SdaiIfctessellateditem {
     protected:
        SDAI_Application_instance_ptr _coordinates = NULL;
        GenericAggregate_ptr _normals = NULL;    //  OPTIONAL          //  of  ifcparametervalue

        SDAI_BOOLEAN _closed = false;    //  OPTIONAL
    public: 
        SdaiIfctessellatedfaceset();
        SdaiIfctessellatedfaceset( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfctessellatedfaceset( SdaiIfctessellatedfaceset & e );
        ~SdaiIfctessellatedfaceset();
        int opcode() {
            return 143;
        }
        SdaiIfccartesianpointlist3d_ptr_c coordinates_() const;
        SdaiIfccartesianpointlist3d_ptr   coordinates_();
        void coordinates_( const SdaiIfccartesianpointlist3d_ptr x );

        GenericAggregate_ptr_c normals_() const;
        GenericAggregate_ptr   normals_();
        void normals_( const GenericAggregate_ptr x );

        Boolean   closed_() const;
        void closed_( const Boolean x );

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

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

};

inline SdaiIfctessellatedfaceset * create_SdaiIfctessellatedfaceset() {
    return new SdaiIfctessellatedfaceset;
}

void init_SdaiIfctessellatedfaceset(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifctessellatedfaceset;
    extern AttrDescriptor *a_307coordinates;
    extern AttrDescriptor *a_308normals;
    extern AttrDescriptor *a_309closed;
    extern Inverse_attribute *a_310Ihascolours;
    extern Inverse_attribute *a_311Ihastextures;
}

#endif
