#ifndef  ENTITY_SDAISURFACE_STYLE_REFLECTANCE_AMBIENT_DIFFUSE_SPECULAR_H
#define  ENTITY_SDAISURFACE_STYLE_REFLECTANCE_AMBIENT_DIFFUSE_SPECULAR_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 SdaiSurface_style_reflectance_ambient_diffuse_specular : public SdaiSurface_style_reflectance_ambient_diffuse {
     protected:
        SDAI_Real _specular_reflectance = 0.0;
        SDAI_Real _specular_exponent = 0.0;
        SDAI_Application_instance_ptr _specular_colour = NULL;
    public: 
        SdaiSurface_style_reflectance_ambient_diffuse_specular();
        SdaiSurface_style_reflectance_ambient_diffuse_specular( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiSurface_style_reflectance_ambient_diffuse_specular( SdaiSurface_style_reflectance_ambient_diffuse_specular & e );
        ~SdaiSurface_style_reflectance_ambient_diffuse_specular();
        int opcode() {
            return 2141;
        }
        SDAI_Real   specular_reflectance_() const;
        void specular_reflectance_( const SDAI_Real x );

        SDAI_Real   specular_exponent_() const;
        void specular_exponent_( const SDAI_Real x );

        SdaiColour_ptr_c specular_colour_() const;
        SdaiColour_ptr   specular_colour_();
        void specular_colour_( const SdaiColour_ptr x );

};

inline SdaiSurface_style_reflectance_ambient_diffuse_specular * create_SdaiSurface_style_reflectance_ambient_diffuse_specular() {
    return new SdaiSurface_style_reflectance_ambient_diffuse_specular;
}

void init_SdaiSurface_style_reflectance_ambient_diffuse_specular(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_surface_style_reflectance_ambient_diffuse_specular;
    extern AttrDescriptor *a_3257specular_reflectance;
    extern AttrDescriptor *a_3258specular_exponent;
    extern AttrDescriptor *a_3259specular_colour;
}

#endif
