00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef OST_GFX_TRACE_RENDER_OPTIONS_HH
00024 #define OST_GFX_TRACE_RENDER_OPTIONS_HH
00025
00026 #include <boost/shared_ptr.hpp>
00027
00028 #include <ost/gfx/module_config.hh>
00029
00030 #include <ost/gfx/render_options/render_options.hh>
00031
00032 namespace ost { namespace gfx {
00033
00034 class DLLEXPORT_OST_GFX TraceRenderOptions: public ost::gfx::RenderOptions {
00035 public:
00036 TraceRenderOptions();
00037
00038 virtual RenderMode::Type GetRenderMode();
00039
00040 virtual bool CanApplyRenderOptions(RenderOptionsPtr render_options);
00041 virtual void ApplyRenderOptions(RenderOptionsPtr render_options);
00042
00043 void SetArcDetail(uint arc_detail);
00044 uint GetArcDetail() const;
00045
00046 void SetNormalSmoothFactor(float smooth_factor);
00047 float GetNormalSmoothFactor() const;
00048
00049 void SetTubeRadius(float tube_radius);
00050 float GetTubeRadius() const;
00051 float GetMaxRad() const;
00052
00053 virtual ~TraceRenderOptions();
00054
00055 private:
00056 uint spline_detail_;
00057 uint poly_mode_;
00058 uint arc_detail_;
00059 float smooth_factor_;
00060 float tube_radius_;
00061 };
00062
00063 typedef boost::shared_ptr<TraceRenderOptions> TraceRenderOptionsPtr;
00064
00065 }}
00066
00067 #endif