#ifndef  ENTITY_SDAIOFFSET_SURFACE_H
#define  ENTITY_SDAIOFFSET_SURFACE_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 SdaiOffset_surface : public SdaiSurface {
     protected:
        SDAI_Application_instance_ptr _basis_surface = NULL;
        SDAI_Real _distance = 0.0;
        SDAI_LOGICAL _self_intersect;
    public: 
        SdaiOffset_surface();
        SdaiOffset_surface( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiOffset_surface( SdaiOffset_surface & e );
        ~SdaiOffset_surface();
        int opcode() {
            return 376;
        }
        SdaiSurface_ptr_c basis_surface_() const;
        SdaiSurface_ptr   basis_surface_();
        void basis_surface_( const SdaiSurface_ptr x );

        SdaiLength_measure   distance_() const;
        void distance_( const SdaiLength_measure x );

        Logical   self_intersect_() const;
        void self_intersect_( const Logical x );

};

inline SdaiOffset_surface * create_SdaiOffset_surface() {
    return new SdaiOffset_surface;
}

void init_SdaiOffset_surface(Registry& reg);

namespace process_planning_schema {
    extern EntityDescriptor *e_offset_surface;
    extern AttrDescriptor *a_484basis_surface;
    extern AttrDescriptor *a_485distance;
    extern AttrDescriptor *a_486self_intersect;
}

#endif
