#ifndef  ENTITY_SDAIPARALLEL_OFFSET_GEOMETRIC_CONSTRAINT_H
#define  ENTITY_SDAIPARALLEL_OFFSET_GEOMETRIC_CONSTRAINT_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 SdaiParallel_offset_geometric_constraint : public SdaiExplicit_geometric_constraint {
     protected:
        SdaiCurve_or_surface_constraint_element_agg_ptr _explicit_constraint_constrained_elements = NULL;          //  of  curve_or_surface_constraint_element

        SdaiCurve_or_surface_constraint_element_agg_ptr _explicit_constraint_reference_elements = NULL;          //  of  curve_or_surface_constraint_element

        SdaiParallel_offset_type_var _offset_type;
    public: 
        SdaiParallel_offset_geometric_constraint();
        SdaiParallel_offset_geometric_constraint( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiParallel_offset_geometric_constraint( SdaiParallel_offset_geometric_constraint & e );
        ~SdaiParallel_offset_geometric_constraint();
        int opcode() {
            return 1004;
        }
        SdaiCurve_or_surface_constraint_element_agg_ptr_c explicit_constraint_constrained_elements_() const;
        SdaiCurve_or_surface_constraint_element_agg_ptr   explicit_constraint_constrained_elements_();
        void explicit_constraint_constrained_elements_( const SdaiCurve_or_surface_constraint_element_agg_ptr x );

        SdaiCurve_or_surface_constraint_element_agg_ptr_c explicit_constraint_reference_elements_() const;
        SdaiCurve_or_surface_constraint_element_agg_ptr   explicit_constraint_reference_elements_();
        void explicit_constraint_reference_elements_( const SdaiCurve_or_surface_constraint_element_agg_ptr x );

  const SdaiParallel_offset_type_var   offset_type_() const;
        SdaiParallel_offset_type_var   offset_type_();
        void offset_type_( const SdaiParallel_offset_type_var x );

};

inline SdaiParallel_offset_geometric_constraint * create_SdaiParallel_offset_geometric_constraint() {
    return new SdaiParallel_offset_geometric_constraint;
}

void init_SdaiParallel_offset_geometric_constraint(Registry& reg);

namespace ap242_managed_model_based_3d_engineering_mim_lf {
    extern EntityDescriptor *e_parallel_offset_geometric_constraint;
    extern AttrDescriptor *a_1299Rexplicit_constraint_constrained_elements;
    extern AttrDescriptor *a_1300Rexplicit_constraint_reference_elements;
    extern AttrDescriptor *a_1301offset_type;
}

#endif
