#ifndef  ENTITY_SDAINODAL_DOF_REDUCTION_H
#define  ENTITY_SDAINODAL_DOF_REDUCTION_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 SdaiNodal_dof_reduction : public SdaiConstraint_element {
     protected:
        SdaiNode_output_reference _required_node;
        SDAI_Application_instance_ptr _coordinate_system = NULL;
        SdaiDegree_of_freedom_agg_ptr _freedoms = NULL;          //  of  degree_of_freedom

        SDAI_String _description;
    public: 
        SdaiNodal_dof_reduction();
        SdaiNodal_dof_reduction( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiNodal_dof_reduction( SdaiNodal_dof_reduction & e );
        ~SdaiNodal_dof_reduction();
        int opcode() {
            return 1607;
        }
        SdaiNode_output_reference_ptr_c required_node_() const;
        SdaiNode_output_reference_ptr   required_node_();
        void required_node_( const SdaiNode_output_reference_ptr x );

        SdaiFea_axis2_placement_3d_ptr_c coordinate_system_() const;
        SdaiFea_axis2_placement_3d_ptr   coordinate_system_();
        void coordinate_system_( const SdaiFea_axis2_placement_3d_ptr x );

        SdaiDegree_of_freedom_agg_ptr_c freedoms_() const;
        SdaiDegree_of_freedom_agg_ptr   freedoms_();
        void freedoms_( const SdaiDegree_of_freedom_agg_ptr x );

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

};

inline SdaiNodal_dof_reduction * create_SdaiNodal_dof_reduction() {
    return new SdaiNodal_dof_reduction;
}

void init_SdaiNodal_dof_reduction(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_nodal_dof_reduction;
    extern AttrDescriptor *a_2409required_node;
    extern AttrDescriptor *a_2410coordinate_system;
    extern AttrDescriptor *a_2411freedoms;
    extern AttrDescriptor *a_2412description;
}

#endif
