#ifndef  ENTITY_SDAISYMMETRY_GEOMETRIC_CONSTRAINT_H
#define  ENTITY_SDAISYMMETRY_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 SdaiSymmetry_geometric_constraint : public SdaiExplicit_geometric_constraint {
     protected:
        EntityAggregate_ptr _explicit_constraint_constrained_elements = NULL;          //  of  geometric_representation_item

        SdaiLinear_geometry_constraint_element _mirror_element;
    public: 
        SdaiSymmetry_geometric_constraint();
        SdaiSymmetry_geometric_constraint( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiSymmetry_geometric_constraint( SdaiSymmetry_geometric_constraint & e );
        ~SdaiSymmetry_geometric_constraint();
        int opcode() {
            return 175;
        }
        EntityAggregate_ptr_c explicit_constraint_constrained_elements_() const;
        EntityAggregate_ptr   explicit_constraint_constrained_elements_();
        void explicit_constraint_constrained_elements_( const EntityAggregate_ptr x );

        SdaiLinear_geometry_constraint_element_ptr_c mirror_element_() const;
        SdaiLinear_geometry_constraint_element_ptr   mirror_element_();
        void mirror_element_( const SdaiLinear_geometry_constraint_element_ptr x );

};

inline SdaiSymmetry_geometric_constraint * create_SdaiSymmetry_geometric_constraint() {
    return new SdaiSymmetry_geometric_constraint;
}

void init_SdaiSymmetry_geometric_constraint(Registry& reg);

namespace ap210_electronic_assembly_interconnect_and_packaging_design_mim_lf {
    extern EntityDescriptor *e_symmetry_geometric_constraint;
    extern AttrDescriptor *a_204Rexplicit_constraint_constrained_elements;
    extern AttrDescriptor *a_205mirror_element;
}

#endif
