VTK/Geovis vision toolkit: Difference between revisions

From KitwarePublic
< VTK
Jump to navigationJump to search
No edit summary
No edit summary
Line 33: Line 33:
vtkTrackRepresentation -> vtkRenderedRepresentation
vtkTrackRepresentation -> vtkRenderedRepresentation
vtkVideoReprensentation -> vtkRenderedRepresentation
vtkVideoReprensentation -> vtkRenderedRepresentation
vtkVisStrategyRepresentation -> vtkRenderedRepresentation
}  
}  


</graphviz>
</graphviz>


vtkVideoElementRepresentation would contain all the information layers and make sure that they are in sink.  
* 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  
Also this is the representation thats responsible for consuming the data for  
each video.  
each video.
 
* vtkVisStrategyRepresentation


<source lang="cpp">
<source lang="cpp">
class vtkVisStrategyRepresentation : public vtkRenderedRepresentation
class vtkVisStrategyRepresentation : public vtkRenderedRepresentation
{
{
public:  
public:
   void  
 
  // Return transformation matrix that can be used to offset any other representation.
  vtkMatrix4x4 GetMatrix();
 
   virtual void PrepareForRendering(vtkRenderView* view);
};
};



Revision as of 22:30, 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); 
 
 // Update all the layers and call \c PrepareForRendering(....) on each. 
 virtual void PrepareForRendering(vtkRenderView* view);
 void SetUseWorldMatrix(vtkMatrix4x4 mat);

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>