#ifndef  ENTITY_SDAIAXIS2_PLACEMENT_3D_H
#define  ENTITY_SDAIAXIS2_PLACEMENT_3D_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 SdaiAxis2_placement_3d : public SdaiPlacement {
     protected:
        SDAI_Application_instance_ptr _axis = NULL;    //  OPTIONAL
        SDAI_Application_instance_ptr _ref_direction = NULL;    //  OPTIONAL
    public: 
        SdaiAxis2_placement_3d();
        SdaiAxis2_placement_3d( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiAxis2_placement_3d( SdaiAxis2_placement_3d & e );
        ~SdaiAxis2_placement_3d();
        int opcode() {
            return 505;
        }
        SdaiDirection_ptr_c axis_() const;
        SdaiDirection_ptr   axis_();
        void axis_( const SdaiDirection_ptr x );

        SdaiDirection_ptr_c ref_direction_() const;
        SdaiDirection_ptr   ref_direction_();
        void ref_direction_( const SdaiDirection_ptr x );

};

inline SdaiAxis2_placement_3d * create_SdaiAxis2_placement_3d() {
    return new SdaiAxis2_placement_3d;
}

void init_SdaiAxis2_placement_3d(Registry& reg);

namespace automotive_design {
    extern EntityDescriptor *e_axis2_placement_3d;
    extern AttrDescriptor *a_703axis;
    extern AttrDescriptor *a_704ref_direction;
    extern Derived_attribute *a_705Dp;
}

#endif
