VTK/Geovis vision toolkit: Difference between revisions

From KitwarePublic
< VTK
Jump to navigationJump to search
No edit summary
No edit summary
Line 62: Line 62:
   void AddVideoRepresentation(vtkVideoRepresentation* vr);  
   void AddVideoRepresentation(vtkVideoRepresentation* vr);  
   void AddTrackRepresentation(vtkScalarRepresentation* sr);  
   void AddTrackRepresentation(vtkScalarRepresentation* sr);  
    
   void SetVisStrategyRepresentation(vtkVisStrategyRepresentation* vsr);
 
   // Update all the layers and call \c PrepareForRendering(....) on each.  
   // Update all the layers and call \c PrepareForRendering(....) on each.  
   virtual void PrepareForRendering(vtkRenderView* view);
   virtual void PrepareForRendering(vtkRenderView* view);
  void SetUseWorldMatrix(vtkMatrix4x4 mat);


private:  
private:  

Revision as of 22:33, 28 January 2010

Requirements

There are two parts to the project:

  • Video / related meta data rendering and interactions.
  • Displaying video / meta data in geospatial context.

As per our discussion we have gathered following requirements for the project.

  • Easy to put together.
  • Provides 2D and 3D mode where in 2D it will allow quick validation, manipulation abilities.
  • Provides the ability to visualize, video, track, and associated ranking.
  • Ability to provide input as sequence of images or a video file.
  • Provides the ability to manipulate track data. User should be able to insert a new one, modify the existing one.
  • Provides the ability to select a region with pixel level accuracy and draw a track on top of it.
  • Provides the ability to play many video files (small or large video) files.
  • Provides a layout for the videos in space so that each can be seen clearly for a view point.
  • Allows the videos to play individually or globally.1
  • Provides the ability to toggle different layers of information.
  • Provides geo spatial context.

Design

This is a graph with borders and nodes. Maybe there is an Imagemap used so the nodes may be linking to some Pages.

  • vtkVideoElementRepresentation would contain all the information layers and make sure that they are in sink.

Also this is the representation thats responsible for consuming the data for each video.

  • vtkVisStrategyRepresentation

<source lang="cpp"> class vtkVisStrategyRepresentation : public vtkRenderedRepresentation { public:

 // Return transformation matrix that can be used to offset any other representation. 
 vtkMatrix4x4 GetMatrix(); 
 virtual void PrepareForRendering(vtkRenderView* view); 

};


class vtkVideoElementRepresentation : public vtkRenderedRepresentation { public:

 void AddTrackRepresentation(vtkTrackRepresentation* tr); 
 void AddVideoRepresentation(vtkVideoRepresentation* vr); 
 void AddTrackRepresentation(vtkScalarRepresentation* sr); 
 void SetVisStrategyRepresentation(vtkVisStrategyRepresentation* vsr);
 // Update all the layers and call \c PrepareForRendering(....) on each. 
 virtual void PrepareForRendering(vtkRenderView* view);

private:

Internal* Implementation; };


class vtkTrackRepresentation : public vtkRenderedRepresentation { public:

 template<t>
 void SetScalarProperty(T value);
 // Can have 0 or many scalar representations. 
 void AddScalarRepresentation(ScalarRepMode);
 virtual void PrepareForRendering(vtkRenderView* view);

}


class vtkVideoRepresentation : public vtkRenderedRepresentation { public:

 virtual void PrepareForRendering(vtkRenderView* view);

}

</source>