#ifndef  ENTITY_SDAICYCLIDE_SEGMENT_SOLID_H
#define  ENTITY_SDAICYCLIDE_SEGMENT_SOLID_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 SdaiCyclide_segment_solid : public SdaiGeometric_representation_item {
     protected:
        SDAI_Application_instance_ptr _position = NULL;
        SDAI_Real _radius1 = 0.0;
        SDAI_Real _radius2 = 0.0;
        SDAI_Real _cone_angle1 = 0.0;
        SDAI_Real _cone_angle2 = 0.0;
        SDAI_Real _turn_angle = 0.0;
    public: 
        SdaiCyclide_segment_solid();
        SdaiCyclide_segment_solid( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiCyclide_segment_solid( SdaiCyclide_segment_solid & e );
        ~SdaiCyclide_segment_solid();
        int opcode() {
            return 974;
        }
        SdaiAxis2_placement_3d_ptr_c position_() const;
        SdaiAxis2_placement_3d_ptr   position_();
        void position_( const SdaiAxis2_placement_3d_ptr x );

        SdaiPositive_length_measure   radius1_() const;
        void radius1_( const SdaiPositive_length_measure x );

        SdaiPositive_length_measure   radius2_() const;
        void radius2_( const SdaiPositive_length_measure x );

        SdaiPlane_angle_measure   cone_angle1_() const;
        void cone_angle1_( const SdaiPlane_angle_measure x );

        SdaiPlane_angle_measure   cone_angle2_() const;
        void cone_angle2_( const SdaiPlane_angle_measure x );

        SdaiPlane_angle_measure   turn_angle_() const;
        void turn_angle_( const SdaiPlane_angle_measure x );

};

inline SdaiCyclide_segment_solid * create_SdaiCyclide_segment_solid() {
    return new SdaiCyclide_segment_solid;
}

void init_SdaiCyclide_segment_solid(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_cyclide_segment_solid;
    extern AttrDescriptor *a_1422position;
    extern AttrDescriptor *a_1423radius1;
    extern AttrDescriptor *a_1424radius2;
    extern AttrDescriptor *a_1425cone_angle1;
    extern AttrDescriptor *a_1426cone_angle2;
    extern AttrDescriptor *a_1427turn_angle;
}

#endif
