00001 #ifndef WATERREFLECTED_H 00002 #define WATERREFLECTED_H 00003 00004 #include <vrs/environment/config.h> 00005 #include <vrs/polyattribute.h> 00006 00007 00008 namespace EnvironmentRenderer { 00009 00010 class WaterSurface; 00011 00018 class VRS_ENV_API WaterReflected : public VRS::PolyAttribute { 00019 public: 00020 00029 WaterReflected(VRS::SO<WaterSurface> relatedSurface, bool renderOnlyReflection = false); 00030 00032 VRS::SO<WaterSurface> getRelatedSurface() const; 00033 void setRelatedSurface(VRS::SO<WaterSurface> relatedSurface); 00034 00035 bool getRenderOnlyReflection() const; 00036 void setRenderOnlyReflection(bool yesNo); 00037 00038 VRS_TYPEINFO(WaterReflected, VRS::PolyAttribute); 00039 VRS_SERIALIZABLE(WaterReflected); 00040 00041 private: 00042 00043 WaterReflected(); // only for serialization 00044 00045 VRS::WO<WaterSurface> m_relatedSurface; 00046 bool m_renderOnlyReflection; 00047 }; 00048 00049 } // namepsace EnvironmentRenderer 00050 00051 #endif // WATERSURFACE_H 00052