VTK/Geovis vision toolkit: Difference between revisions
From KitwarePublic
< VTK
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 91: | Line 91: | ||
</source> | </source> | ||
== Geovis == | |||
===Dealing with precision issues=== |
Revision as of 23:13, 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
- 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>