#ifndef  ENTITY_SDAITRIMMED_CURVE_H
#define  ENTITY_SDAITRIMMED_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 SdaiTrimmed_curve : public SdaiBounded_curve {
     protected:
        SDAI_Application_instance_ptr _basis_curve = NULL;
        SdaiTrimming_select_agg_ptr _trim_1 = NULL;          //  of  trimming_select

        SdaiTrimming_select_agg_ptr _trim_2 = NULL;          //  of  trimming_select

        SDAI_BOOLEAN _sense_agreement = false;
        SdaiTrimming_preference_var _master_representation;
    public: 
        SdaiTrimmed_curve();
        SdaiTrimmed_curve( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiTrimmed_curve( SdaiTrimmed_curve & e );
        ~SdaiTrimmed_curve();
        int opcode() {
            return 431;
        }
        SdaiCurve_ptr_c basis_curve_() const;
        SdaiCurve_ptr   basis_curve_();
        void basis_curve_( const SdaiCurve_ptr x );

        SdaiTrimming_select_agg_ptr_c trim_1_() const;
        SdaiTrimming_select_agg_ptr   trim_1_();
        void trim_1_( const SdaiTrimming_select_agg_ptr x );

        SdaiTrimming_select_agg_ptr_c trim_2_() const;
        SdaiTrimming_select_agg_ptr   trim_2_();
        void trim_2_( const SdaiTrimming_select_agg_ptr x );

        Boolean   sense_agreement_() const;
        void sense_agreement_( const Boolean x );

  const SdaiTrimming_preference_var   master_representation_() const;
        SdaiTrimming_preference_var   master_representation_();
        void master_representation_( const SdaiTrimming_preference_var x );

};

inline SdaiTrimmed_curve * create_SdaiTrimmed_curve() {
    return new SdaiTrimmed_curve;
}

void init_SdaiTrimmed_curve(Registry& reg);

namespace automotive_design {
    extern EntityDescriptor *e_trimmed_curve;
    extern AttrDescriptor *a_596basis_curve;
    extern AttrDescriptor *a_597trim_1;
    extern AttrDescriptor *a_598trim_2;
    extern AttrDescriptor *a_599sense_agreement;
    extern AttrDescriptor *a_600master_representation;
}

#endif
