#ifndef  ENTITY_SDAIIFCCOMPOSITECURVE_H
#define  ENTITY_SDAIIFCCOMPOSITECURVE_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 SdaiIfccompositecurve : public SdaiIfcboundedcurve {
     protected:
        EntityAggregate_ptr _segments = NULL;          //  of  ifccompositecurvesegment

        SDAI_LOGICAL _selfintersect;
    public: 
        SdaiIfccompositecurve();
        SdaiIfccompositecurve( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfccompositecurve( SdaiIfccompositecurve & e );
        ~SdaiIfccompositecurve();
        int opcode() {
            return 158;
        }
        EntityAggregate_ptr_c segments_() const;
        EntityAggregate_ptr   segments_();
        void segments_( const EntityAggregate_ptr x );

        Logical   selfintersect_() const;
        void selfintersect_( const Logical x );

};

inline SdaiIfccompositecurve * create_SdaiIfccompositecurve() {
    return new SdaiIfccompositecurve;
}

void init_SdaiIfccompositecurve(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifccompositecurve;
    extern AttrDescriptor *a_337segments;
    extern AttrDescriptor *a_338selfintersect;
    extern Derived_attribute *a_339Dnsegments;
    extern Derived_attribute *a_340Dclosedcurve;
}

#endif
