#ifndef  ENTITY_SDAIB_SPLINE_CURVE_WITH_KNOTS_H
#define  ENTITY_SDAIB_SPLINE_CURVE_WITH_KNOTS_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 SdaiB_spline_curve_with_knots : public SdaiB_spline_curve {
     protected:
        IntAggregate_ptr _knot_multiplicities = NULL;
        RealAggregate_ptr _knots = NULL;          //  of  parameter_value

        SdaiKnot_type_var _knot_spec;
    public: 
        SdaiB_spline_curve_with_knots();
        SdaiB_spline_curve_with_knots( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiB_spline_curve_with_knots( SdaiB_spline_curve_with_knots & e );
        ~SdaiB_spline_curve_with_knots();
        int opcode() {
            return 281;
        }
        IntAggregate_ptr_c knot_multiplicities_() const;
        IntAggregate_ptr   knot_multiplicities_();
        void knot_multiplicities_( const IntAggregate_ptr x );

        RealAggregate_ptr_c knots_() const;
        RealAggregate_ptr   knots_();
        void knots_( const RealAggregate_ptr x );

  const SdaiKnot_type_var   knot_spec_() const;
        SdaiKnot_type_var   knot_spec_();
        void knot_spec_( const SdaiKnot_type_var x );

};

inline SdaiB_spline_curve_with_knots * create_SdaiB_spline_curve_with_knots() {
    return new SdaiB_spline_curve_with_knots;
}

void init_SdaiB_spline_curve_with_knots(Registry& reg);

namespace ap210_electronic_assembly_interconnect_and_packaging_design_mim_lf {
    extern EntityDescriptor *e_b_spline_curve_with_knots;
    extern AttrDescriptor *a_332knot_multiplicities;
    extern AttrDescriptor *a_333knots;
    extern AttrDescriptor *a_334knot_spec;
    extern Derived_attribute *a_335Dupper_index_on_knots;
}

#endif
