[Paraview] Adding a Reader
Dave Semeraro
semeraro at ncsa.uiuc.edu
Wed Nov 2 16:48:58 EST 2005
Hello,
I am trying to add a new reader to paraview. I am using paraview version
2.2.1 on a
Fedora Core 2.0 linux distro. Paraview builds fine. I am following the
instructions in
the paraview guide version 1.8 and the instructions in the PVLocal
directory. I was
able to compile the "local cone source" example. When I import the package into
paraview it works fine.
As a first step, I wrote a new reader and tested it in VTK. The new reader
builds a structured points dataset. I then copied the new reader .h and
.cxx file into the
PVLocal directory and made the recommended changes in the Cmake and xml
files. I also included the required config files in my .cxx file. I am able
to compile the
new reader and create a shared library but the shared library has an undefined
symbol corresponding to my reader. Paraview does not like that. When I
try to import the package I get an error. I have included the header file
for my
reader and the two xml files with this message. If anyone sees what I am doing
wrong a hint would be greatly appreciated.
Regards,
Dave
-------------- next part --------------
/*
vtkVOLBReader class
Dave Semeraro
October 2005
NCSA
*/
// .NAME vtkVOLBReader - binary image file reader for VOLB datasets
// .SECTION Description
// vtkVOLBReader is a vtkImageReader that reads SDSC MeshViewer
// input datasets. VOLB data are basically stacks of images in a
// single 3d file. The header consists of 17 Bytes. The first
// five bytes are: "VOLB\n" This is followed by the data dimensions
// in three 4 byte integers. This is followed by the voxel data
// that consists of 4 byte RGBA values per voxel.
//
// .SECTION See Also
// vtkJPEGReader vtkPNGReader vtkImageReader2 vtkGESignaReader
#ifndef __vtkVOLBReader_h
#define __vtkVOLBReader_h
#include "vtkPVLocalConfigure.h"
#include "vtkStructuredPointsSource.h"
#include <cstring>
#include <fstream>
using std::ifstream;
class VTK_PVLocal_EXPORT vtkVOLBReader : public vtkStructuredPointsSource
{
public:
vtkTypeRevisionMacro(vtkVOLBReader,vtkStructuredPointsSource);
static vtkVOLBReader *New();
virtual void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Specify file name of file
vtkSetStringMacro(FileName);
vtkGetStringMacro(FileName);
// Description:
// Test whether the file with the given name can be read
// by this reader.
virtual int CanReadFile(const char* name);
// Description:
// Set the byte order of the file. This function sets the
// expected byte order of the input file. Files written on
// PC platforms write little endian where most Unix workstations
// write big endian.
void SetByteOrderToBigEndian();
void SetByteOrderToLittleEndian();
vtkSetMacro(ByteOrder, int);
vtkGetMacro(ByteOrder, int);
const char *GetByteOrderAsString();
//BTX
enum
{
FILE_BIG_ENDIAN=0,
FILE_LITTLE_ENDIAN=1
};
//ETX
protected:
vtkVOLBReader();
~vtkVOLBReader();
void ExecuteInformation();
void Execute();
char* FileName;
unsigned char *data; // a pointer to an array managed by constructor
int ByteOrder;
private:
vtkVOLBReader(const vtkVOLBReader&); // not implemented.
void operator=(const vtkVOLBReader&); // not implemented.
};
#endif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PVLocal.xml
Type: application/xml
Size: 614 bytes
Desc: not available
Url : http://public.kitware.com/pipermail/paraview/attachments/20051102/a62094d4/PVLocal.xml
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PVLocal.pvsm
Type: application/octet-stream
Size: 352 bytes
Desc: not available
Url : http://public.kitware.com/pipermail/paraview/attachments/20051102/a62094d4/PVLocal.obj
More information about the ParaView
mailing list