#ifndef  ENTITY_SDAICURVE_3D_ELEMENT_PROPERTY_H
#define  ENTITY_SDAICURVE_3D_ELEMENT_PROPERTY_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 SdaiCurve_3d_element_property : public SDAI_Application_instance {
    protected:
        SDAI_String _property_id;
        SDAI_String _description;
        EntityAggregate_ptr _interval_definitions = NULL;          //  of  curve_element_interval

        EntityAggregate_ptr _end_offsets = NULL;          //  of  curve_element_end_offset

        EntityAggregate_ptr _end_releases = NULL;          //  of  curve_element_end_release

    public: 
        SdaiCurve_3d_element_property();
        SdaiCurve_3d_element_property( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiCurve_3d_element_property( SdaiCurve_3d_element_property & e );
        ~SdaiCurve_3d_element_property();
        int opcode() {
            return 2121;
        }
  const SdaiIdentifier   property_id_() const;
        SdaiIdentifier   property_id_();
        void property_id_( const SdaiIdentifier x );

  const SdaiText   description_() const;
        SdaiText   description_();
        void description_( const SdaiText x );

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

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

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

};

inline SdaiCurve_3d_element_property * create_SdaiCurve_3d_element_property() {
    return new SdaiCurve_3d_element_property;
}

void init_SdaiCurve_3d_element_property(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_curve_3d_element_property;
    extern AttrDescriptor *a_3217property_id;
    extern AttrDescriptor *a_3218description;
    extern AttrDescriptor *a_3219interval_definitions;
    extern AttrDescriptor *a_3220end_offsets;
    extern AttrDescriptor *a_3221end_releases;
}

#endif
