#ifndef  ENTITY_SDAICOMPOSITE_CURVE_H
#define  ENTITY_SDAICOMPOSITE_CURVE_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 SdaiComposite_curve : public SdaiBounded_curve {
     protected:
        EntityAggregate_ptr _segments = NULL;          //  of  composite_curve_segment

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

        Logical   self_intersect_() const;
        void self_intersect_( const Logical x );

};

inline SdaiComposite_curve * create_SdaiComposite_curve() {
    return new SdaiComposite_curve;
}

void init_SdaiComposite_curve(Registry& reg);

namespace ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf {
    extern EntityDescriptor *e_composite_curve;
    extern AttrDescriptor *a_246segments;
    extern AttrDescriptor *a_247self_intersect;
    extern Derived_attribute *a_248Dclosed_curve;
    extern Derived_attribute *a_249Dn_segments;
}

#endif
