00001 #ifndef __VSKELETONRENDEROBJECT_HPP
00002 #define __VSKELETONRENDEROBJECT_HPP
00003
00004 #include <bone/FishGrid.hpp>
00005 #include <bone/FishSlice.hpp>
00006 #include <bone/FishSkeleton.hpp>
00007 #include <ocean/GLvish/VGLRenderObject.hpp>
00008
00009 #include "fisheyeDllApi.h"
00010
00011 namespace Wizt
00012 {
00013
00017 class fisheye_API VSkeletonRenderObject : virtual public VGLRenderObject,
00018 virtual public Fish<Fiber::Slice>,
00019 virtual public Fish<Fiber::Skeleton>,
00020 virtual public Fish<Fiber::Grid>
00021 {
00022 public:
00026 VSkeletonRenderObject(const string&name, int p, const RefPtr<VCreationPreferences>&VP)
00027 : VGLRenderObject(name, p, VP)
00028 , Fish<VObject>(this)
00029 {}
00030
00032 ~VSkeletonRenderObject();
00033
00034 using Fish<Fiber::Slice>::getTime;
00035
00036 double getTime(const RefPtr<ValuePool>&R) const
00037 {
00038 return getTime( R, getGridSelector(R).BundleSource() );
00039 }
00040
00041
00042
00043
00044 #if 0
00045 using Fish<Fiber::Grid>::getRefinementLevel;
00046
00051 pair<double, RefPtr<Fiber::Skeleton> > getRefinementLevel(const RefPtr<ValuePool>&VP,
00052 int L, int IndexDepth = 0) const
00053 {
00054 return getRefinementLevel( GridSpacetimeSlot(), VP, L, IndexDepth);
00055
00056 }
00057 #endif
00058
00059 override bool CreatedFilteredConnection(const RefPtr<VParameter>&SourceParam);
00060
00061 override void InputCreation(const RefPtr<VParameter>&CurrentObjectsInput,
00062 const RefPtr<VObject>&NewlyCreatedObject,
00063 const RefPtr<VParameter>&TheNewObjectsOutputParameter);
00064
00065 };
00066
00067 }
00068
00069 #endif // __VSKELETONRENDEROBJECT_HPP