VTK/Geovis vision toolkit: Difference between revisions
No edit summary |
|||
Line 45: | Line 45: | ||
<source lang="cpp"> | <source lang="cpp"> | ||
// Interface for this class is not as clear as it should be. Basically it transforms all layers | |||
// associated with any given vtkVideoElementRepresentation and represents this transformation via | |||
// some geometry. | |||
class vtkVisStrategyRepresentation : public vtkRenderedRepresentation | class vtkVisStrategyRepresentation : public vtkRenderedRepresentation | ||
{ | { | ||
Line 61: | Line 65: | ||
void AddTrackRepresentation(vtkTrackRepresentation* tr); | void AddTrackRepresentation(vtkTrackRepresentation* tr); | ||
void AddVideoRepresentation(vtkVideoRepresentation* vr); | void AddVideoRepresentation(vtkVideoRepresentation* vr); | ||
void SetVisStrategyRepresentation(vtkVisStrategyRepresentation* vsr); | void SetVisStrategyRepresentation(vtkVisStrategyRepresentation* vsr); | ||
Line 76: | Line 79: | ||
{ | { | ||
public: | public: | ||
virtual void PrepareForRendering(vtkRenderView* view); | virtual void PrepareForRendering(vtkRenderView* view); | ||
} | } | ||
Line 87: | Line 87: | ||
{ | { | ||
public: | public: | ||
void SetScalarProperty(double value, double range[2]); | |||
// Can have 0 or many scalar representations. | |||
void AddScalarRepresentation(ScalarRepMode); | |||
virtual void PrepareForRendering(vtkRenderView* view); | virtual void PrepareForRendering(vtkRenderView* view); | ||
} | } |
Revision as of 17:26, 29 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">
// Interface for this class is not as clear as it should be. Basically it transforms all layers // associated with any given vtkVideoElementRepresentation and represents this transformation via // some geometry. 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 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:
virtual void PrepareForRendering(vtkRenderView* view);
}
class vtkVideoRepresentation : public vtkRenderedRepresentation
{
public:
void SetScalarProperty(double value, double range[2]);
// Can have 0 or many scalar representations. void AddScalarRepresentation(ScalarRepMode);
virtual void PrepareForRendering(vtkRenderView* view);
}
</source>
Geovis
- Dealing with precision issues