21#ifndef __vtkMRMLStreamingVolumeNode_h
22#define __vtkMRMLStreamingVolumeNode_h
33#include "vtkStreamingVolumeCodec.h"
36#include <vtkImageData.h>
38#include <vtkUnsignedCharArray.h>
49 void PrintSelf(ostream& os, vtkIndent indent)
override;
59 void WriteXML(ostream& of,
int indent)
override;
67 {
return "StreamingVolume";}
103 vtkSetMacro(
Codec, vtkStreamingVolumeCodec*);
129 vtkSmartPointer<vtkStreamingVolumeCodec>
Codec;
131 vtkSmartPointer<vtkStreamingVolumeFrame>
Frame;
Abstract Superclass for all specific types of MRML nodes.
void operator=(const vtkMRMLStreamingVolumeNode &)
bool FrameDecodingInProgress
virtual bool DecodeFrame()
vtkStreamingVolumeCodec * GetCodec()
void AllocateImageForFrame(vtkImageData *imageData)
Allocates the vtkImageData so that the compressed image data can be decoded.
std::string GetCodecParameterString()
virtual bool EncodeImageData(bool forceKeyFrame=false)
vtkAlgorithmOutput * GetImageDataConnection() override
Return the input image data pipeline.
vtkMRMLStreamingVolumeNode(const vtkMRMLStreamingVolumeNode &)
vtkStreamingVolumeFrame * GetFrame()
Returns a pointer to the current frame.
virtual bool IsKeyFrame()
void SetCodecParameterString(std::string parameterString)
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
vtkSmartPointer< vtkStreamingVolumeCodec > Codec
~vtkMRMLStreamingVolumeNode() override
vtkMRMLNode * CreateNodeInstance() override
MRMLNode methods.
static vtkMRMLStreamingVolumeNode * New()
void SetAndObserveFrame(vtkStreamingVolumeFrame *frame)
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
static void FrameModifiedCallback(vtkObject *caller, unsigned long eid, void *clientData, void *callData)
vtkMRMLStreamingVolumeNode()
void PrintSelf(ostream &os, vtkIndent indent) override
vtkSmartPointer< vtkStreamingVolumeFrame > Frame
void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData) override
alternative method to propagate events generated in Display nodes
void ReadXMLAttributes(const char **atts) override
Set node attributes.
void SetAndObserveImageData(vtkImageData *imageData) override
vtkImageData * GetImageData() override
vtkMRMLCopyContentMacro(vtkMRMLStreamingVolumeNode)
bool HasExternalImageObserver()
Returns true if the number of observers on the ImageData or ImageDataConnection is greater than the d...
vtkSmartPointer< vtkCallbackCommand > FrameModifiedCallbackCommand
vtkMRMLVectorVolumeNode()