#ifndef  ENTITY_SDAIGEOMETRIC_TOLERANCE_WITH_DEFINED_AREA_UNIT_H
#define  ENTITY_SDAIGEOMETRIC_TOLERANCE_WITH_DEFINED_AREA_UNIT_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 SdaiGeometric_tolerance_with_defined_area_unit : public SdaiGeometric_tolerance_with_defined_unit {
     protected:
        SdaiArea_unit_type_var _area_type;
        SDAI_Application_instance_ptr _second_unit_size = NULL;    //  OPTIONAL
    public: 
        SdaiGeometric_tolerance_with_defined_area_unit();
        SdaiGeometric_tolerance_with_defined_area_unit( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiGeometric_tolerance_with_defined_area_unit( SdaiGeometric_tolerance_with_defined_area_unit & e );
        ~SdaiGeometric_tolerance_with_defined_area_unit();
        int opcode() {
            return 1400;
        }
  const SdaiArea_unit_type_var   area_type_() const;
        SdaiArea_unit_type_var   area_type_();
        void area_type_( const SdaiArea_unit_type_var x );

        SdaiLength_measure_with_unit_ptr_c second_unit_size_() const;
        SdaiLength_measure_with_unit_ptr   second_unit_size_();
        void second_unit_size_( const SdaiLength_measure_with_unit_ptr x );

};

inline SdaiGeometric_tolerance_with_defined_area_unit * create_SdaiGeometric_tolerance_with_defined_area_unit() {
    return new SdaiGeometric_tolerance_with_defined_area_unit;
}

void init_SdaiGeometric_tolerance_with_defined_area_unit(Registry& reg);

namespace ap242_managed_model_based_3d_engineering_mim_lf {
    extern EntityDescriptor *e_geometric_tolerance_with_defined_area_unit;
    extern AttrDescriptor *a_1827area_type;
    extern AttrDescriptor *a_1828second_unit_size;
}

#endif
