mirror of
https://github.com/OpenFOAM/ThirdParty-6.git
synced 2025-12-08 06:57:43 +00:00
138 lines
4.2 KiB
C++
138 lines
4.2 KiB
C++
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: vtkPBGLGraphSQLReader.h
|
|
|
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
|
All rights reserved.
|
|
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notice for more information.
|
|
|
|
=========================================================================*/
|
|
/*----------------------------------------------------------------------------
|
|
Copyright (c) Sandia Corporation
|
|
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
|
|
----------------------------------------------------------------------------*/
|
|
// .NAME vtkPBGLGraphSQLReader - read a vtkGraph from a database
|
|
//
|
|
// .SECTION Description
|
|
//
|
|
// Creates a vtkGraph using two SQL tables. The edge table
|
|
// must have one row for each edge in the graph.
|
|
// The table must have two columns which represent the source and target
|
|
// vertex ids.
|
|
//
|
|
// The vertex table has one row for each vertex in the graph.
|
|
// The table must have a field whose values match those in the edge table.
|
|
//
|
|
// The source, target, and node ID fields must be of the same type.
|
|
//
|
|
// NOTE: This filter currently only produces the pedigree id field in
|
|
// the vertex attributes, and no edge attributes.
|
|
//
|
|
// @deprecated Not maintained as of VTK 6.2 and will be removed eventually.
|
|
|
|
#ifndef vtkPBGLGraphSQLReader_h
|
|
#define vtkPBGLGraphSQLReader_h
|
|
|
|
#include "vtkInfovisParallelModule.h" // For export macro
|
|
#include "vtkGraphAlgorithm.h"
|
|
|
|
class vtkSQLDatabase;
|
|
|
|
#if !defined(VTK_LEGACY_REMOVE)
|
|
class VTKINFOVISPARALLEL_EXPORT vtkPBGLGraphSQLReader : public vtkGraphAlgorithm
|
|
{
|
|
public:
|
|
static vtkPBGLGraphSQLReader* New();
|
|
vtkTypeMacro(vtkPBGLGraphSQLReader,vtkGraphAlgorithm);
|
|
void PrintSelf(ostream& os, vtkIndent indent);
|
|
|
|
// Description:
|
|
// When set, creates a directed graph, as opposed to an undirected graph.
|
|
vtkSetMacro(Directed, bool);
|
|
vtkGetMacro(Directed, bool);
|
|
vtkBooleanMacro(Directed, bool);
|
|
|
|
// Description:
|
|
// The database to connect to.
|
|
virtual void SetDatabase(vtkSQLDatabase* db);
|
|
vtkGetObjectMacro(Database, vtkSQLDatabase);
|
|
|
|
// Description:
|
|
// The name of the vertex table in the database.
|
|
vtkSetStringMacro(VertexTable);
|
|
vtkGetStringMacro(VertexTable);
|
|
|
|
// Description:
|
|
// The name of the edge table in the database.
|
|
vtkSetStringMacro(EdgeTable);
|
|
vtkGetStringMacro(EdgeTable);
|
|
|
|
// Description:
|
|
// The name of the field in the edge query for the source node of each edge.
|
|
vtkSetStringMacro(SourceField);
|
|
vtkGetStringMacro(SourceField);
|
|
|
|
// Description:
|
|
// The name of the field in the edge query for the target node of each edge.
|
|
vtkSetStringMacro(TargetField);
|
|
vtkGetStringMacro(TargetField);
|
|
|
|
// Description:
|
|
// The name of the field in the node query for the node ID.
|
|
vtkSetStringMacro(VertexIdField);
|
|
vtkGetStringMacro(VertexIdField);
|
|
|
|
// Description:
|
|
// Get the offset/limit for this process's vertices/edges
|
|
static void GetRange(int rank, int total,
|
|
vtkIdType size, vtkIdType& offset, vtkIdType& limit);
|
|
|
|
// Description:
|
|
// Set the distribution user data.
|
|
void SetDistributionUserData(int procs, vtkIdType verts)
|
|
{ this->DistributionUserData[0] = procs;
|
|
this->DistributionUserData[1] = verts; }
|
|
|
|
// Description:
|
|
// Get the user data (# procs, # vertices) used to determine
|
|
// the distribution.
|
|
vtkIdType* GetDistributionUserData()
|
|
{ return this->DistributionUserData; }
|
|
|
|
protected:
|
|
vtkPBGLGraphSQLReader();
|
|
~vtkPBGLGraphSQLReader();
|
|
|
|
bool Directed;
|
|
vtkSQLDatabase* Database;
|
|
char* VertexTable;
|
|
char* EdgeTable;
|
|
char* SourceField;
|
|
char* TargetField;
|
|
char* VertexIdField;
|
|
vtkIdType DistributionUserData[2];
|
|
|
|
virtual int RequestData(
|
|
vtkInformation*,
|
|
vtkInformationVector**,
|
|
vtkInformationVector*);
|
|
|
|
virtual int RequestDataObject(
|
|
vtkInformation*,
|
|
vtkInformationVector**,
|
|
vtkInformationVector*);
|
|
|
|
private:
|
|
vtkPBGLGraphSQLReader(const vtkPBGLGraphSQLReader&); // Not implemented
|
|
void operator=(const vtkPBGLGraphSQLReader&); // Not implemented
|
|
};
|
|
|
|
#endif //VTK_LEGACY_REMOVE
|
|
#endif
|
|
|