00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __SGL_TRAVERSER_HPP
00027 #define __SGL_TRAVERSER_HPP
00028
00029 #include <sgl.h>
00030 #include <sglTimespec.hpp>
00031
00032
00033
00040 class SGL_DLL_API sglTraverser
00041 {
00042 public:
00043 sglTraverser()
00044 : m_discriminator_mask(~0x0u),
00045 m_lod_scale(1.0f),
00046 m_lod_offset(0.0f),
00047 m_frame_count(0),
00048 m_frame_time() {}
00049
00050 virtual ~sglTraverser() {};
00051
00053 void setDiscriminatorMask(unsigned int mask) {m_discriminator_mask = mask;}
00055 unsigned int getDiscriminatorMask() const {return m_discriminator_mask;}
00056
00058 void setLODScale(float lod_scale) { m_lod_scale = lod_scale; }
00060 float getLODScale() const { return m_lod_scale; }
00061
00063 void setLODOffset(float lod_offset) { m_lod_offset = lod_offset; }
00065 float getLODOffset() const { return m_lod_offset; }
00066
00068 void setFrameCount(unsigned int count) { m_frame_count = count; }
00070 unsigned int getFrameCount() const { return m_frame_count; }
00071
00073 void setFrameTime(const sglTimespec &ftime) { m_frame_time = ftime; }
00075 const sglTimespec &getFrameTime() const { return m_frame_time; }
00076
00077 private:
00078 sglTraverser(const sglTraverser &);
00079 sglTraverser &operator=(const sglTraverser &);
00080
00081 protected:
00082 unsigned int m_discriminator_mask;
00083 float m_lod_scale;
00084 float m_lod_offset;
00085
00086 unsigned int m_frame_count;
00087 sglTimespec m_frame_time;
00088 };
00089
00090 #endif