VSkeletonRenderObject.hpp

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 //      override bool update(VRequest&R, double precision); 
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 //              return getRefinementLevel( MySpacetime, VP, L, IndexDepth);
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 } // namespace Wizt
00068 
00069 #endif // __VSKELETONRENDEROBJECT_HPP