#ifndef  ENTITY_SDAICOMPOSITE_CURVE_SEGMENT_H
#define  ENTITY_SDAICOMPOSITE_CURVE_SEGMENT_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_segment : public SdaiFounded_item {
     protected:
        SdaiTransition_code_var _transition;
        SDAI_BOOLEAN _same_sense = false;
        SDAI_Application_instance_ptr _parent_curve = NULL;
    public: 
        SdaiComposite_curve_segment();
        SdaiComposite_curve_segment( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiComposite_curve_segment( SdaiComposite_curve_segment & e );
        ~SdaiComposite_curve_segment();
        int opcode() {
            return 173;
        }
  const SdaiTransition_code_var   transition_() const;
        SdaiTransition_code_var   transition_();
        void transition_( const SdaiTransition_code_var x );

        Boolean   same_sense_() const;
        void same_sense_( const Boolean x );

        SdaiCurve_ptr_c parent_curve_() const;
        SdaiCurve_ptr   parent_curve_();
        void parent_curve_( const SdaiCurve_ptr x );

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

};

inline SdaiComposite_curve_segment * create_SdaiComposite_curve_segment() {
    return new SdaiComposite_curve_segment;
}

void init_SdaiComposite_curve_segment(Registry& reg);

namespace dimensional_inspection_schema {
    extern EntityDescriptor *e_composite_curve_segment;
    extern AttrDescriptor *a_219transition;
    extern AttrDescriptor *a_220same_sense;
    extern AttrDescriptor *a_221parent_curve;
    extern Inverse_attribute *a_222Iusing_curves;
}

#endif
