/*=========================================================================Program: Visualization ToolkitModule: vtkSQLGraphReader.hCopyright (c) Ken Martin, Will Schroeder, Bill LorensenAll rights reserved.See Copyright.txt or http://www.kitware.com/Copyright.htm for details.This software is distributed WITHOUT ANY WARRANTY; without eventhe implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULARPURPOSE. See the above copyright notice for more information.=========================================================================*//*-------------------------------------------------------------------------Copyright 2008 Sandia Corporation.Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,the U.S. Government retains certain rights in this software.-------------------------------------------------------------------------*//*** @class vtkSQLGraphReader* @brief read a vtkGraph from a database**** Creates a vtkGraph using one or two vtkSQLQuery's. The first (required)* query must have one row for each arc in the graph.* The query must have two columns which represent the source and target* node ids.** The second (optional) query has one row for each node in the graph.* The table must have a field whose values match those in the arc table.* If the node table is not given,* a node will be created for each unique source or target identifier* in the arc table.** The source, target, and node ID fields must be of the same type,* and must be either vtkStringArray or a subclass of vtkDataArray.** All columns in the queries, including the source, target, and node index* fields, are copied into the arc data and node data of the resulting* vtkGraph. If the node query is not given, the node data will contain* a single "id" column with the same type as the source/target id arrays.** If parallel arcs are collected, not all the arc data is not copied into* the output. Only the source and target id arrays will be transferred.* An additional vtkIdTypeArray column called "weight" is created which* contains the number of times each arc appeared in the input.** If the node query contains positional data, the user may specify the* names of these fields.* These arrays must be data arrays. The z-coordinate array is optional,* and if not given the z-coordinates are set to zero.*/#ifndef vtkSQLGraphReader_h#define vtkSQLGraphReader_h#include "vtkIOSQLModule.h" // For export macro#include "vtkGraphAlgorithm.h"class vtkSQLQuery;class VTKIOSQL_EXPORT vtkSQLGraphReader : public vtkGraphAlgorithm{public:static vtkSQLGraphReader* New();vtkTypeMacro(vtkSQLGraphReader,vtkGraphAlgorithm);void PrintSelf(ostream& os, vtkIndent indent);//@{/*** When set, creates a directed graph, as opposed to an undirected graph.*/vtkSetMacro(Directed, bool);vtkGetMacro(Directed, bool);vtkBooleanMacro(Directed, bool);//@}//@{/*** The query that retrieves the node information.*/virtual void SetVertexQuery(vtkSQLQuery* q);vtkGetObjectMacro(VertexQuery, vtkSQLQuery);//@}//@{/*** The query that retrieves the arc information.*/virtual void SetEdgeQuery(vtkSQLQuery* q);vtkGetObjectMacro(EdgeQuery, vtkSQLQuery);//@}//@{/*** The name of the field in the arc query for the source node of each arc.*/vtkSetStringMacro(SourceField);vtkGetStringMacro(SourceField);//@}//@{/*** The name of the field in the arc query for the target node of each arc.*/vtkSetStringMacro(TargetField);vtkGetStringMacro(TargetField);//@}//@{/*** The name of the field in the node query for the node ID.*/vtkSetStringMacro(VertexIdField);vtkGetStringMacro(VertexIdField);//@}//@{/*** The name of the field in the node query for the node's x coordinate.*/vtkSetStringMacro(XField);vtkGetStringMacro(XField);//@}//@{/*** The name of the field in the node query for the node's y coordinate.*/vtkSetStringMacro(YField);vtkGetStringMacro(YField);//@}//@{/*** The name of the field in the node query for the node's z coordinate.*/vtkSetStringMacro(ZField);vtkGetStringMacro(ZField);//@}//@{/*** When set, creates a graph with no parallel arcs.* Parallel arcs are combined into one arc.* No cell fields are passed to the output, except the vtkGhostType array if* it exists, but a new field "weight" is created that holds the number of* duplicates of that arc in the input.*/vtkSetMacro(CollapseEdges, bool);vtkGetMacro(CollapseEdges, bool);vtkBooleanMacro(CollapseEdges, bool);//@}protected:vtkSQLGraphReader();~vtkSQLGraphReader();bool Directed;bool CollapseEdges;vtkSQLQuery* EdgeQuery;vtkSQLQuery* VertexQuery;char* SourceField;char* TargetField;char* VertexIdField;char* XField;char* YField;char* ZField;virtual int RequestData(vtkInformation*,vtkInformationVector**,vtkInformationVector*);virtual int RequestDataObject(vtkInformation*,vtkInformationVector**,vtkInformationVector*);private:vtkSQLGraphReader(const vtkSQLGraphReader&) = delete;void operator=(const vtkSQLGraphReader&) = delete;};#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。